- DuckDB, veri analizi için özelleştirilmiş tek dosyalı bir SQL veritabanıdır
- DuckDB hakkındaki değerlendirmelerin çoğu nicel analize odaklanma eğilimindedir
- Özellikle hız açısından DuckDB genel olarak iyi performans gösterir
- Ancak kullanıcı açısından, performans tatmin edici bir seviyeye ulaştıktan sonra daha fazla hız artışının çok büyük bir anlamı yoktur
- Bunun yerine kullanım kolaylığı daha önemlidir ve DuckDB bu noktada avantajlara sahiptir
- DuckDB'nin kullanım kolaylığına dair avantajları:
- Geliştirici deneyimi
- Bellekten daha büyük veri kümelerini işleyebilme
- Kolay kurulum ve çalıştırma
Ergonomi
- DuckDB, yaygın işleri basitçe halletmek üzere tasarlanmıştır
- Örneğin, girdi dosyasından doğrudan tablo oluşturabilir ve şemayı çıkarabilir
- Parquet dosyaları için web üzerindeki dosyaları da okuyabilir
- Verileri, önceden tablo oluşturmadan da sorgulayabilirsiniz
read_parquet fonksiyonu bir relation döndürdüğü için alt sorgu olarak kullanılabilir
- DuckDB, Postgres'te kullanılan SQL özelliklerinin çoğunu destekler
- Örneğin, window function desteği tamdır
Bellekten daha büyük veri kümelerini işleme
- Birçok veri aracı, veri kümesi bilgisayar belleğinden büyük hale geldiğinde düzgün çalışmaz
- Bu, yeterince fark edilmeyen bir sıkıntı kaynağı olabilir
- Buna karşılık DuckDB, bellekten büyük veri kümelerini tamamen destekler
- Pandas'ta ise veri çerçevesi sistem belleğinin %50'sini aştığında sorunlar ortaya çıkabilir
Kolay kurulum ve çalıştırma
- DuckDB, tek bir çalıştırılabilir dosya olan
duckdb olarak derlenir
- WASM aracılığıyla DuckDB'yi doğrudan tarayıcıda deneyimleyebilirsiniz (shell.duckdb.org)
- WASM tabanlı olduğu için her şey sunucuda değil, tarayıcıda çalışır
- DuckDB'yi bir veri çerçevesi kütüphanesi gibi kullanmak
- DuckDB, Python ile iyi entegre olur
- Python içinde sorgular çalıştırabilir ve dönen değerleri kullanabilirsiniz
- Bu sayede adım adım daha büyük veri işlemleri inşa edebilirsiniz
- SQL'in avantajlarıyla veri çerçevelerinin avantajlarını birlikte elde edebilirsiniz
csvbase ile veri depolama
- csvbase'in istemci kütüphanesi, fsspec API aracılığıyla çeşitli sistemlerle entegre olabilir
- DuckDB de aynı şekilde csvbase ile birlikte kullanılabilir
Ölçeklenebilirlik
- DuckDB, binlerce makineye ölçeklenmez
- Buna karşılık Apache Spark bunu yapabilir, ancak önemli ölçüde karmaşıklık getirir
- Küçülerek ölçeklenme de önemlidir
- DuckDB, bireysel kullanıcı düzeyinde çalışır ve çok fazla gereksinimi yoktur
Özet
- DuckDB, SQL bilen veri analistleri için cazip bir seçenek olabilir
- Bellekten büyük verilerle çalışabilir, kurulumu kolaydır ve birçok durumda Spark'a iyi bir alternatif olabilir
5 yorum
ParadeDB kısa süre önce iyi bir alternatif ekledi. https://blog.paradedb.com/pages/introducing_lakehouse
Özellikle Streamlit gibi araçlarla basit etkileşimli panolar oluştururken gerçekten çok iyi.
Huggingface Datasets'ten geçmeye değer mi acaba?
DuckDB tabanlı bir elektronik tablo oluşturma denemeleri yapıyorum. DuckDB konusunda gerçekten heyecanlıyım.
DuckDB - Gömülü OLAP DB açık kaynak
Veri olmadan da veritabanı olabilen DuckDB
Yeni bir jq olarak DuckDB
DuckDB 1.0.0 yayınlandı