30 पॉइंट द्वारा xguru 2024-06-13 | 5 टिप्पणियां | WhatsApp पर शेयर करें
  • DuckDB एक single-file SQL database है, जो data analysis के लिए विशेष रूप से बनाया गया है
    • DuckDB के ज़्यादातर मूल्यांकन quantitative analysis पर केंद्रित होते हैं
    • खासकर speed के मामले में DuckDB आम तौर पर अच्छा performance दिखाता है
  • लेकिन user के नज़रिए से, एक बार performance संतोषजनक स्तर पर पहुँच जाए तो उसके बाद की अतिरिक्त speed का ज़्यादा महत्व नहीं रहता
    • इसके बजाय ease of use ज़्यादा महत्वपूर्ण हो जाती है, और DuckDB इस मामले में बढ़त रखता है
  • DuckDB की ease of use के फ़ायदे:
    1. developer experience
    2. memory से बड़े datasets को संभालने की क्षमता
    3. install और run करना आसान

Ergonomics

  • DuckDB को इस तरह डिज़ाइन किया गया है कि सामान्य काम आसानी से किए जा सकें
    • उदाहरण के लिए, input file से सीधे table बनाया जा सकता है और schema infer किया जा सकता है
    • Parquet file के मामले में web पर मौजूद files भी पढ़ी जा सकती हैं
  • पहले से table बनाए बिना भी data को query किया जा सकता है
    • read_parquet function relation लौटाता है, इसलिए इसे subquery की तरह इस्तेमाल किया जा सकता है
  • DuckDB, Postgres में इस्तेमाल होने वाले ज़्यादातर SQL features को support करता है
    • उदाहरण के लिए, window functions पूरी तरह supported हैं

memory से बड़े datasets को संभालना

  • कई data tools तब ठीक से काम नहीं करते जब dataset computer memory से बड़ा हो जाता है
    • यह दर्द का एक कम आंका गया स्रोत हो सकता है
  • इसके विपरीत, DuckDB memory से बड़े datasets को पूरी तरह support करता है
    • Pandas के मामले में, dataframe अगर system memory के 50% से ज़्यादा हो जाए तो समस्याएँ आ सकती हैं

आसान install और run

  • DuckDB को एक single executable duckdb के रूप में compile किया जाता है
  • WASM के ज़रिए browser में सीधे DuckDB का अनुभव लिया जा सकता है (shell.duckdb.org)
    • क्योंकि यह WASM आधारित है, इसलिए सब कुछ server पर नहीं बल्कि browser में चलता है
  • DuckDB को dataframe library की तरह इस्तेमाल करना
    • DuckDB, Python के साथ अच्छी तरह integrate होता है
    • Python के भीतर query चलाकर उसके return value का उपयोग किया जा सकता है
      • इससे step-by-step बड़े data operations बनाए जा सकते हैं
    • SQL और dataframe, दोनों के फ़ायदे एक साथ मिल सकते हैं

csvbase के ज़रिए data storage

  • csvbase की client library, fsspec API के माध्यम से कई तरह के systems के साथ integrate हो सकती है
    • इसी तरह DuckDB को भी csvbase के साथ इस्तेमाल किया जा सकता है

Scalability

  • DuckDB हज़ारों machines तक scale नहीं करता
    • इसके उलट Apache Spark ऐसा कर सकता है, लेकिन इसके साथ काफ़ी complexity भी आती है
  • scaling down भी महत्वपूर्ण है
    • DuckDB individual user स्तर पर काम करता है और इसकी बहुत ज़्यादा requirements नहीं हैं

सारांश

  • DuckDB, SQL जानने वाले data analysts के लिए एक आकर्षक विकल्प हो सकता है
  • यह memory से बड़े data को संभाल सकता है, install करना आसान है, और कई मामलों में Spark का अच्छा विकल्प बन सकता है

5 टिप्पणियां

 
cometkim 2024-06-13

ParadeDB ने हाल ही में एक अच्छा विकल्प जोड़ा है। https://blog.paradedb.com/pages/introducing_lakehouse

 
silveris23 2024-06-13

खासकर streamlit आदि के साथ सरल interactive dashboard बनाते समय यह वाकई बहुत अच्छा है।

 
brainer 2024-06-13

क्या यह Huggingface Datasets से स्विच करने लायक होगा?

 
hackerwins 2024-06-13

मैं DuckDB पर आधारित एक spreadsheet बनाने का प्रयोग कर रहा हूँ। DuckDB को लेकर मैं बहुत उत्साहित हूँ।