DuckDB — 2019-yilda taqdim etilgan, tahliliy so’rovlar (OLAP) uchun optimallashtirilgan, jarayon ichida (in-process) ishlaydigan ma’lumotlar bazasi dvigateli. U ko’pincha “analitika uchun SQLite” sifatida tavsiflanadi.
Analitika uchun SQLite sifatida tavsiflanishi
SQLite qanday qilib alohida serversiz, bitta faylda ishlaydigan tranzaksion (OLTP) ma’lumotlar bazasi sifatida mashhur bo’lgan bo’lsa, DuckDB xuddi shu soddalikni tahliliy (OLAP) yuklamalar uchun taqdim etadi. Ikkalasi ham alohida server o’rnatishni talab qilmaydi, faqat kutubxona sifatida dasturga qo’shiladi.
Jarayon ichida ishlash modeli
DuckDB alohida server jarayoni sifatida emas, balki to’g’ridan-to’g’ri dasturchining ilovasi (Python skripti, dastur) ichida kutubxona sifatida ishlaydi. Bu model tarmoq orqali ma’lumotlar bazasi serveriga ulanish bilan bog’liq kechikishni butunlay yo’q qiladi, chunki ma’lumot va hisoblash bir xil jarayonda amalga oshiriladi.
Ustunlarga yo’naltirilgan saqlash
Tranzaksion ma’lumotlar bazalaridan farqli o’laroq, DuckDB ma’lumotni ustunlar bo’yicha saqlaydi — bu tuzilma millionlab qatorni yig’ish yoki filtrlashni talab qiladigan tahliliy so’rovlar uchun sezilarli darajada samaraliroq, chunki tizim faqat kerakli ustunlarni o’qiydi, butun qatorni emas.
Ma’lumotlar fanidagi qo’llanilishi
DuckDB Parquet va CSV kabi fayl formatlarini to’g’ridan-to’g’ri, alohida import jarayonisiz so’rash imkonini beradi, bu esa uni ma’lumotlar tahlilchilari va Python/Pandas foydalanuvchilari orasida tezkor mashhurlik qozonishiga sabab bo’lgan. Bitta buyruq bilan gigabaytlab ma’lumotni tezkor tahlil qilish mumkin.
An’anaviy ma’lumotlar ombori tizimlaridan farqi
Snowflake yoki BigQuery kabi bulutli ma’lumotlar omborlari serverlar klasteri va tarmoq orqali ishlaydi, ular terabaytlab ma’lumot va ko’plab bir vaqtdagi foydalanuvchi uchun mo’ljallangan. DuckDB esa bitta kompyuterda, odatda bitta tahlilchi tomonidan ishlatiladigan, o’rtacha hajmdagi ma’lumotlar uchun mo’ljallangan — bu ikkisi bir-biriga muqobil emas, balki turli vazifalar uchun mos.
Bog’liq tushunchalar
SQLite, OLAP, Columnar ma’lumotlar bazasi, Ma’lumotlar tahlili, Data science, Parquet