Analüütiliste päringute jaoks mõeldud SQLite'i variandi DuckDB 0.10.0 väljalase

Tutvustatakse DuckDB 0.10.0 DBMS-i väljalaset, mis ühendab sellised SQLite'i omadused nagu kompaktsus, manustatud teegi kujul ühenduse loomise võimalus, andmebaasi salvestamine ühes failis ja mugav CLI-liides koos tööriistade ja käivitamise optimeerimisega. analüütilised päringud, mis hõlmavad olulist osa salvestatud andmetest, näiteks mis koondavad kogu tabelite sisu või ühendavad mitu suurt tabelit. Projekti koodi levitatakse MIT litsentsi all. Arendus on endiselt eksperimentaalsete väljaannete moodustamise etapis, kuna salvestusvormingut pole veel stabiliseerunud ja see muutub versiooniti.

DuckDB pakub täiustatud SQL-i dialekti, mis sisaldab lisavõimalusi väga keeruliste ja aeganõudvate päringute käsitlemiseks. Toetatud on keeruliste tüüpide (massiivid, struktuurid, ühendused) kasutamine ning suvaliste ja pesastatud korreleerivate alampäringute käivitamise võimalus. See toetab mitme päringu samaaegset käitamist, päringute käitamist otse CSV- ja Parquet-failidest. PostgreSQL DBMS-ist on võimalik importida.

Lisaks SQLite’i shellkoodile kasutab projekt eraldi teegis PostgreSQL-i parserit, MonetDB-st Date Math komponenti, oma aknafunktsioonide teostust (segmendipuu koondamisalgoritmi alusel), regulaaravaldise protsessorit, mis põhineb RE2 teek, oma päringu optimeerija ja MVCC juhtimismehhanism ülesannete samaaegseks täitmiseks (Multi-Version Concurrency Control), samuti vektoriseeritud päringu täitmismootor, mis põhineb Hyper-Pipelining Query Execution algoritmil, mis võimaldab suuri väärtuste komplekte töödelda korraga ühe toiminguga.

Uue versiooni muudatuste hulgas:

  • CSV-vormingus andmete sõelumise jõudlus on oluliselt paranenud. Näiteks 11 miljoni reaga CSV-faili lugemine uues versioonis vähenes 2.6 sekundilt. kuni 1.15 sekundit ja toimingu „SELECT COUNT(*)” sooritamine CSV-faili peal alates 1.8 sekundist. kuni 0.3 sek.
  • Lisatud on fikseeritud suurusega massiivide tugi, mis meenutavad kindlat arvu elemente sisaldavaid loendeid (“CREATE TABLE vectors(v DOUBLE[3]);”).
  • Lisatud on MySQL, PostgreSQL ja SQLite DBMS-iga ühenduse loomise tugi, mis võimaldab laadida andmeid välisest DBMS-ist DuckDB-sse ja neid erinevate süsteemide vahel teisaldada. Välistele andmebaasidele pääseb juurde standardtabelite abil. ANNA 'postgres:dbname=postgresscanner' AS postgres; SELECT pealkiri, väljalaskeaasta, pikkus FROM postgres.film LIMIT 5;
  • Lisatud tugi väljendile “COMMENT ON” objekti kohta kommentaari salvestamiseks andmebaasis.
  • Lisatud tugi väljendile "KOPEERI ANDMEBAASIST" kogu sisu ühest andmebaasist teise kopeerimiseks.
  • Lisatud on modifikaatori "ALL" tugi avaldistes EXCEPT ja INTERSECT.
  • Rakendatud tüüp »

    Allikas: opennet.ru

Lisa kommentaar