Rilaxx ta' DuckDB 0.10.0, varjant SQLite għal mistoqsijiet analitiċi

Ir-rilaxx tal-DuckDB 0.10.0 DBMS huwa ppreżentat, li jgħaqqad tali proprjetajiet ta 'SQLite bħala kumpattezza, il-kapaċità li tikkonnettja fil-forma ta' librerija inkorporata, taħżen id-database f'fajl wieħed u interface CLI konvenjenti, b'għodod u ottimizzazzjonijiet għall-eżekuzzjoni mistoqsijiet analitiċi li jkopru parti sinifikanti tad-dejta maħżuna, pereżempju li jaggregaw il-kontenut kollu tat-tabelli jew jingħaqdu diversi tabelli kbar. Il-kodiċi tal-proġett huwa mqassam taħt il-liċenzja MIT. L-iżvilupp għadu fl-istadju li jifforma rilaxxi sperimentali, peress li l-format tal-ħażna għadu ma ġiex stabbilizzat u jinbidel minn verżjoni għal verżjoni.

DuckDB jipprovdi djalett avvanzat tal-SQL li jinkludi kapaċitajiet addizzjonali biex jimmaniġġjaw mistoqsijiet kumplessi ħafna u li jieħdu ħafna ħin. L-użu ta 'tipi kumplessi (arrays, strutturi, unions) u l-abbiltà li tesegwixxi subqueries korrelatanti arbitrarji u nested huma appoġġjati. Jappoġġa t-tħaddim ta' mistoqsijiet multipli simultanjament, it-tmexxija ta' mistoqsijiet direttament minn fajls CSV u Parquet. Huwa possibbli li timporta mid-DBMS PostgreSQL.

Minbarra l-kodiċi tal-qoxra minn SQLite, il-proġett juża parser minn PostgreSQL f'librerija separata, il-komponent Data Math minn MonetDB, l-implimentazzjoni tiegħu stess tal-funzjonijiet tat-twieqi (ibbażat fuq l-algoritmu tal-Aggregazzjoni tas-Siġra tas-Segment), proċessur tal-espressjoni regolari bbażat fuq il-librerija RE2, l-ottimizzatur tal-mistoqsijiet tagħha stess, u mekkaniżmu ta 'kontroll MVCC eżekuzzjoni simultanja ta' kompiti (Kontroll tal-Konkorrenza Multi-Verżjoni), kif ukoll magna ta 'eżekuzzjoni ta' mistoqsija vettorizzata bbażata fuq l-algoritmu ta 'Eżekuzzjoni ta' Query Hyper-Pipelining, li jippermetti settijiet kbar ta 'valuri biex jiġu pproċessati f'daqqa f'operazzjoni waħda.

Fost il-bidliet fir-rilaxx il-ġdid:

  • Il-prestazzjoni tal-parsing tad-dejta f'format CSV tjiebet b'mod sinifikanti. Pereżempju, il-qari ta 'fajl CSV bi 11-il miljun ringiela fil-verżjoni l-ġdida tnaqqset minn 2.6 sekondi. sa 1.15 sekondi, u twettaq l-operazzjoni "SELECT COUNT (*)" fuq fajl CSV minn 1.8 sekondi. sa 0.3 sek.
  • Appoġġ miżjud għal arrays ta' daqs fiss, li jixbħu listi li fihom numru fiss ta' elementi (“ĦLOQ TABELLA vectors(v DOUBLE[3]);”).
  • Appoġġ miżjud għall-konnessjoni ma 'MySQL, PostgreSQL u SQLite DBMS, li jippermettilek tagħbija data minn DBMS esterni f'DuckDB u ċċaqlaqha bejn sistemi differenti. Databases esterni huma aċċessati permezz ta 'tabelli standard. Waħħal 'postgres:dbname=postgresscanner' AS postgres; SELECT title, release_year, tul FROM postgres.film LIMIT 5;
  • Żid l-appoġġ għall-espressjoni "KUMENT FUQ" biex jiġi salvat kumment dwar oġġett fid-database.
  • Appoġġ miżjud għall-espressjoni "KOPY FROM DATABASE" għall-ikkupjar tal-kontenut kollu minn database għal oħra.
  • Appoġġ miżjud għall-modifikatur "KOLLHA" fl-espressjonijiet ĦLIEF u INTERSECT.
  • Tip implimentat »

    Sors: opennet.ru

Żid kumment