SQLite 3.45 versiooni väljalase

Ilmus SQLite 3.45 versioon, kergekaaluline andmebaasi juhtimise süsteem, millel on dünaamilise teegi vorming. SQLite allika kood on avalik domeen (public domain), st seda saab kasutada piiranguteta ja tasuta mistahes eesmärkidel. SQLite arendajate rahalist toetust pakub spetsiaalselt loodud konsortsium, kuhu kuuluvad sellised ettevõtted nagu Bentley, Bloomberg, Expensify ja Navigation Data Standard.

Peamised muudatused:

  • Kõik SQL-funktsioonid, mis töötavad JSON-formaadiga, on ümber kirjutatud ja viidud uude sisemisse JSONB puu struktuuri, mis seriaalitakse ja saab salvestada andmebaasis, et vältida JSON väärtuste uuesti parsimist. Uued versioonid JSON-i genereerivatele funktsioonidele genereerivad nüüd binaarset JSONB vormingut tekstilise asemel. Funktsioonile json_valid() on lisatud valikuline teine argument, mille kaudu saab määrata bitimaski, mis määratleb kehtiva JSON-i omadusi (näiteks, kui määrata 0x04, tunnustatakse JSONB blobi, kui määrata 0x01, siis tunnustatakse tekstilist JSON-i RFC-8259 formaadis, ja kui määrata 0x05, siis mõlemad variandid).
  • FTS5 virtuaaltabelisse, mida kasutatakse täisteksti otsimiseks, on lisatud valik tokendata, mis võimaldab kasutada kohandatud tokeniseerijaid.
  • Vaikimisi on sisse lülitatud SQLITE_DIRECT_OVERFLOW_READ optimiseerimine, mille korral overfl ow-leheküljed, mille suurus ületab b-puu standardlehekülje suurust, loetakse otse failist, jättes vahemälu vahele. Selle keelamiseks kogumisel saab kasutada valikut „-DSQLITE_DIRECT_OVERFLOW_READ=0.“
  • Küsimuste planeerijas on parandatud transitiivsete piirangute (transitive constraint) optimeerimise efektiivsust ning paranenud on madala kvaliteediga indeksite ignoreerimine ANALYZE operatsiooni ajal.
  • Käskluste seadme liidese kasutajaliidese täiendatud kuvamine UTF-8 kodeeringus Windowsi platvormil. Tagatud on CLI liidese automaatne tuvastamine „.dump“ skriptide taasesitamisel ning vastavad muudatused seadetes, nagu „.dbconfig defensive off“ ja „.dbconfig dqs_dll on”.
  • Rakenduste poolsetes SQL-funktsioonides on lisatud atribuut SQLITE_RESULT_SUBTYPE, mis võimaldab funktsioonist sqlite3_result_subtype() hinnata argumentide alamtüüpe.

Lisaks on märkimisväärne, et eksperimentaalsetes SQLite kogudes on välja arendatud uus tehingute logimise režiim — WAL2 („PRAGMA journal_mode = wal2“), mille korral kasutatakse kahte wal-faili („database-wal“ ja „database-wal2“) ühe asemel. Andmete kirjutamisel andmebaasi lisatakse uued andmed esimesse wal-faili. Kui esimene wal-fail saavutab piisavalt suure suuruse, vahetatakse kirjutamine teise faili. Pärast üleminekut teisele wal-failile muutub esimene kergesti kätte saada muudatuste fikseerimiseks (checkpoint) ja kirjutamiseks üle. Seetõttu, kui teine wal-fail saavutab suure suuruse, vahetatakse uuesti esimese ja nii edasi, mis lahendab probleemi wal-faili kontrollimatu suurenemisega olukordades, kus tehingut kaua ei fikseerita või kus tehakse pikki lugemisprotsesse.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster