DuckDB 0.10.0, SQLite varianto, skirto analitinėms užklausoms, išleidimas

Pristatomas DuckDB 0.10.0 DBVS leidimas, apjungiantis tokias SQLite savybes kaip kompaktiškumas, galimybė prisijungti įterptosios bibliotekos pavidalu, duomenų bazės saugojimas viename faile ir patogi CLI sąsaja, su įrankiais ir vykdymo optimizavimais. analitinės užklausos, apimančios didelę dalį saugomų duomenų, pavyzdžiui, sujungiančios visą lentelių turinį arba sujungiančios kelias dideles lenteles. Projekto kodas platinamas pagal MIT licenciją. Kūrimas vis dar yra eksperimentinių leidimų formavimo stadijoje, nes saugojimo formatas dar nebuvo stabilizuotas ir keičiasi nuo versijos iki versijos.

DuckDB suteikia pažangų SQL dialektą, kuriame yra papildomų galimybių tvarkyti labai sudėtingas ir daug laiko reikalaujančias užklausas. Palaikomas sudėtingų tipų (masyvų, struktūrų, sąjungų) naudojimas ir galimybė vykdyti savavališkas ir įdėtas koreliuojančias antrines užklausas. Tai palaiko kelių užklausų vykdymą vienu metu, užklausų vykdymą tiesiai iš CSV ir Parquet failų. Galima importuoti iš PostgreSQL DBVS.

Be apvalkalo kodo iš SQLite, projektas naudoja analizatorių iš PostgreSQL atskiroje bibliotekoje, Date Math komponentą iš MonetDB, savo lango funkcijų įgyvendinimą (pagal Segment Tree Aggregation algoritmą), reguliariosios išraiškos procesorių, pagrįstą RE2 biblioteka, užklausų optimizavimo priemonė ir MVCC valdymo mechanizmas, leidžiantis vienu metu vykdyti užduotis (kelių versijų lygiagretumo valdymas), taip pat vektorizuotas užklausų vykdymo variklis, pagrįstas „Hyper-Pipelining Query Execution“ algoritmu, leidžiančiu didelius reikšmių rinkinius. apdoroti iš karto per vieną operaciją.

Tarp naujojo leidimo pakeitimų:

  • Duomenų analizės CSV formatu našumas buvo žymiai patobulintas. Pavyzdžiui, CSV failo su 11 milijonų eilučių skaitymas naujojoje versijoje sutrumpėjo nuo 2.6 sekundės. iki 1.15 sekundės ir atlikti operaciją „SELECT COUNT(*)“ CSV failo viršuje nuo 1.8 sekundės. iki 0.3 sek.
  • Pridėtas fiksuoto dydžio masyvų palaikymas, kurie primena sąrašus, kuriuose yra fiksuotas elementų skaičius („CREATE TABLE vectors(v DOUBLE[3]);“).
  • Pridėtas prisijungimo prie MySQL, PostgreSQL ir SQLite DBVS palaikymas, leidžiantis įkelti duomenis iš išorinių DBVS į DuckDB ir perkelti juos tarp skirtingų sistemų. Išorinės duomenų bazės pasiekiamos naudojant standartines lenteles. PRIDĖTI 'postgres:dbname=postgresscanner' AS postgres; PASIRINKITE pavadinimą, išleidimo_metus, ilgį FROM postgres.film LIMIT 5;
  • Pridėta išraiškos „COMMENT ON“ palaikymas, skirtas išsaugoti komentarą apie objektą duomenų bazėje.
  • Pridėtas išraiškos „KOPIJUI IŠ DUOMENŲ BAZĖS“ palaikymas, skirtas viso turinio kopijavimui iš vienos duomenų bazės į kitą.
  • Pridėtas modifikatoriaus „ALL“ palaikymas EXCEPT ir INTERSECT išraiškose.
  • Įdiegtas tipas »

    Šaltinis: opennet.ru

Добавить комментарий