इस प्रोजेक्ट के बारे में
Dynoxide एक DynamoDB एमुलेटर है जिसे Rust में लागू किया गया है और इसकी स्टोरेज परत SQLite है। इसे स्थानीय विकास, परीक्षण और CI के लिए DynamoDB Local के हल्के विकल्प के रूप में स्थापित किया गया है, और इसका उपयोग कई तरीकों से किया जा सकता है: एक स्टैंडअलोन HTTP सर्वर के रूप में जो DynamoDB-संगत API प्रदर्शित करता है, कोडिंग एजेंटों के लिए MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर के रूप में, Rust और iOS अनुप्रयोगों के लिए एम्बेडेबल लाइब्रेरी के रूप में, और ब्राउज़र उपयोग के लिए WebAssembly में संकलित किया जा सकता है।
स्थापना और चलाने के विकल्पों में npx (npx dynoxide --port 8000), एक npm डेव निर्भरता, एक Docker इमेज (ghcr.io/nubo-db/dynoxide) शामिल है जिसे amazon/dynamodb-local के ड्रॉप-इन के रूप में लक्षित किया गया है, साथ ही Homebrew, Cargo और पूर्व-निर्मित बाइनरी भी शामिल हैं। किसी भी AWS SDK या DynamoDB क्लाइंट को स्थानीय एंडपॉइंट पर इंगित किया जा सकता है। एक --log quiet फ्लैग stderr पर सूचनात्मक स्टार्टअप और शटडाउन संदेशों को दबा देता है।
README में DynamoDB Local और LocalStack के विरुद्ध बेंचमार्क तुलनाएँ रिपोर्ट की गई हैं जिनमें कोल्ड स्टार्टअप, GetItem विलंबता, PutItem थ्रूपुट, परीक्षण-सूट रनटाइम, डाउनलोड और ऑन-डिस्क आकार, और निष्क्रिय मेमोरी शामिल हैं। यह यह भी नोट करता है कि परियोजना को पैरिटी सूट (Parity Suite) द्वारा वास्तविक DynamoDB के विरुद्ध लगातार सत्यापित किया जाता है, जो एक सार्वजनिक DynamoDB अनुरूपता सूट है, जिसमें पिन किए गए स्नैपशॉट के बजाय लाइव स्टैंडिंग प्रकाशित की जाती हैं; README खुलासा करता है कि Dynoxide और Parity Suite एक ही अनुरक्षक साझा करते हैं। WebAssembly बिल्ड को अलग से स्कोर किया जाता है और वर्तमान में अन्य लक्ष्यों की तुलना में अधिक ऑपरेशन छोड़ता है।
समर्थित कार्यक्षमता में टेबल, आइटम, क्वेरी और स्कैन, बैच, ट्रांज़ैक्शन, PartiQL, स्ट्रीम, TTL और टैग शामिल हैं, जिसमें GSI और LSI समर्थन, एक्सप्रेशन सिंटैक्स, और DynamoDB-संगत पेजिनेशन, सत्यापन और त्रुटि कोड शामिल हैं। प्रलेखित सीमाओं में अप्रयुक्त क्लाउड-केवल ऑपरेशन (बैकअप और पॉइंट-इन-टाइम रिस्टोर, ग्लोबल टेबल, Kinesis स्ट्रीमिंग, संसाधन नीतियाँ, क्षमता प्रबंधन), ConsistentRead को स्वीकार किया जाना लेकिन कोई प्रभाव नहीं होना क्योंकि SQLite मजबूती से सुसंगत है, स्ट्रीम एकल शार्ड प्रदर्शित करती हैं जिसमें पेजिंग पैरामीटर अनदेखा किए जाते हैं, और ट्रांज़ैक्शन-विरोध त्रुटियों का अनुकरण नहीं किया जाना शामिल है। परियोजना स्पष्ट रूप से उत्पादन उपयोग के बजाय स्थानीय विकास, परीक्षण और CI के लिए लक्षित है।
दस्तावेज़ीकरण में स्थापना, HTTP सर्वर, Testcontainers उपयोग, MCP सर्वर, DynamoDB स्ट्रीम, टेबल फ़िल्टरिंग और अनामीकरण के साथ एक आयात CLI, WebAssembly, लाइब्रेरी एम्बेडिंग और फीचर फ्लैग, संगतता, संस्करण और रिलीज़िंग शामिल हैं। README एक क्रेट संस्करण (केवल Rust लाइब्रेरी) को एक उत्पाद संस्करण से अलग करता है जो बाइनरी, npm पैकेज, कंटेनर इमेज, ब्राउज़र इंजन और GitHub एक्शन को कवर करता है। Dynoxide MIT और Apache 2.0 के तहत दोहरे लाइसेंस प्राप्त है, एक क्लीन-रूम Rust कार्यान्वयन है, और इसकी API शब्दार्थ और सत्यापन तर्क पर प्रभाव के रूप में dynalite को स्वीकार करता है। यह बताता है कि यह Amazon से संबद्ध, समर्थित या प्रायोजित नहीं है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.