Keluaran DuckDB 0.10.0, varian SQLite untuk pertanyaan analisis

Keluaran DuckDB 0.10.0 DBMS dibentangkan, menggabungkan sifat SQLite seperti kekompakan, keupayaan untuk menyambung dalam bentuk perpustakaan terbenam, menyimpan pangkalan data dalam satu fail dan antara muka CLI yang mudah, dengan alat dan pengoptimuman untuk melaksanakan pertanyaan analitikal yang meliputi sebahagian besar data yang disimpan, contohnya yang mengagregat keseluruhan kandungan jadual atau menggabungkan beberapa jadual besar. Kod projek diedarkan di bawah lesen MIT. Pembangunan masih di peringkat membentuk keluaran percubaan, memandangkan format storan masih belum stabil dan berubah dari versi ke versi.

DuckDB menyediakan dialek SQL lanjutan yang merangkumi keupayaan tambahan untuk mengendalikan pertanyaan yang sangat kompleks dan memakan masa. Penggunaan jenis kompleks (tatasusunan, struktur, kesatuan) dan keupayaan untuk melaksanakan subkueri berkorelasi sewenang-wenang dan bersarang disokong. Ia menyokong menjalankan berbilang pertanyaan serentak, menjalankan pertanyaan terus daripada fail CSV dan Parket. Ia adalah mungkin untuk mengimport dari DBMS PostgreSQL.

Sebagai tambahan kepada kod shell daripada SQLite, projek ini menggunakan parser daripada PostgreSQL dalam perpustakaan berasingan, komponen Date Math daripada MonetDB, pelaksanaan fungsi tetingkapnya sendiri (berdasarkan algoritma Pengagregatan Pokok Segmen), pemproses ungkapan biasa berdasarkan perpustakaan RE2, pengoptimum pertanyaannya sendiri dan mekanisme kawalan MVCC pelaksanaan tugas secara serentak (Kawalan Persamaan Berbilang Versi), serta enjin pelaksanaan pertanyaan bervektor berdasarkan algoritma Perlaksanaan Pertanyaan Hyper-Pipelining, yang membenarkan set nilai yang besar untuk diproses sekali gus dalam satu operasi.

Antara perubahan dalam keluaran baharu:

  • Prestasi penghuraian data dalam format CSV telah dipertingkatkan dengan ketara. Contohnya, membaca fail CSV dengan 11 juta baris dalam versi baharu telah dikurangkan daripada 2.6 saat. sehingga 1.15 saat dan melakukan operasi "SELECT COUNT(*)" di atas fail CSV dari 1.8 saat. sehingga 0.3 saat.
  • Menambah sokongan untuk tatasusunan bersaiz tetap, yang menyerupai senarai yang mengandungi bilangan elemen tetap ("CREATE TABLE vectors(v DOUBLE[3]);").
  • Menambah sokongan untuk menyambung ke MySQL, PostgreSQL dan SQLite DBMS, yang membolehkan anda memuatkan data daripada DBMS luaran ke DuckDB dan mengalihkannya antara sistem yang berbeza. Pangkalan data luaran diakses menggunakan jadual standard. SERTAKAN 'postgres:dbname=postgresscanner' SEBAGAI postgres; PILIH tajuk, tahun_keluaran, panjang DARI postgres.filem LIMIT 5;
  • Menambah sokongan untuk ungkapan "COMMENT ON" untuk menyimpan ulasan tentang objek dalam pangkalan data.
  • Menambah sokongan untuk ungkapan "COPY FROM DATABASE" untuk menyalin semua kandungan dari satu pangkalan data ke pangkalan data yang lain.
  • Menambahkan sokongan untuk pengubah suai "SEMUA" dalam ungkapan KECUALI dan INTERSECT.
  • Jenis yang dilaksanakan Β»

    Sumber: opennet.ru

Tambah komen