Kuburitswa kweDuckDB 0.10.0, musiyano weSQLite wemibvunzo yekuongorora

Kuburitswa kweDuckDB 0.10.0 DBMS inoratidzwa, ichibatanidza zvinhu zvakadaro zveSQLite se compactness, kugona kubatanidza muchimiro cheraibhurari yakamisikidzwa, kuchengeta dhatabhesi mufaira rimwe chete uye iri nyore CLI interface, ine maturusi uye optimizations yekuita. mibvunzo yekuongorora inovhara chikamu chakakosha che data rakachengetwa, semuenzaniso rinounganidza zvese zviri mumatafura kana kubatanidza matafura makuru akati wandei. Iyo kodhi yeprojekiti yakagoverwa pasi peMIT rezinesi. Iyo budiriro ichiri padanho rekugadzira kuyedza kuburitswa, sezvo iyo yekuchengetedza fomati haisati yadzikamiswa uye shanduko kubva kushanduro kuenda kune shanduro.

DuckDB inopa yakakwira SQL dialect iyo inosanganisira humwe hunyanzvi hwekubata mibvunzo yakaoma uye inopedza nguva. Iko kushandiswa kwemhando dzakaomarara (zvimiro, zvimiro, mibatanidzwa) uye kugona kuita zvekupokana uye nested correlating subqueries zvinotsigirwa. Inotsigira kumhanyisa mibvunzo yakawanda panguva imwe chete, ichimhanyisa mibvunzo yakananga kubva kuCSV neParquet mafaera. Zvinogoneka kuunza kubva kuPostgreSQL DBMS.

Pamusoro peiyo shell kodhi kubva kuSQLite, purojekiti inoshandisa parser kubva kuPostgreSQL muraibhurari yakaparadzana, iyo Date Math chikamu kubva kuMonetDB, kwayo kuita kwayo kwemahwindo mabasa (zvichienderana neSegment Tree Aggregation algorithm), yenguva dzose kutaura processor yakavakirwa pa. iyo RE2 raibhurari, yayo yekubvunza optimizer, uye MVCC yekudzora maitiro panguva imwe chete yekuita mabasa (Multi-Version Concurrency Control), pamwe nevectorized query execution injini yakavakirwa paHyper-Pipelining Query Execution algorithm, iyo inobvumira seti huru dzehunhu. kuti igadziriswe panguva imwe chete.

Pakati pekuchinja mukuburitswa kutsva:

  • Kuita kweparsing data muCSV fomati yakavandudzwa zvakanyanya. Semuenzaniso, kuverenga faira reCSV rine miriyoni gumi neimwe mitsara mushanduro itsva kwakaderedzwa kubva pamasekondi 11. kusvika 2.6 seconds, uye kuita "SELECT COUNT(*)" operation pamusoro pe CSV file kubva 1.15 seconds. kusvika ku 1.8 sec.
  • Yakawedzerwa tsigiro yeakamisikidzwa-saizi arrays, ayo akafanana nerondedzero ine yakatarwa nhamba yezvinhu (β€œGADZIRA TABLE mavheta(v DOUBLE[3]);”).
  • Yakawedzera tsigiro yekubatanidza kuMySQL, PostgreSQL uye SQLite DBMS, iyo inokutendera iwe kurodha data kubva kunze kweDBMS kuenda kuDuckDB uye kuifambisa pakati pemasisitimu akasiyana. Zvinyorwa zvekunze zvinowanikwa uchishandisa matafura akajairwa. ATTACH 'postgres:dbname=postgresscanner' AS postgres; SARUDZA musoro, kusunungura_gore, kureba KUBVA postgres.film LIMIT 5;
  • Yakawedzera tsigiro ye "COMMENT ON" kutaura kwekuchengetedza chirevo pamusoro pechinhu chiri mudhatabhesi.
  • Yakawedzera rutsigiro rwe "COPY FROM DATABASE" kutaura kwekukopa zvese zvirimo kubva kune imwe dhatabhesi kuenda kune imwe.
  • Yakawedzera rutsigiro rwe "ALL" modifier mune EXCEPT uye INTERSECT mataurirwo.
  • Mhando yakashandiswa Β»

    Source: opennet.ru

Voeg