Ukukhutshwa kwe-DuckDB 0.10.0, ukwahluka kweSQLite kwimibuzo yohlalutyo

Ukukhutshwa kwe-DuckDB 0.10.0 DBMS kubonisiwe, ukudibanisa iimpawu ezinjalo ze-SQLite njengokuqina, ukukwazi ukudibanisa ngendlela yelayibrari egxininisiweyo, ukugcina i-database kwifayile enye kunye ne-interface ye-CLI efanelekileyo, kunye nezixhobo kunye nokulungiswa kokuphunyezwa. imibuzo yohlalutyo equka inxalenye ebalulekileyo yedatha egciniweyo, umzekelo ehlanganisa yonke imixholo yeetheyibhile okanye ukudibanisa iitheyibhile ezininzi ezinkulu. Ikhowudi yeprojekthi ihanjiswa phantsi kwelayisenisi ye-MIT. Uphuhliso lusekwinqanaba lokuqulunqa ukukhutshwa kovavanyo, kuba ifomathi yokugcina ayikaqinisekiswa kwaye itshintshe ukusuka kwinguqulelo ukuya kwinguqulelo.

I-DuckDB ibonelela ngolwimi lwe-SQL oluphambili olubandakanya izakhono ezongezelelweyo zokuphatha imibuzo entsonkothileyo kwaye ethatha ixesha. Ukusetyenziswa kweentlobo ezintsonkothileyo (ii-arrays, izakhiwo, iimanyano) kunye nokukwazi ukwenza ii-subqueries ezihambelanayo ezingafanelekanga kunye ne-nested correlating ziyaxhaswa. Ixhasa ukuqhuba imibuzo emininzi ngaxeshanye, iqhuba imibuzo ngokuthe ngqo kwi-CSV kunye neefayile zeParquet. Kuyenzeka ukungenisa kwi-PostgreSQL DBMS.

Ukongeza kwikhowudi yeqokobhe evela kwiSQLite, iprojekthi isebenzisa i-parser evela kwi-PostgreSQL kwithala leencwadi elahlukileyo, icandelo leMathematika yoMhla ukusuka kwi-MonetDB, ukuphunyezwa kwayo kwemisebenzi yefestile (ngokusekwe kwi-algorithm ye-Segment Tree Aggregation), iprosesa yenkcazo eqhelekileyo esekwe ilayibrari RE2, eyakhe umbuzo optimizer, kunye nenkqubo yolawulo MVCC ngaxeshanye ufezekiso lwemisebenzi (Multi-Version Concurrency Control), kunye ne-vectorized queecution injini esekelwe kwi-hyper-Pipelining Query Execution algorithm, evumela iiseti ezinkulu zamaxabiso. ukuba iqhutywe kanye kumsebenzi omnye.

Phakathi kotshintsho kukhupho olutsha:

  • Ukusebenza kwedatha yokwahlulahlula kwifomathi ye-CSV kuphuculwe kakhulu. Umzekelo, ukufunda ifayile ye-CSV enemiqolo yezigidi ezili-11 kwinguqulelo entsha yancitshiswa ukusuka kwimizuzwana eyi-2.6. ukuya kuthi ga kwimizuzwana eyi-1.15, kunye nokwenza "KHETHA COUNT (*)" umsebenzi phezu kwefayile ye-CSV ukusuka kwimizuzwana eyi-1.8. ukuya kuthi ga kwi-0.3 sec.
  • Inkxaso eyongeziweyo yoluhlu olusisigxina, olufana noluhlu oluqulethe inani elimiselweyo lezinto (“YEKA iiVectors zeTABLE(v DOUBLE[3]);”).
  • Inkxaso eyongeziweyo yokuxhuma kwi-MySQL, i-PostgreSQL kunye ne-SQLite DBMS, ekuvumela ukuba ulayishe idatha kwi-DBMS yangaphandle kwi-DuckDB kwaye uyihambise phakathi kweenkqubo ezahlukeneyo. Oovimba beenkcukacha bangaphandle bafikeleleka kusetyenziswa iitheyibhile eziqhelekileyo. QAPHELA 'iposi:dbname=postgresscanner' AS iiposi; KHETHA isihloko, ukukhulula_unyaka, ubude UKUSUKA kwi-postgres.film LIMIT 5;
  • Inkxaso eyongeziweyo yenkcazo ethi "COMMENT ON" yokugcina uluvo malunga nento ekwisiseko sedatha.
  • Inkxaso eyongeziweyo yenkcazo ethi "COPY FROM DATABASE" yokukhuphela wonke umxholo ukusuka kwenye idatabase ukuya kwenye.
  • Inkxaso eyongeziweyo ye-"ALL" isilungisi kwi-EXCEPT kunye ne-INTERSECT amabinzana.
  • Uhlobo olusetyenzisiweyo »

    umthombo: opennet.ru

Yongeza izimvo