19 पॉइंट द्वारा GN⁺ 2024-05-31 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • DuckDB ऐसा डेटाबेस की तरह काम कर सकता है, भले ही वास्तविक डेटा उसके अंदरूनी डेटाबेस में स्टोर न हो
  • डेटा अलग स्टोरेज में रखा जाता है, और डेटाबेस उसे refer करने के तरीके से काम करता है
  • डेटाबेस फ़ाइल में वास्तविक डेटा शामिल नहीं होता, बल्कि केवल यह निर्देश होते हैं कि डेटा को कैसे प्रोसेस करना है

उदाहरण: रोबोटैक्सी सेवा

  • स्थिति का विवरण: रोबोटैक्सी सेवा में हर दिन बनने वाले डेटा को analysts के साथ साझा करना है।
  • समस्या: डेटा इतना बड़ा है कि उसे ईमेल से भेजना मुश्किल है, और लिंक से साझा करना भी जटिल है।
  • समाधान: DuckDB का उपयोग करके एक डेटाबेस फ़ाइल बनाई जाती है और उसे साझा किया जाता है।
# 데이터베이스 생성  
import duckdb  
db = duckdb.connect("weird_rides.db")  
db.sql("""  
    CREATE VIEW weird_rides  
    AS SELECT pickup_at, dropoff_at, trip_distance, total_amount  
    FROM 's3://robotaxi-inc/daily-ride-data/*.parquet'  
    WHERE fare_amount > 100 AND trip_distance < 10.0  
""")  
db.close()  
  • परिणाम: weird_rides.db फ़ाइल में वास्तविक डेटा नहीं होता, लेकिन डेटा को कैसे प्रोसेस करना है इसके निर्देश होते हैं।
  • साझा करने का तरीका: इस फ़ाइल को blob storage में अपलोड करके उसका लिंक साझा किया जाता है।

डेटा एक्सेस

  • डेटाबेस से कनेक्ट करना: प्राप्तकर्ता एक local DuckDB session शुरू करता है और साझा की गई डेटाबेस फ़ाइल से कनेक्ट करता है।
# 데이터베이스 연결  
import duckdb  
conn = duckdb.connect()  
conn.sql("""  
    ATTACH 's3://robotaxi-inc/virtual-datasets/weird_rides.db'  
    AS rides_db (READ_ONLY)  
""")  
conn.sql("SELECT * FROM rides_db.weird_rides LIMIT 5")  
  • डेटा डाउनलोड: query चलाते समय केवल ज़रूरी डेटा ही S3 से डाउनलोड किया जाता है।
  • कुशल डेटा प्रोसेसिंग: केवल ज़रूरी columns पढ़े जाते हैं, और filters लगाकर अनावश्यक डेटा को बाहर रखा जाता है।

DuckDB के फ़ायदे

  • बदलाव के प्रति मज़बूत: डेटा फ़ॉर्मैट, partitioning strategy, या schema बदलने पर भी प्राप्तकर्ता का डेटा एक्सेस करने का तरीका नहीं बदलता।
  • डेटा cloud browser: DuckDB की मदद से relational datasets को hyperlinks के जरिए आसानी से एक्सेस किया जा सकता है।

2 टिप्पणियां

 
yangeok 2024-06-05

ओह, बड़े डेटा में अगर सिर्फ छोटे डेटा का कैटलॉग और सही path ही हो, तो शायद server resources भी थोड़ा बचाया जा सकता है, हाहा

 
GN⁺ 2024-05-31
Hacker News टिप्पणियाँ
  • DuckDB और duckdb-wasm का उपयोग करके form builder SaaS की response sheets को कुशलतापूर्वक प्रोसेस करना: response data को S3 में स्टोर किया जाता है, और client पर duckdb-wasm के जरिए local DB में query करके network और memory उपयोग को optimize किया जाता है.

  • MotherDuck का परिचय: एक serverless managed DuckDB data warehouse, जो zero-copy clone, secure sharing, और cloud data के साथ hybrid mode जैसी सुविधाएँ देता है.

  • DuckDB को qStudio SQL editor में integrate करना: यह विभिन्न databases के साथ join को support करता है, और DuckDB शुरू करने के लिए एक अच्छा IDE बताया गया है.

  • S3 links के जरिए data उपलब्ध कराने का प्रस्ताव: intermediate database और views के value पर सवाल उठाते हुए कहा गया है कि data analysts के लिए raw data को सीधे handle करना अधिक कुशल हो सकता है.

  • Data Tap का परिचय: Lambda functions में DuckDB embed करके data को S3 में Parquet format में स्टोर करने वाला solution, जो cost efficiency और scalability पर जोर देता है.

  • Data access approach को लेकर भ्रम: बताया गया है कि data engineers pre-aggregation से बचते हैं, जबकि data analysts raw data access को प्राथमिकता देते हैं.

  • इस दावे पर प्रतिक्रिया कि ज़्यादातर databases में data शामिल नहीं होता: इसे बढ़ा-चढ़ाकर कहा गया दावा माना गया है.

  • सहकर्मी को SQL queries ईमेल से भेजने के तरीके का सुझाव: binary database files के फायदों पर सवाल उठाया गया है.

  • नए SQL tools की उपयोगिता पर सवाल: माना गया है कि data को permanent data warehouse में स्टोर करके ज़रूरत के मुताबिक views बनाना अधिक उचित है.

  • Presto/Trino से समानता: राय है कि DuckDB का approach Presto/Trino जैसा लगता है.