SQLite 3.42 ja DuckDB 0.8.0 CG/SQL vÀljalase, koos salvestatud protseduuride rakendamisega SQLite jaoks.

SQLite 3.42 vÀljaanne on avaldatud, kergekaaluline andmebaasi haldustarkvara, mis on esitatud plugina. SQLite kood on avalik domeen, st seda vÔib kasutada piiranguteta ja tasuta igasugustel eesmÀrkidel. SQLite arendajate rahastamist teostab 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 kĂ”igi kustutatud andmete tĂ€ieliku puhastamise.
  • JSON-vormingu andmete töötlemise funktsioonides on rakendatud JSON5 laiendite tugi.
  • KĂŒsimuste planeerijat on tĂ€iustatud. Vaikimisi on sisse lĂŒlitatud optimeerimine „count-of-view”. Alusvalikutesse mittekasutatavate veergude töötlemine on vĂ€listatud. Push-down optimeerimise teostust on parendatud.
  • KĂ€skude rea liidesesse on lisatud valik „--unsafe-testing”, mis vĂ”imaldab kasutada teatud ohtlikke kĂ€ske, nagu „.testctrl”, mis on mĂ”eldud katsetamiseks. TurvareĆŸiimis („--safe”) on lubatud kasutada kĂ€ske „.log on” ja „.log off”. Lisatud on eraldaja „--“, mille jĂ€rel keelatakse valikute töötlemine. Lisatud on parameetrid „:inf” ja „:nan”, mis on seotud vÀÀrtustega lĂ”pmatus ja NaN.
  • Rakendusepoolsetel SQL-funktsioonide nimedes on lubatud ristumine vĂ”tmesĂ”nadega CROSS, FULL, INNER, LEFT, NATURAL, OUTER ja RIGHT.
  • PRAGMA integrity_check funktsionaalsust on laiendatud. Lisatud on NaN vÀÀrtuse mÀÀramise kontroll tulpades, mille tingimus on NOT NULL. Vigade teate informatiivsust on parandatud.
  • Sessionis on lubatud tabelitest ilma ROWID muutuste haaramine.
  • Aja ja kuupĂ€evade töötlemise funktsioonis on lisatud modifikaator „subsec” sekundite murdosade kasutamiseks.
  • JSON-massiivide ja objektide rekursside sĂŒgavus on vaikimisi vĂ€hendatud 2000-lt 1000-le.

Lisaks sellele on vĂ€lja antud DuckDB 0.8.0, mis arendab SQLite varianti, tĂ€iustatud vĂ”imalustega ja optimeerimisega analĂŒĂŒsipĂ€ringute tĂ€itmiseks, katab olulise osa salvestatud andmetest, nĂ€iteks kogu tabelite sisu agregatsiooni vĂ”i mitme suure tabeli ĂŒhendamise. Pakutakse laiendatud SQL keele dialekti, mis sisaldab tĂ€iendavaid vĂ”imalusi vĂ€ga keerukate ja pikalt kestvate pĂ€ringute töötlemiseks, samuti keerukate tĂŒĂŒpide (massivid, struktuurid, liidud) toetamine, mitme pĂ€ringu samaaegne tĂ€itmine ja pĂ€ringute otsefailidest, nagu CSV, JSON ja Parquet, tĂ€itmine. On olemas vĂ”imalus importida PostgreSQL andmebaasist.

Lisaks SQLite-koodile kasutab projekt PostgreSQL-st eraldi teeki, Date Math komponenti MonetDB-st, enda aknafunktsioonide rakendust (Segment Tree Aggregation algoritmi pĂ”hjal), regulaaravaldiste töötlejat RE2 teegi pĂ”hjal, enda pĂ€ringute optimeerijat, MVCC-mehhanismi (Multi-Version Concurrency Control), samuti vektoriseeritud pĂ€ringute tĂ€itmise mootori, mis pĂ”hineb Hyper-Pipelining Query Execution algoritmil, mis vĂ”imaldab ĂŒhes operatsioonis töötlema suuri vÀÀrtuste komplekte. Projekti kood on jaotatud MIT litsentsi alusel.

Uues DuckDB versioonis:

  • On lisatud uued vĂ€ljendid „PIVOT” ja „UNPIVOT” ridade transformeerimiseks veergudeks ja vastupidi.
  • Andmete importimise ja eksportimise ajal on paranenud paralleelsus. Vaikimisi on rakendatud mitme lĂ”imega lugemine CSV-failidest ja mitme lĂ”imega kirjutamine Parquet, CSV ja JSON vormingutes.
  • On lisatud operaator „**”, mis vĂ”imaldab rekurssiivselt navigeerida kataloogides, mÀÀrates failiteed (nĂ€iteks, FROM 'data/glob/crawl/stackoverflow/**/*.csv';).
  • On lisatud toetamine ĂŒhendamise (JOIN) operatsioonide jaoks ajasarja kujul andmete puhul (vÀÀrtuste lĂ”igud mÀÀratud ajavahemike kaudu), kus rekordite ĂŒhendamise kriteeriumiks on mitte tĂ€pne, vaid ligikaudne ajavĂ€li (nĂ€iteks saab ĂŒhendada kirjeid, mille aeg erineb mitte rohkem kui 1 minut).
  • On ellu viidud andmebaasi metaandmete viivitatud laadimine, mis on aidanud andmebaasi kĂ€ivitamist kĂŒmneid kordi kiirendada.
  • Lisa toetust kasutaja mÀÀratud funktsioonide ĂŒhendamiseks Pythonis.
  • Lisa ADBC (Arrow Database Connectivity) API toe andmeedastuseks Apache Arrowi kaudu.
  • Rakendatud on sidumine Swift keele koodiga integreerimiseks.
  • Jagamisoperaatori („/“) kĂ€itumine on muudetud nii, et see tĂ€idab nĂŒĂŒd vaikimisi ujuva komaga arvutusi, mitte tĂ€isarvulisi operatsioone. TĂ€isarvulise jagamise jaoks on pakutud uus operaator „//“. Vana kĂ€itumise saab tagasi tuua seadmisega „SET integer_division=true;“.
  • Nullkirjete arvestamise meetod sortimise ajal on muudetud „NULLS FIRST“ pealt „NULLS LAST“ peale, st NULL vÀÀrtused kuvatakse nĂŒĂŒd loendi lĂ”pus, mitte alguses. Vana kĂ€itumise saab tagasi tuua seadmisega „SET default_null_order='nulls_first';“.

Lisaks on vĂ”imalik mĂ€rkida Facebooki arendatavat projekti CG/SQL, mis pakub koodigeneraatorit salvestatud protseduuride kasutamiseks SQLite'is. CG/SQL vĂ”imaldab vormistada salvestatud protseduure spetsiaalses T-SQL (Transact-SQL) dialektis, mis vĂ”imaldab kutsuda esile standardse C-raamatukogu funktsioone ja suhelda andmetega SQLite'is. Loodud salvestatud protseduurid kompileeritakse C keeles koodi, mis kasutab SQLite C API-d, et tĂ€ita mÀÀratud toiminguid ja töödelda keerulisi pĂ€ringuid. Kompileeritud salvestatud protseduurid saavad ĂŒhenduda C, Java ja Objective-C keeles programmeeritud rakendustega. Projekti kood on kirjutatud C keeles ja levitatakse MIT litsentsi alusel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster