Eldono de DuckDB 0.10.0, SQLite-variaĵo por analizaj demandoj

La eldono de DuckDB 0.10.0 DBMS estas prezentita, kombinante tiajn ecojn de SQLite kiel kompaktecon, la kapablon konekti en formo de enigita biblioteko, stokante la datumbazon en unu dosiero kaj oportuna CLI-interfaco, kun iloj kaj optimumigoj por ekzekuti. analizaj demandoj kovrantaj signifan parton de la stokitaj datenoj, ekzemple kiuj agregas la tutan enhavon de tabeloj aŭ kunfandas plurajn grandajn tabelojn. La projektkodo estas distribuita sub la MIT-licenco. La evoluo ankoraŭ estas en la stadio de formado de eksperimentaj eldonoj, ĉar la stokadformato ankoraŭ ne estis stabiligita kaj ŝanĝiĝas de versio al versio.

DuckDB provizas altnivelan dialekton de SQL, kiu inkluzivas kromajn kapablojn por trakti tre kompleksajn kaj tempopostumajn demandojn. La uzo de kompleksaj tipoj (aroj, strukturoj, sindikatoj) kaj la kapablo efektivigi arbitrajn kaj nestitajn korelaciajn subdemandojn estas subtenataj. Ĝi subtenas ruli plurajn demandojn samtempe, ruli demandojn rekte de CSV kaj Parquet dosieroj. Eblas importi el la PostgreSQL-DBMS.

Aldone al la ŝelkodo de SQLite, la projekto uzas analizilon de PostgreSQL en aparta biblioteko, la Date Math-komponenton de MonetDB, sian propran efektivigon de fenestraj funkcioj (surbaze de la algoritmo de Segment Tree Aggregation), regula esprimprocesoro bazita sur la RE2-biblioteko, sia propra konsultoptimumiganto, kaj MVCC-kontrolmekanismo samtempa plenumo de taskoj (Multi-Version Concurrency Control), same kiel vektorigita demanda ekzekutmotoro bazita sur la Hyper-Pipelining Query Execution-algoritmo, kiu permesas grandajn arojn de valoroj esti procesita tuj en unu operacio.

Inter la ŝanĝoj en la nova eldono:

  • La rendimento de analizado de datumoj en CSV-formato estis signife plibonigita. Ekzemple, legado de CSV-dosiero kun 11 milionoj da vicoj en la nova versio estis reduktita de 2.6 sekundoj. ĝis 1.15 sekundoj, kaj plenumante la operacion "SELECT COUNT (*)" super CSV-dosiero de 1.8 sekundoj. ĝis 0.3 sek.
  • Aldonita subteno por fiks-grandaj tabeloj, kiuj similas listojn enhavantajn fiksan nombron da elementoj ("KREU TABLAJ vektoroj(v DOUBLE[3]);").
  • Aldonita subteno por konektiĝi al MySQL, PostgreSQL kaj SQLite DBMS, kiu permesas vin ŝargi datumojn de ekstera DBMS en DuckDB kaj movi ĝin inter malsamaj sistemoj. Eksteraj datumbazoj estas aliritaj uzante normajn tabelojn. ALDU 'postgres:dbname=postgresscanner' AS postgres; SELECT titolon, eldono_jaron, longecon DE postgres.filmo LIMIT 5;
  • Aldonita subteno por la esprimo "COMMENT ON" por konservi komenton pri objekto en la datumbazo.
  • Aldonita subteno por la esprimo "KOPII EL DAtumbazo" por kopii la tutan enhavon de unu datumbazo al alia.
  • Aldonita subteno por la modifilo "ĈIUJ" en esprimoj KROM kaj INTERSECT.
  • Efektivigita tipo »

    fonto: opennet.ru

Aldoni komenton