30 puan yazan xguru 2024-06-13 | 5 yorum | WhatsApp'ta paylaş
  • 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ı:
    1. Geliştirici deneyimi
    2. Bellekten daha büyük veri kümelerini işleyebilme
    3. 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

 
cometkim 2024-06-13

ParadeDB kısa süre önce iyi bir alternatif ekledi. https://blog.paradedb.com/pages/introducing_lakehouse

 
silveris23 2024-06-13

Özellikle Streamlit gibi araçlarla basit etkileşimli panolar oluştururken gerçekten çok iyi.

 
brainer 2024-06-13

Huggingface Datasets'ten geçmeye değer mi acaba?

 
hackerwins 2024-06-13

DuckDB tabanlı bir elektronik tablo oluşturma denemeleri yapıyorum. DuckDB konusunda gerçekten heyecanlıyım.