Gefa út DBMS SQLite 3.42 og DuckDB 0.8.0. CG/SQL með útfærslu á geymdum ferlum fyrir SQLite

Útgáfa af SQLite 3.42, léttu DBMS hannað sem viðbótasafn, hefur verið gefin út. SQLite kóðanum er dreift í almenningseign, þ.e. hægt að nota án takmarkana og ókeypis í hvaða tilgangi sem er. Fjárhagslegur stuðningur við SQLite forritara er veittur af sérstaklega stofnuðu hópi, sem inniheldur fyrirtæki eins og Adobe, Oracle, Mozilla, Bentley og Bloomberg.

Helstu breytingar:

  • Fyrir FTS5 heildartextavísitölur hefur örugg-eyða skipunin verið innleidd, sem hreinsar algjörlega öll gögn sem eftir eru eftir eyðingu.
  • Aðgerðir til að vinna úr JSON gögnum styðja nú JSON5 viðbætur.
  • Bættur fyrirspurnaskipuleggjandi. Sjálfgefið er að fínstilling á fjölda áhorfa er virkjuð. Vinnsla á ónotuðum dálkum í undirfyrirspurnum er eytt. Bætt útfærsla á hagræðingu niðurhals.
  • Bætti „--unsafe-testing“ valmöguleikanum við skipanalínuviðmótið, sem leyfir notkun sumra hættulegra skipana, eins og „.testctrl“, ætlaðar til notkunar í prófun. Í öruggri stillingu („-safe“) er notkun „.log on“ og „.log off“ skipanirnar leyfðar. Bætti við stuðningi við „—“ afmörkunarmerkið, fyrir rök þar sem valkostavinnsla er óvirk. Bætt við ":inf" og ":nan" færibreytum sem tengjast óendanleika- og NaN-gildunum.
  • Nöfn á forritsskilgreindum SQL aðgerðum leyfa skurðpunkti með CROSS, FULL, INNER, LEFT, NATURAL, OUTER og RIGHT leitarorðin.
  • Geta PRAGMA integrity_check hefur verið aukin. Bætt við athugun til að tilgreina NaN gildi í dálkum með EKKI NULL ástandinu. Bætt upplýsingainnihald villuboða.
  • Setuviðbótin gerir kleift að stöðva breytingar úr töflum án ROWID.
  • „subsec“ breytinum hefur verið bætt við aðgerðir til að vinna með tíma og dagsetningar til að nota sekúndubrot.
  • Sjálfgefin endurtekningardýpt fyrir fylki og JSON hluti hefur verið minnkað úr 2000 í 1000.

Að auki hefur verið búið til útgáfu DuckDB 0.8.0 DBMS, sem þróar útgáfu af SQLite, stækkað með getu og hagræðingu til að framkvæma greiningarfyrirspurnir sem ná yfir verulegan hluta geymdra gagna, til dæmis að framkvæma samsöfnun á öllu innihaldinu af borðum eða sameina nokkur stór borð. Veitir háþróaða SQL mállýsku sem inniheldur viðbótarmöguleika til að vinna úr mjög flóknum og tímafrekum fyrirspurnum og styður einnig flóknar tegundir (fylki, mannvirki, stéttarfélög), keyrir margar fyrirspurnir samtímis og keyrir fyrirspurnir beint úr CSV, JSON og Parket skrám. . Það er hægt að flytja inn frá PostgreSQL DBMS.

Auk skeljakóðans frá SQLite notar verkefnið þáttara frá PostgreSQL í sérstöku bókasafni, Date Math íhlutinn frá MonetDB, eigin útfærslu gluggaaðgerða (byggt á Segment Tree Aggregation algorithm), venjulegri tjáningarvinnslu sem byggir á RE2 bókasafnið, eigin fyrirspurnarfínstillingu og MVCC stýrikerfi samtímis framkvæmd verkefna (Multi-Version Concurrency Control), auk vektoraðrar fyrirspurnaframkvæmdarvélar sem byggir á Hyper-Pipelining Query Execution algrím, sem leyfir stór sett af gildum að vinna í einu í einni aðgerð. Verkefniskóðanum er dreift undir MIT leyfinu.

Í nýju útgáfunni af DuckDB:

  • Bætti við nýjum tjáningum „PIVOT“ og „UNPIVOT“ til að umbreyta línum í dálka og öfugt.
  • Bætt samhliða tenging við inn- og útflutning gagna. Sjálfgefið er að margþráður lestur úr CSV skrám og fjölþráður ritun er innleiddur þegar Parket, CSV og JSON snið eru notuð.
  • Bætti við "**" rekstraraðila til að endurtaka í gegnum möppur við ákvörðun skráarslóða (til dæmis FRÁ "'data/glob/crawl/stackoverflow/**/*.csv';").
  • Bætt við stuðningi við samrunaaðgerðir (JOIN) fyrir gögn í formi tímaraðar (sneiðar af færibreytugildum á tilteknu millibili), þar sem viðmiðunin fyrir sameiningu gagna er ekki nákvæm, heldur áætlað samsvörun gilda í reit með tíma (til dæmis er hægt að sameina færslur, tíma sem munar ekki meira en 1 mínútu).
  • Innleiddi lata hleðslu á lýsigögnum gagnagrunns, sem gerði það mögulegt að flýta fyrir ræsingu DBMS um tugi sinnum.
  • Bætti við stuðningi við að tengja sérsniðnar aðgerðir í Python.
  • Bætti við stuðningi við ADBC ​​(Arrow Database Connectivity) API til að flytja gögn með Apache Arrow.
  • Binding hefur verið innleidd fyrir samþættingu við Swift kóða.
  • Breytti hegðun deildarstjórnandans ("/") til að framkvæma útreikninga með fljótandi punkti í stað heiltöluaðgerða sjálfgefið. Lagt er til nýjan rekstraraðila „//“ fyrir heiltöluskiptingu. Hægt er að skila gömlu hegðuninni með því að stilla „SET integer_division=true;“.
  • Aðferð við að taka tillit til núllskráninga við flokkun hefur verið breytt úr „NULL FIRST“ í „NULLS LAST“, þ.e. NULL gildi verða nú prentuð í lokin frekar en upphaf listans. Hægt er að skila gömlu hegðuninni með því að stilla "SET default_null_order='nulls_first';".

Að auki getum við tekið eftir CG/SQL verkefninu þróað af Facebook, sem býður upp á kóðarafall til að nota geymdar aðferðir með SQLite. CG/SQL gerir þér kleift að skrifa geymdar verklagsreglur á sérstakri mállýsku T-SQL (Transact-SQL), sem gerir kleift að hringja í aðgerðir staðlaða C bókasafnsins og fá aðgang að gögnum í SQLite. Búðu til geymdar verklagsreglur eru settar saman í C kóða sem notar SQLite C API til að framkvæma tilteknar aðgerðir og vinna úr flóknum fyrirspurnum. Hægt er að tengja saman geymdar aðferðir við C, Java og Objective-C forrit. Verkefniskóðinn er skrifaður í C ​​og er dreift undir MIT leyfinu.

Heimild: opennet.ru

Bæta við athugasemd