SQLite andmebaasi versioon 3.42 ja DuckDB 0.8.0. CG/SQL koos SQLite hulgiprotseduuride rakendamisega.

Avaldatud on SQLite 3.42, kergekaaluline andmebaasitarkvara, mis on kujundatud kui ĂŒhendatav teek. SQLite kood on jagatud avaliku omandi (public domain) alusel, st seda saab kasutada piiranguteta ja tasuta igasugustel eesmĂ€rkidel. SQLite arendajate rahastamist toetab spetsiaalselt loodud konsortsium, kuhu kuuluvad sellised ettevĂ”tted nagu Adobe, Oracle, Mozilla, Bentley ja Bloomberg.

Peamised muudatused:

  • FTS5 tĂ€isteksti indeksite jaoks on rakendatud kĂ€sk secure-delete, mis teostab tĂ€ieliku puhastamise pĂ€rast kustutamist jÀÀnud andmetest.
  • JSON formaadi andmete töötlemise funktsioonides on rakendatud JSON5 laienduste tugi.
  • KĂŒsimuste ajakava on parendatud. Vaikimisi on sisse lĂŒlitatud optimeerimine "count-of-view". AlampĂ€ringutes on vĂ€listatud kasutamata veergude töötlemine. Push-down optimeerimise rakendust on parendatud.
  • KĂ€skude rea liidesesse on lisatud valik "—unsafe-testing", mis vĂ”imaldab kasutada mĂ”ningaid ohtlikke kĂ€ske, nagu " .testctrl", mida kasutatakse testimise kĂ€igus. TurvareĆŸiimis ("—safe") on lubatud kĂ€sud " .log on" ja " .log off". Lisatud on eraldaja "—", mille jĂ€rel keelatakse argumentide valiku töötlemine. Lisatud on parameetrid ":inf" ja ":nan", mis on seotud vÀÀrtustega lĂ”pmatus ja NaN.
  • Rakenduse poolsetes SQL-funktsioonide nimedes on lubatud ristumine vĂ”tmesĂ”nadega CROSS, FULL, INNER, LEFT, NATURAL, OUTER ja RIGHT.
  • PRAGMA integrity_check'i funktsionaalsust on laiendatud. Lisatud on kontroll, et veergudes, millel on tingimus NOT NULL, vĂ”ib esineda NaN vÀÀrtus. Veateadete informatiivsust on parendatud.
  • Sessioni lisandis on lubatud tabellide ROWID muutuste interceptimine.
  • Aja ja kuupĂ€eva töötlemise funktsioonidesse on lisatud modifikaator "subsec" sekundiosade kasutamiseks.
  • JSON-massiivide ja objektide rekursioonide sĂŒgavus on vaikimisi vĂ€hendatud 2000-lt 1000-le.

Lisaks on vĂ€lja antud DuckDB 0.8.0, mis on arendatud SQLite'i versioon, millel on laienenud vĂ”imalused ja optimeerimised analĂŒĂŒtiliste pĂ€ringute tĂ€itmiseks, katab mĂ€rkimisvÀÀrse osa salvestatud andmetest, nĂ€iteks tuvastades kogu tabelite sisu agregatsiooni vĂ”i ĂŒhendades mitu suurt tabelit. Pakutakse laiendatud SQL keele dialekti, mis sisaldab tĂ€iendavaid vĂ”imalusi vĂ€ga keerukate ja pikaajaliste pĂ€ringute töötlemiseks, toetab keerulisi tĂŒĂŒpe (massive, struktuurid, ĂŒhendused), vĂ”imaldab mitme pĂ€ringu samaaegset tĂ€itmist ja pĂ€ringute tĂ€itmist otse CSV, JSON ja Parquet formaadisfailidest. Toetatakse andmete importimist PostgreSQL andmebaasidest.

Lisaks SQLite kestakoodile kasutab projekt eraldi teeki eraldatud PostgreSQL-i parserit, MonetDB Date Math komponenti, enda rakendust aknafunktsioonide jaoks (Segment Tree Aggregation algoritmi pĂ”hjal), RE2 teegi pĂ”hjal pĂ”hinevat regulaaravaldiste töötlejat, enda pĂ€ringute optimeerijat, MVCC-mehhanismi samaaegse töö juhtimiseks (Multi-Version Concurrency Control) ning vektoreeritud pĂ€ringute tĂ€itmise mootori Hyper-Pipelining Query Execution algoritmi pĂ”hjal, vĂ”imaldades ĂŒhe operatsiooni kĂ€igus töödelda suuri vÀÀrtuste kogumeid. Projekti kood on litsentseeritud MIT litsentsi alusel.

Uues DuckDB versioonis:

  • Lisatud uued vĂ€ljendid „PIVOT“ ja „UNPIVOT“ ridade muutmiseks veergudeks ja vastupidi.
  • Parandatud on paralleelsust andmete importimisel ja eksportimisel. Vaikimisi rakendatakse CSV-formaatidest failide lugemist mitmes keerus ja mitme keerulise kirjutamise korral Parquet, CSV ja JSON formaatide kasutamisel.
  • Lisatud operaator „**“ failiteede mÀÀramisel kataloogide rekursiivseks lĂ€bimiseks (nĂ€iteks, FROM „‘data/glob/crawl/stackoverflow/**/*.csv’;“).
  • Lisatud tugi ĂŒhendamise (JOIN) operatsioonidele ajarealise andmete puhul (parameetrite vÀÀrtuste lĂ”iked mÀÀratud aja jooksul), kus ĂŒhendamise kriteeriumiks on mitte tĂ€pne, vaid umbkaudne vaste aja valikuvĂ€ljas (nĂ€iteks saab ĂŒhendada kirjeid, mille ajavahemik erineb mitte rohkem kui 1 minut).
  • Teostati andmebaasi metaandmete viivitatud laadimine, mis kiirendas DBMS-i kĂ€ivitamist kĂŒmneid kordi.
  • Lisatud tugi kasutajafunktsioonide ĂŒhendamiseks Pythonis.
  • Lisatud tugi ADBC (Arrow Database Connectivity) API-le andmete edastamiseks Apache Arrow'i abil.
  • Tehtud sidumine Swift keele koodiga integreerimiseks.
  • Muudetud jagamisoperaatori („/”) kĂ€itumist, mis nĂŒĂŒd vaikimisi teostab arvutusi ujuva koma formaatides, mitte tĂ€isarvude operatsioonides. TĂ€isarvude jagamiseks on soovitatud uus operaator „//”. Vana kĂ€itumist saab tagastada seadistusega „SET integer_division=true;”.
  • Null vÀÀrtuste sorteerimise meetod on muudetud, nii et nĂŒĂŒd kuvatakse NULL-vÀÀrtused nimekirja lĂ”pus, mitte alguses. Vanale kĂ€itumisele saab tagasi minna seades "SET default_null_order='nulls_first';".

Lisaks vÔib mÀrkida Facebooki arendatavat projekti CG/SQL, mis pakub koodi generaatorit salvestatud protseduuride kasutamiseks SQLite'iga. CG/SQL vÔimaldab luua salvestatud protseduure spetsiaalses T-SQL (Transact-SQL) dialektis, mis vÔimaldab kasutada C standardteeki funktsioone ja pÀÀseda SQLite andmetele. Loomise jÀrel kompileeritud salvestatud protseduurid genereeritakse C keeles, kasutades SQLite C API-d mÀÀratud toimingute tÀitmiseks ja keerukate pÀringute töötlemiseks. Kompileeritud salvestatud protseduurid saavad liituda C, Java ja Objective-C programmidega. Projekti kood on kirjutatud C keeles ja jagatakse MIT-licentsi alusel.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster