Ukukhishwa kwe-DuckDB 0.10.0, okuhlukile kwe-SQLite kwemibuzo yokuhlaziya

Ukukhishwa kwe-DuckDB 0.10.0 DBMS kuyethulwa, kuhlanganisa izakhiwo ezinjalo ze-SQLite njengokubumbana, ikhono lokuxhuma ngendlela yomtapo wolwazi oshumekiwe, ukugcinwa kwedatha egciniwe efayeleni elilodwa kanye nesixhumi esibonakalayo se-CLI esikahle, ngamathuluzi nokulungiselelwa ukuze kusetshenziswe. imibuzo yokuhlaziya ehlanganisa ingxenye ebalulekile yedatha egciniwe, isibonelo ehlanganisa konke okuqukethwe kwamathebula noma ehlanganisa amathebula amakhulu amaningana. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-MIT. Ukuthuthukiswa kusesesigabeni sokwenza ukukhishwa kokuhlola, njengoba ifomethi yesitoreji ingakaqiniswa futhi iyashintsha isuka enguqulweni iye kwelinye.

I-DuckDB ihlinzeka ngolimi lwesigodi lwe-SQL oluthuthukisiwe oluhlanganisa amakhono engeziwe okusingatha imibuzo eyinkimbinkimbi kakhulu futhi edla isikhathi. Ukusetshenziswa kwezinhlobo eziyinkimbinkimbi (amalungu afanayo, izinhlaka, izinyunyana) kanye nekhono lokwenza imibuzo engezansi ehlobanisa ngokunganaki futhi efakwe esidlekeni kuyasekelwa. Isekela ukusebenzisa imibuzo eminingi ngesikhathi esisodwa, isebenzisa imibuzo ngokuqondile kusuka kumafayela e-CSV kanye ne-Parquet. Kungenzeka ukungenisa kusuka ku-PostgreSQL DBMS.

Ngaphezu kwekhodi yegobolondo evela ku-SQLite, iphrojekthi isebenzisa i-parser evela ku-PostgreSQL kumtapo wolwazi ohlukile, ingxenye ye-Date Math evela ku-MonetDB, ukuqaliswa kwayo kwemisebenzi yewindi (ngokusekelwe ku-algorithm ye-Segment Tree Aggregation), iphrosesa evamile yokubonisa esekelwe umtapo wezincwadi we-RE2, i-query optimizer yawo, kanye nendlela yokulawula ye-MVCC yokwenza imisebenzi ngasikhathi sinye (Multi-Version Concurrency Control), kanye nenjini yokukhipha imibuzo eyenziwe nge-vectorized esekelwe ku-algorithm ye-Hyper-Pipelining Query Execution, evumela amasethi amakhulu amanani. izocutshungulwa ngesikhathi esisodwa ekusebenzeni okukodwa.

Phakathi kwezinguquko ekukhishweni okusha:

  • Ukusebenza kokudlulisa idatha ngefomethi ye-CSV kuthuthukiswe kakhulu. Isibonelo, ukufunda ifayela le-CSV elinemigqa eyizigidi ezingu-11 enguqulweni entsha kwehlisiwe ukusuka kumasekhondi angu-2.6. kufika kumasekhondi angu-1.15, futhi yenza umsebenzi othi “KHETHA COUNT(*)” phezu kwefayela le-CSV kusuka kumasekhondi angu-1.8. kufika ku-0.3 isekhondi.
  • Usekelo olungeziwe lwezinhlu ezinosayizi ogxilile, olufana nohlu oluqukethe inombolo engashintshi yezinto (“DALA amavekhtha ETHABULA(v DOUBLE[3]);”).
  • Usekelo olungeziwe lokuxhuma ku-MySQL, PostgreSQL kanye ne-SQLite DBMS, ekuvumela ukuthi ulayishe idatha usuka ku-DBMS yangaphandle uye ku-DuckDB futhi uyihambise phakathi kwamasistimu ahlukene. Imininingo egciniwe yangaphandle ifinyelelwa kusetshenziswa amathebula ajwayelekile. Namathisela 'postgres:dbname=postgresscanner' AS postgres; KHETHA isihloko, ukukhululwa_unyaka, ubude KUSUKA ku-postgres.film LIMIT 5;
  • Kwengezwe ukusekelwa kwenkulumo ethi “COMMENT ON” ukuze kugcinwe amazwana mayelana nento kusizindalwazi.
  • Kwengezwe ukusekelwa kwenkulumo ethi "KOPY FROM DATABASE" ukuze kukopishwe konke okuqukethwe kusuka kusizindalwazi esisodwa kuya kwesinye.
  • Kwengezwe usekelo lwesilungisi "ALL" ku-EXCEPT kanye ne-INTERSECT yezinkulumo.
  • Uhlobo olusetshenzisiwe »

    Source: opennet.ru

Engeza amazwana