Lansarea DuckDB 0.10.0, o variantă SQLite pentru interogări analitice

A fost lansată versiunea 0.10.0 a SGBD-ului DuckDB, care combină proprietăți precum compactitatea SQLite, posibilitatea de conectare ca bibliotecă încorporată, stocarea bazei de date într-un singur fișier și o interfață CLI ușor de utilizat, cu instrumente și optimizări pentru execuția interogărilor analitice care acoperă o parte semnificativă din datele stocate, de exemplu, efectuând agregarea întregului conținut al tabelelor sau combinarea mai multor tabele mari. Codul proiectului este distribuit sub licența MIT. Dezvoltarea se află încă în stadiul de formare a versiunilor experimentale, deoarece formatul de stocare nu este stabilizat și se schimbă de la o versiune la alta.

DuckDB oferă un dialect extins al limbajului SQL, incluzând funcționalități suplimentare pentru procesarea interogărilor foarte complexe și de lungă durată. Este susținută utilizarea tipurilor complexe (array-uri, structuri, unii) și posibilitatea de a executa subinterogări arbitrare și încorporate corelate. Se permite execuția simultană a mai multor interogări, executarea interogărilor direct din fișiere în format CSV și Parquet. Există posibilitatea de import din SGBD PostgreSQL.

Pe lângă codul shell din SQLite, proiectul folosește un parser separat din PostgreSQL, componenta Date Math din MonetDB, o implementare proprie a funcțiilor de feronieră (bazată pe algoritmul Segment Tree Aggregation), un procesor de expresii regulate bazat pe biblioteca RE2, un optimizator de interogări propriu, un mecanism MVCC pentru gestionarea execuției simultane a sarcinilor (Controlul Concurenței pe Versiuni Multiple), precum și un motor vectorizat de execuție a interogărilor bazat pe algoritmul Hyper-Pipelining Query Execution, care permite procesarea rapidă a seturilor mari de valori într-o singură operațiune.

Printre modificările din noua versiune:

  • Performanța analizei datelor în format CSV a fost îmbunătățită semnificativ. De exemplu, citirea unui fișier CSV cu 11 milioane de rânduri în noua versiune a fost redusă de la 2.6 sec. la 1.15 sec., iar execuția operațiunii „SELECT COUNT(*)” pe un fișier CSV a fost redusă de la 1.8 sec. la 0.3 sec.
  • A fost adăugat suport pentru array-uri de dimensiune fixă, care sunt asemănătoare cu listele conținând un număr fix de elemente („CREATE TABLE vectors(v DOUBLE[3]);”).
  • A fost adăugat suport pentru conectarea la SGBD-uri MySQL, PostgreSQL și SQLite, ceea ce permite încărcarea de date în DuckDB din SGBD-uri externe și mutarea acestora între diferite sisteme. Accesul la SGBD-uri externe se face folosind tabele tipice. ATTACH ‘postgres:dbname=postgresscanner’ AS postgres; SELECT title, release_year, length FROM postgres.film LIMIT 5;
  • A fost adăugat suport pentru expresia „COMMENT ON” pentru a salva comentarii despre obiecte în baza de date.
  • A fost adăugat suport pentru expresia „COPY FROM DATABASE” pentru a copia tot conținutul dintr-o bază de date în alta.
  • A fost adăugat suport pentru modificatorul „ALL” în expresiile EXCEPT și INTERSECT.
  • A fost implementat tipul »

    Sursa: opennet.ro
Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster