GitHub Radar — DuckDB
C++ ile yazılmış, vektörize edilmiş boru hattı yürütme motoru ve Morsel tabanlı paralellikle analitik sorgularda harici veritabanı ihtiyacını bitiren OLAP motoru.
DuckDB, veri analitiği ve OLAP (çevrimiçi analitik işleme) dünyasında SQLite’ın transaksiyonel dünyada yarattığı devrimi tekrarlamak amacıyla sıfır harici bağımlılıkla ve doğrudan süreç içi (in-process) çalışacak şekilde C++11 ile geliştirilmiş açık kaynaklı bir analitik veritabanı yönetim sistemidir 1. Analitik sorgular çalıştırmak için devasa Spark, Snowflake veya ClickHouse kümeleri kurmayı, verileri ağ üzerinden taşımayı ve karmaşık istemci-sunucu protokolleriyle boğuşmayı zorunlu kılan geleneksel mimarilere karşı DuckDB; vektörize edilmiş boru hattı (vectorized pipeline) yürütme motoru, Morsel tabanlı dinamik paralellik ve bellek sınırlarını aşan (out-of-core) akış yetenekleriyle gigabaytlarca Parquet ve CSV verisini doğrudan uygulama sürecinin içinde mikrosaniyeler seviyesinde sorgulayan radikal bir sistem motorudur 2.
Veri mühendisliği, modern veri yığını (modern data stack) ve yerel analitik geliştirme çevrelerinde 41 bin yıldız ve son commit 1 gün önce düzeyinde küresel bir fenomene dönüşen depo, titizlikle yönetilen 3.2 bin açık issue ve istikrarlı sürümleme takvimini kanıtlayan son sürüm v1.5.6 (Eylül 2026) metrikleriyle olgunluğunu sergilemektedir.
Mimari Deep-Dive: DuckDB
DuckDB’nin sunduğu inanılmaz sorgu performansı, analitik iş yükleri için geleneksel ilişkisel veritabanlarının elli yıllık mimari varsayımlarını bilinçli olarak terk etmesinden kaynaklanır. Klasik veritabanları (PostgreSQL, MySQL veya SQLite), sorguları her adımda tek bir satır işleyen Volcano yineleme modeliyle (tuple-at-a-time) yürütür; bu model sanal fonksiyon çağrıları ve kötü CPU önbellek yerelliği (cache locality) nedeniyle milyonlarca satırlık toplam ve filtreleme sorgularında işlemciyi kilitler. DuckDB ise saf C++11 ile yazılmış vektörize edilmiş bir yürütme motoru (vector-at-a-time) kullanır 3.
Bu mimaride veriler, işlemci L1 ve L2 önbelleklerine sığacak şekilde 2048 değerden oluşan vektör öbekleri (data chunks) halinde işlenir. Yürütme motoru tek bir sanal fonksiyon çağrısıyla binlerce değeri döngüye sokar; böylece derleyici vektör döngülerini donanımsal SIMD (AVX-512, NEON) komutlarıyla otomatik olarak paralelleştirir ve dal tahmin (branch prediction) hatalarını neredeyse sıfıra indirir.
İkinci kritik sütun Morsel tabanlı paralelliktir (morsel-driven parallelism). DuckDB, TUM Hyper veritabanı araştırmalarından ilham alan dinamik bir iş parçacığı zamanlayıcısı barındırır. İş parçacıklarına statik veri bölümleri (partitions) atamak yerine, veri kümeleri küçük iş parçalarına (morsels) bölünür ve boşta kalan CPU çekirdekleri bu parçaları dinamik olarak havuzdan çeker (work stealing). Bu yaklaşım, NUMA düğümleri arasındaki veri aktarım maliyetlerini dengelerken CPU çekirdeklerinin %100 kapasiteyle çalışmasını sağlar.
Üçüncü sütun ise bellek sınırlarını aşan yürütme (out-of-core execution) kabiliyetidir 4. DuckDB, 16 gigabaytlık mütevazı bir geliştirici dizüstü bilgisayarında 500 gigabaytlık Parquet dosyalarını bellek yetersizliği (OOM) hatası almadan işleyebilir. Özel arabellek yöneticisi (buffer manager), ara toplama (aggregation) ve birleştirme (hash join) tablolarını bellek dolduğunda geçici disk bloklarına döker ve akış hattını kesintiye uğratmadan yürütür. Ayrıca kendi disk depolama formatında Chimp, Patas, Bitpacking ve Sözlük (Dictionary) sıkıştırma yöntemlerini kullanarak disk alanını %90’a varan oranda sıkıştırır. Apache Arrow ile kurduğu sıfır kopyalama (zero-copy) bellek köprüsü sayesinde Pandas ve Polars veri çerçeveleriyle bellek kopyalaması yapmadan doğrudan aynı bellek adresleri üzerinden konuşur.
Kod ve Topluluk Sağlığı
DuckDB, CWI Amsterdam araştırmacıları Hannes Mühleisen ve Mark Raasveldt liderliğinde kurulan DuckDB Labs ve bağımsız DuckDB Foundation tarafından yönetilmektedir 1. Proje, arkasındaki kurumsal sermaye yatırımları ve küresel teknoloji devlerinin desteğiyle açık kaynak veri tabanı mühendisliğinin en yetkin çekirdek kadrolarından biri tarafından sürdürülmektedir.
Depodaki 3.2 bin açık issue sayısı, DuckDB’nin Python, R, Java, Rust, Node.js ve WebAssembly (Wasm) gibi onlarca dildeki entegrasyon ekosisteminden ve milyonlarca aktif geliştiricinin sunduğu sınır durum (edge case) bildirimlerinden ileri gelmektedir. Maintainer grubu, SQL ayrıştırıcı (parser) ve sorgu iyileştirici (optimizer) regresyonlarını yüz binlerce otomatik TPC-H ve TPC-DS test sorgusu içeren CI/CD boru hatlarında sürekli denetler 5. Çekirdek depoya sunulan her PR; bellek sızıntısı detektörlerinden (AddressSanitizer, MemorySanitizer) ve farklı işletim sistemlerindeki donanım testlerinden geçer. Sürümleme disiplini düzenli semantik yamalarla kusursuz yürütülmektedir. health_score bu bölümden türer: issue kapanma hızı, sürüm düzeni, bakımcı ekibi. Ajanın tahminidir; künyede öyle yazılır. Projenin bağımsız vakıf güvencesi, olağanüstü kod kalitesi ve sektör genelindeki yaygınlığı dikkate alınarak health_score: 9.6 takdir edilmiştir.
Production Riski: Gerçekten Kullanılır mı?
DuckDB’yi kurumsal üretim mimarilerine dahil etmeyi planlayan sistem mimarları için lisanslama açısından hiçbir hukuki risk bulunmamaktadır; proje son derece özgür MIT lisansı ile dağıtılmakta olup tescilli ticari ürünlerde ve bulut hizmetlerinde tam kullanım serbestisi sunar 6.
DuckDB’nin üretimde hayat kurtardığı senaryolar oldukça belirgindir: Veri ambarı faturalarını kısmak isteyen şirketlerde S3 veya veri gölü (data lake) üzerindeki terabaytlarca Parquet dosyasını sunucusuz (serverless) konteynerler içinde anında sorgulamak, veri bilimi boru hatlarında dış veritabanı bağımlılıklarını ortadan kaldırmak ve mikroservislerin yerel analitik ihtiyaçlarını mikrosaniyelik gecikmeyle karşılamak. Tek bir statik kütüphane olarak süreç içine gömülebilmesi operasyonel bakım maliyetini sıfıra indirir.
Buna karşın, operasyonel olarak dikkate alınması gereken yapısal sınırlar vardır. DuckDB bir OLTP veritabanı değildir; yüksek eşzamanlı satır bazlı yazma (point writes) ve işlem (transaction) iş yükleri için tasarlanmamıştır. Dosya düzeyinde tek bir yazıcı kilidi (single-writer) kullanır; bu nedenle binlerce eşzamanlı yazma isteği kuyrukta kilitlenmelere yol açar. Ayrıca dağıtık çok düğümlü bir küme mimarisi sunmaz; dikey ölçeklemeye (vertical scaling) odaklanır. Bu kullanım sınırları doğru belirlendiğinde DuckDB, modern veri mühendisliği dünyasının tartışmasız en devrimci, en hızlı ve vazgeçilmez analitik motorudur.