इस प्रोजेक्ट के बारे में
bytdb एक एम्बेडेड, शुद्ध Go संबंध डेटाबेस है जिसे SQLite की जगह लेने के लिए डिज़ाइन किया गया है और Postgres dialect का समर्थन करता है। यह पूरी तरह से एप्लिकेशन प्रक्रिया के भीतर काम करता है, जिसके लिए किसी बाहरी सर्वर, cgo, या सॉकेट संचार की आवश्यकता नहीं होती है।
मुख्य तकनीकी विशेषताएँ:
- **Postgres अनुकूलता**: `pgwire` के माध्यम से Postgres वायर प्रोटोकॉल का समर्थन करता है, जिससे `psql`, `pgx`, और विभिन्न ORMs (जैसे GORM) सीधे कनेक्ट हो सकते हैं। यह Postgres dialect का एक उपसमुच्चय लागू करता है, जिसमें विंडो फंक्शंस, CTEs, joins, और `jsonb` समर्थन शामिल हैं।
- **एम्बेडेड आर्किटेक्चर**: `btypedb` के ऊपर एक संबंध परत के रूप में बनाया गया है, जो तालिकाओं, पंक्तियों और द्वितीयक सूचकांकों को एकल क्रमित कुंजी स्थान में एन्कोड करता है। इससे कुंजी स्कैन और परमाणु क्रियाओं की दक्षता बढ़ती है।
- **समावर्ती एवं लेनदेन**: डिफ़ॉल्ट रूप से सरलाइजेबल लेनदेन प्रदान करता है। उच्च-प्रदर्शन वाले रीड-हेवी वर्कलोड के लिए ओप्टिमिस्टिक कॉन्करेंसी कंट्रोल (OCC) मोड भी उपलब्ध है।
- **डाटा प्रकार**: `timestamp[tz]`, `date`, `uuid`, `text[]`, और पूर्ण ऑपरेटर परिवार वाले `jsonb` सहित Postgres-ग्रेड प्रकारों का समर्थन करता है।
- **स्थिरता एवं सुरक्षा**: पावर-लॉस स्थिरता के लिए WAL (write-ahead लॉग), विकल्पीय AES-256-GCM एन्क्रिप्शन, और S3-कम्पैटीबल ऑब्जेक्ट स्टोर्स को असिंक रीप्लिकेशन (Litestream की तरह) की सुविधा है।
- **स्कीमा प्रबंधन**: स्पार्स रो वैल्यू का समर्थन करता है, जिससे `AddColumn` और `DropColumn` जैसे केवल-मेटाडाटा स्कीमा बदलाव पूरे तालिका पुनर्लेखन के बिना संभव होते हैं।
इस डेटाबेस को मानक `database/sql` ड्राइवर, सीधा SQL API, या Postgres वायर प्रोटोकॉल के माध्यम से स्टैंडअलोन सर्वर के रूप में उपयोग किया जा सकता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.