Vydanie DuckDB 0.10.0, variant SQLite pre analytické dotazy

Predstavuje sa vydanie DuckDB 0.10.0 DBMS, ktoré kombinuje také vlastnosti SQLite, ako je kompaktnosť, možnosť pripojenia vo forme vstavanej knižnice, ukladanie databázy do jedného súboru a pohodlné rozhranie CLI s nástrojmi a optimalizáciami na vykonávanie analytické dotazy pokrývajúce významnú časť uložených údajov, napríklad agregujú celý obsah tabuliek alebo spájajú niekoľko veľkých tabuliek. Kód projektu je distribuovaný pod licenciou MIT. Vývoj je stále v štádiu formovania experimentálnych vydaní, keďže formát úložiska ešte nie je stabilizovaný a mení sa z verzie na verziu.

DuckDB poskytuje pokročilý SQL dialekt, ktorý obsahuje ďalšie možnosti na spracovanie veľmi zložitých a časovo náročných dopytov. Podporuje sa použitie komplexných typov (polia, štruktúry, zväzky) a schopnosť vykonávať ľubovoľné a vnorené korelujúce poddotazy. Podporuje spustenie viacerých dotazov súčasne, spúšťanie dotazov priamo zo súborov CSV a Parquet. Je možné importovať z PostgreSQL DBMS.

Okrem shell kódu z SQLite projekt využíva parser z PostgreSQL v samostatnej knižnici, komponent Date Math z MonetDB, vlastnú implementáciu funkcií okna (založený na algoritme Segment Tree Aggregation), procesor regulárnych výrazov založený na knižnica RE2, vlastný optimalizátor dotazov a riadiaci mechanizmus MVCC simultánne vykonávanie úloh (Multi-Version Concurrency Control), ako aj vektorizovaný nástroj na vykonávanie dotazov založený na algoritme Hyper-Pipelining Query Execution, ktorý umožňuje veľké množiny hodnôt spracovať naraz v jednej operácii.

Medzi zmeny v novom vydaní:

  • Výkon analýzy údajov vo formáte CSV sa výrazne zlepšil. Napríklad čítanie súboru CSV s 11 miliónmi riadkov v novej verzii sa skrátilo z 2.6 sekundy. až 1.15 sekundy a vykonaním operácie „SELECT COUNT(*)“ nad súborom CSV od 1.8 sekundy. do 0.3 sek.
  • Pridaná podpora pre polia s pevnou veľkosťou, ktoré sa podobajú zoznamom obsahujúcim pevný počet prvkov (“CREATE TABLE vectors(v DOUBLE[3]);”).
  • Pridaná podpora pre pripojenie k MySQL, PostgreSQL a SQLite DBMS, ktorá umožňuje načítať dáta z externých DBMS do DuckDB a presúvať ich medzi rôznymi systémami. Externé databázy sú prístupné pomocou štandardných tabuliek. PRIPOJTE 'postgres:dbname=postgresscanner' AS postgres; SELECT názov, rok_vydania, dĺžka FROM postgres.film LIMIT 5;
  • Pridaná podpora pre výraz „COMMENT ON“ na uloženie komentára o objekte v databáze.
  • Pridaná podpora pre výraz „COPY FROM DATABASE“ na kopírovanie všetkého obsahu z jednej databázy do druhej.
  • Pridaná podpora pre modifikátor "ALL" vo výrazoch EXCEPT a INTERSECT.
  • Implementovaný typ »

    Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster