Sayfa başlığı dekoratif desen Sayfa başlığı dekoratif dalga

DuckDB Analitik Veritabanı Rehberi 2026: In-Process OLAP ile SQLite Hızında Veri Analizi

Ana SayfaHaberler › DuckDB Analitik Veritabanı Rehberi 2026: In-Process ...

DuckDB Analitik Veritabanı Rehberi 2026: In-Process OLAP ile SQLite Hızında Veri Analizi

30.05.2026 4 görüntülenme

Büyük veri denince akla genellikle karmaşık sunucular, kümeler ve aylar süren kurulumlar gelir. Ama ya tek bir dosyayla, hiçbir sunucu kurmadan, milyonlarca satırı saniyeler içinde sorgulayabilseydiniz? İşte DuckDB (DuckDB) tam olarak bunu yapıyor. SQLite'ın analitik dünyadaki karşılığı olarak tanımlanan DuckDB; sunucusuz (serverless), süreç içi (in-process) çalışan, sütun tabanlı (columnar) bir analitik veritabanıdır (OLAP database). CSV, Parquet ve JSON dosyalarını doğrudan SQL ile sorgulamanıza olanak tanır. Alesta Web ekibi olarak veri analizi ve raporlama işlerimizde DuckDB'yi düzenli kullanıyoruz; bu rehberde kurulumdan Python entegrasyonuna kadar her şeyi anlattık. Diğer veritabanı içeriklerimize alestaweb.com üzerinden ulaşabilirsiniz.

DuckDB Nedir? (What is DuckDB?)

DuckDB, analitik iş yükleri için tasarlanmış, süreç içi (in-process) çalışan açık kaynak bir SQL veritabanı yönetim sistemidir. "In-process" ifadesi şu anlama gelir: DuckDB ayrı bir sunucu süreci olarak değil, doğrudan uygulamanızın içinde bir kütüphane gibi çalışır. Tıpkı SQLite gibi. Ama SQLite işlemsel (OLTP) yükler için optimize edilmişken, DuckDB analitik (OLAP) sorgular için optimize edilmiştir; yani toplama (aggregation), gruplama (group by) ve milyonlarca satır üzerinde hesaplama yapmakta ustadır.

Bunu mümkün kılan şey, DuckDB'nin sütun tabanlı (columnar) depolama ve vektörel sorgu işleme (vectorized execution) kullanması. Geleneksel satır tabanlı veritabanları her satırı tek tek işlerken, DuckDB veriyi sütun sütun işler ve bu analitik sorgularda muazzam bir hız kazandırır. Alesta Web olarak deneyimimize göre, daha önce pandas ile dakikalarca süren bazı toplulaştırma işlemleri DuckDB ile saniyelere indi.

💡 Bilgi / Info:

DuckDB'nin en sevilen yanı kurulum gerektirmemesi (zero dependency). Ne bir sunucu, ne bir servis, ne de yapılandırma. Tek bir kütüphane ya da tek bir CLI ikilisi indiriyorsunuz ve hemen SQL yazmaya başlıyorsunuz.

SQLite ve PostgreSQL ile Farkı (vs SQLite & PostgreSQL)

Peki DuckDB'yi ne zaman seçmeliyiz? Bunu netleştirmek için diğer popüler seçeneklerle kıyaslayalım.

Özellik / Feature SQLite PostgreSQL DuckDB
MimariIn-processSunucu (server)In-process
Odakİşlemsel (OLTP)KarmaAnalitik (OLAP)
DepolamaSatır (row)SatırSütun (columnar)
Parquet desteğiHayırEklenti ileYerleşik (native)

Kısacası: hızlı yazma ve tekil kayıt işlemleri için SQLite, çok kullanıcılı üretim uygulamaları için PostgreSQL, büyük veri setlerinde hızlı analiz için ise DuckDB. PostgreSQL hakkında detaylı bilgiyi PostgreSQL 17 kurulum rehberimizde bulabilirsiniz. Bu seçenekler birbirinin rakibi değil; çoğu zaman bir arada kullanılır.

Kurulum (Installation)

DuckDB'yi kurmak gerçekten dakika sürmez. İhtiyacınıza göre CLI, Python ya da Node.js sürümünü seçebilirsiniz.

Komut Satırı (CLI)

# Linux / macOS:
curl https://install.duckdb.org | sh

# Calistir:
duckdb

Python ve Node.js

# Python (pip ile):
pip install duckdb

# uv ile (onerilen):
uv add duckdb

# Node.js:
npm install @duckdb/node-api
✅ Başarılı / Success:

CLI'da duckdb yazıp komut istemini gördüyseniz hazırsınız. Bellekte (in-memory) çalışmak için parametresiz başlatmanız yeterli; kalıcı bir dosya için duckdb veri.db kullanın.

Temel Kullanım: CSV ve Parquet Sorgulama

DuckDB'nin en etkileyici yanı, dosyaları içeri aktarmaya (import) gerek kalmadan doğrudan sorgulayabilmesi. Yani elinizde bir CSV ya da Parquet varsa, üzerinde anında SQL çalıştırabilirsiniz.

Dosyaları Doğrudan Sorgulama (Query Files Directly)

-- CSV dosyasini dogrudan sorgula:
SELECT sehir, COUNT(*) AS adet
FROM 'satislar.csv'
GROUP BY sehir
ORDER BY adet DESC;

-- Parquet dosyasi (cok daha hizli):
SELECT AVG(tutar) FROM 'siparisler.parquet'
WHERE yil = 2026;

-- Birden fazla dosyayi birlestir (glob):
SELECT * FROM 'logs/2026-*.parquet';

Burada dikkat ettiyseniz, hiçbir CREATE TABLE ya da IMPORT komutu yazmadık. DuckDB dosyayı yerinde okuyor (read in place). Bu, devasa Parquet dosyalarında bile belleği şişirmeden çalışmanızı sağlıyor. Alesta Web uzmanları olarak günlük log analizlerinde tam olarak bu yaklaşımı kullanıyoruz.

Python ile DuckDB (Data Analysis)

DuckDB, Python veri ekosistemiyle harika uyum sağlıyor. pandas DataFrame'lerini doğrudan SQL ile sorgulayabilir, sonucu yine DataFrame olarak alabilirsiniz. Bu, pandas'ın bazı yavaş kaldığı toplulaştırma işlemleri için müthiş bir hızlanma sağlar.

Python Örneği (Python Example)

import duckdb
import pandas as pd

df = pd.read_csv("musteriler.csv")

# pandas DataFrame'i dogrudan SQL ile sorgula:
sonuc = duckdb.sql("""
    SELECT ulke, COUNT(*) AS musteri_sayisi
    FROM df
    GROUP BY ulke
    ORDER BY musteri_sayisi DESC
    LIMIT 10
""").df()

print(sonuc)
💡 Bilgi / Info:

DuckDB; pandas, Polars ve Apache Arrow ile sıfır kopya (zero-copy) veri paylaşabilir. Yani veriyi sürekli formattan formata dönüştürmek zorunda kalmazsınız. Bu da büyük veri setlerinde hem zaman hem bellek tasarrufu demek.

2026 Yenilikleri: 1.4 LTS ve 1.5 (What's New)

DuckDB 2026'da hızla olgunlaştı. İşte öne çıkan sürümler ve getirdikleri:

  • DuckDB 1.4 LTS: Uzun dönem destekli (long-term support) bu sürüm; AES-256 şifreleme, MERGE deyimi ve Apache Iceberg yazma desteği getirdi. Kararlı destek döngüsü sayesinde üretim için ideal.
  • DuckDB 1.5.0 "Variegata" (9 Mart 2026): Daha kullanıcı dostu bir CLI, VARIANT tipi ve yerleşik GEOMETRY (coğrafi veri) tipi eklendi.
  • DuckDB 1.5.3 (20 Mayıs 2026): Çekirdekte hata düzeltmeleri, ancak birlikte gelen eklentilerde çok sayıda yeni özellik. Sıradan bir yama sürümü değil.

Özellikle Iceberg yazma desteği, DuckDB'yi modern veri gölü (data lakehouse) mimarilerinde ciddi bir oyuncu haline getirdi. Veritabanı yenilikleri konusunda MongoDB 8.0 yenilikleri rehberimize de göz atmanızı öneririz.

Alesta Web İpuçları (Production Tips)

DuckDB'den en iyi verimi almak için pratik önerilerimiz:

  • Parquet tercih edin: CSV yerine Parquet kullanın; hem daha küçük hem de DuckDB ile çok daha hızlı (columnar avantajı).
  • Sadece gereken sütunları seçin: SELECT * yerine ihtiyacınız olan sütunları belirtin; columnar mimaride bu büyük fark yaratır.
  • EXPLAIN ANALYZE kullanın: Yavaş sorguları teşhis etmek için sorgu planını inceleyin.
  • Bellek limitini ayarlayın: SET memory_limit='4GB'; ile kaynak kullanımını kontrol altında tutun.
⚠️ Dikkat / Warning:

DuckDB tek yazıcı (single writer) modeliyle çalışır; yani aynı anda çok sayıda kullanıcının yazdığı bir üretim uygulaması için PostgreSQL daha uygundur. DuckDB'nin gücü analiz, raporlama ve ETL süreçlerinde ortaya çıkar.

📚 Kaynaklar ve Referanslar / References

Bu makaledeki bilgiler aşağıdaki kaynaklardan derlenmiş ve Alesta Web tarafından test edilmiştir:

✅ Özetle: Veri Analizinde Yeni Standart (The New Standard)

DuckDB, veri analizini herkes için erişilebilir kıldı. Kurulum derdi yok, sunucu yok, sadece hızlı ve güçlü SQL. CSV ve Parquet dosyalarınızı doğrudan sorgulayabilir, Python ile kusursuz entegre edebilirsiniz. Alesta Web olarak analitik ve raporlama ihtiyaçlarınız için DuckDB'yi gönül rahatlığıyla öneriyoruz.

Hızlı Özet / Quick Summary:

  • ✅ In-process, sunucusuz analitik (OLAP) veritabanı
  • ✅ CSV/Parquet'i doğrudan SQL ile sorgulama
  • ✅ Python, Polars, Arrow ile sıfır kopya entegrasyon
  • ✅ 1.4 LTS ve 1.5 ile şifreleme, Iceberg ve VARIANT desteği

Faydalı Bağlantılar / Useful Links:

DuckDB ve veri analizi hakkında sorularınız için Alesta Web ekibine yazabilirsiniz.

© 2026 Alesta Web - Tüm hakları saklıdır.

Etiketler: Haberler