DuckDB 0.10.0 versiyasi, analitik so'rovlar uchun SQLite varianti

DuckDB 0.10.0 DBMS versiyasi taqdim etilgan bo'lib, u SQLite-ning ixchamligi, o'rnatilgan kutubxona ko'rinishida ulanish qobiliyati, ma'lumotlar bazasini bitta faylda saqlash va qulay CLI interfeysi, bajarish uchun asboblar va optimallashtirish kabi xususiyatlarini birlashtiradi. Saqlangan ma'lumotlarning muhim qismini qamrab oluvchi analitik so'rovlar, masalan, jadvallarning butun tarkibini jamlaydigan yoki bir nechta katta jadvallarni birlashtiradi. Loyiha kodi MIT litsenziyasi ostida tarqatiladi. Rivojlanish hali eksperimental nashrlarni shakllantirish bosqichida, chunki saqlash formati hali barqarorlashtirilmagan va versiyadan versiyaga o'zgaradi.

DuckDB juda murakkab va ko'p vaqt talab qiluvchi so'rovlarni boshqarish uchun qo'shimcha imkoniyatlarni o'z ichiga olgan rivojlangan SQL dialektini taqdim etadi. Murakkab turlardan foydalanish (massivlar, tuzilmalar, birlashmalar) va ixtiyoriy va ichki o'zaro bog'liq bo'lgan pastki so'rovlarni bajarish qobiliyati qo'llab-quvvatlanadi. U bir vaqtning o'zida bir nechta so'rovlarni bajarishni qo'llab-quvvatlaydi, so'rovlarni CSV va Parket fayllaridan to'g'ridan-to'g'ri bajarish. PostgreSQL DBMS dan import qilish mumkin.

SQLite-ning qobiq kodiga qo'shimcha ravishda, loyiha alohida kutubxonada PostgreSQL-dan tahlil qiluvchi, MonetDB-ning Date Math komponenti, oyna funktsiyalarining o'ziga xos amalga oshirilishi (Segment Tree Aggregation algoritmi asosida), oddiy ifoda protsessoridan foydalanadi. RE2 kutubxonasi, o'zining so'rovlar optimallashtiruvchisi va MVCC boshqaruv mexanizmi bir vaqtning o'zida vazifalarni bajarish (Multi-Version Concurrency Control), shuningdek, katta qiymatlar to'plamiga imkon beruvchi Hyper-Pipelining Query Execution algoritmiga asoslangan vektorlashtirilgan so'rovlarni bajarish mexanizmi. bir operatsiyada birdaniga qayta ishlanadi.

Yangi versiyadagi o'zgarishlar quyidagilardan iborat:

  • CSV formatidagi ma'lumotlarni tahlil qilish samaradorligi sezilarli darajada yaxshilandi. Masalan, yangi versiyada 11 million qatorli CSV faylini o‘qish 2.6 soniyadan qisqardi. 1.15 soniyagacha va 1.8 soniyadan boshlab CSV fayli ustida “COUNT COUNT(*)” amalini bajarish. 0.3 soniyagacha.
  • Ruxsat etilgan sonli elementlarni oʻz ichiga olgan roʻyxatlarga oʻxshagan qatʼiy oʻlchamli massivlar uchun qoʻshimcha yordam (“CREATE TABLE vektorlari(v DOUBLE[3]);”).
  • MySQL, PostgreSQL va SQLite DBMS ga ulanish uchun qo‘shilgan qo‘llab-quvvatlash, tashqi ma’lumotlar bazasidan ma’lumotlarni DuckDB ga yuklash va uni turli tizimlar o‘rtasida ko‘chirish imkonini beradi. Tashqi ma'lumotlar bazalariga kirish standart jadvallar yordamida amalga oshiriladi. 'postgres:dbname=postgresscanner' AS postgres ATTACH; SELECT sarlavhasi, reliz_yil, uzunlik FROM postgres.film LIMIT 5;
  • Ma'lumotlar bazasida ob'ekt haqidagi sharhni saqlash uchun "COMMENT ON" iborasini qo'llab-quvvatlash qo'shildi.
  • Barcha tarkibni bir ma’lumotlar bazasidan boshqasiga nusxalash uchun “MA’lumotlar bazasidan NUSXA QILISH” iborasi qo‘shildi.
  • EXCEPT va INTERSECT iboralarida "ALL" modifikatori uchun qo'shimcha yordam.
  • Amalga oshirilgan turi »

    Manba: opennet.ru

a Izoh qo'shish