Ngaleupaskeun DuckDB 0.10.0, varian SQLite pikeun queries analitik

Pelepasan DuckDB 0.10.0 DBMS dibere, ngagabungkeun sipat SQLite sapertos kompak, kamampuan pikeun nyambungkeun dina bentuk perpustakaan anu dipasang, nyimpen databés dina hiji file sareng antarmuka CLI anu merenah, kalayan alat sareng optimasi pikeun palaksanaan. queries analitik ngawengku bagian signifikan tina data nu disimpen, contona nu agrégat sakabéh eusi tabel atawa ngagabungkeun sababaraha tabel badag. Kodeu proyék disebarkeun dina lisénsi MIT. Pangwangunan masih dina tahap ngabentuk sékrési ékspérimén, sabab format panyimpen henteu acan stabil sareng robih tina vérsi ka vérsi.

DuckDB nyayogikeun dialék SQL canggih anu kalebet kamampuan tambahan pikeun nanganan patarosan anu rumit sareng nyéépkeun waktos. Pamakéan tipe kompléks (arrays, struktur, union) jeung kamampuhan pikeun ngaéksekusi wenang jeung nested subqueries correlated dirojong. Éta ngadukung ngajalankeun sababaraha patarosan sakaligus, ngajalankeun patarosan langsung tina file CSV sareng Parquet. Kasebut nyaéta dimungkinkeun pikeun ngimpor ti PostgreSQL DBMS.

Salian kode cangkang ti SQLite, proyék ngagunakeun parser ti PostgreSQL dina perpustakaan misah, komponén Tanggal Math ti MonetDB, palaksanaan sorangan fungsi jandela (dumasar kana algoritma Bagéan Tangkal Aggregation), processor éksprési biasa dumasar kana. perpustakaan RE2, optimizer query sorangan, sarta mékanisme kontrol MVCC palaksanaan simultaneous tugas (Multi-Vérsi Concurrency Control), kitu ogé mesin palaksanaan query vectorized dumasar kana algoritma Hyper-Pipelining Query Execution, nu ngidinan set badag tina nilai. pikeun diolah sakaligus dina hiji operasi.

Diantara parobihan dina sékrési énggal:

  • Kinerja parsing data dina format CSV parantos ningkat sacara signifikan. Contona, maca file CSV kalawan 11 juta baris dina versi anyar ieu ngurangan tina 2.6 detik. nepi ka 1.15 detik, sarta ngalakukeun operasi "PILIH COUNT (*)" dina luhureun file CSV ti 1.8 detik. nepi ka 0.3 detik.
  • Ditambahkeun rojongan pikeun susunan ukuran tetep, nu nyarupaan béréndélan ngandung jumlah tetep elemen ("Jieun vektor tabel (v GANDA [3]);").
  • Ditambahkeun dukungan pikeun nyambungkeun ka MySQL, PostgreSQL sareng SQLite DBMS, anu ngamungkinkeun anjeun ngamuat data tina DBMS éksternal kana DuckDB sareng ngalihkeunana antara sistem anu béda. Basis data éksternal diaksés nganggo tabel standar. GAMPANG 'postgres:dbname=postgresscanner' AS postgres; PILIH judul, release_year, panjangna FROM postgres.film LIMIT 5;
  • Ditambahkeun dukungan pikeun ekspresi "COMMENT ON" pikeun nyimpen koméntar ngeunaan hiji obyék dina pangkalan data.
  • Ditambahkeun dukungan pikeun ekspresi "COPY FROM DATABASE" pikeun nyalin sadaya eusi tina hiji pangkalan data ka anu sanés.
  • Ditambahkeun dukungan pikeun modifier "ALL" dina ekspresi EXCEPT sareng INTERSECT.
  • Jenis dilaksanakeun »

    sumber: opennet.ru

Tambahkeun komentar