عن المشروع
Dynoxide هو محاكي DynamoDB مُنفَّذ بلغة Rust مع SQLite كطبقة تخزين. يُقدَّم كبديل أخف من DynamoDB Local للتطوير المحلي والاختبار والتكامل المستمر، ويمكن استخدامه بعدة طرق: كخادم HTTP مستقل يعرض واجهة برمجة تطبيقات متوافقة مع DynamoDB، وكخادم 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، وأزمنة تشغيل مجموعات الاختبار، وحجم التنزيل وعلى القرص، والذاكرة الخاملة. كما يشير إلى أن المشروع يتم التحقق منه باستمرار مقابل DynamoDB الحقيقي بواسطة Parity Suite، وهي مجموعة مطابقة عامة لـ DynamoDB، مع نشر الترتيب المباشر بدلاً من لقطة مثبتة؛ ويكشف ملف README أن Dynoxide وParity Suite يتشاركان مشرفًا. يتم تقييم بناء WebAssembly بشكل منفصل ويتخطى حاليًا عمليات أكثر من الأهداف الأخرى.
تشمل الوظائف المدعومة الجداول والعناصر والاستعلام والمسح والدفعات والمعاملات وPartiQL والتدفقات وTTL والوسوم، مع دعم GSI وLSI، وصياغة التعبيرات، والترقيم والتحقق ورموز الأخطاء المتوافقة مع DynamoDB. تشمل القيود الموثقة العمليات السحابية غير المنفذة (النسخ الاحتياطي والاستعادة إلى نقطة زمنية، والجداول العالمية، وبث Kinesis، وسياسات الموارد، وإدارة السعة)، وقبول ConsistentRead دون أن يكون له تأثير لأن SQLite متسق بقوة، وتعريض التدفقات لشارد واحد مع تجاهل معاملات الترقيم، وعدم محاكاة أخطاء تنازع المعاملات. يستهدف المشروع صراحةً التطوير المحلي والاختبار والتكامل المستمر بدلاً من الاستخدام الإنتاجي.
تغطي الوثائق التثبيت، وخادم HTTP، واستخدام Testcontainers، وخادم MCP، وتدفقات DynamoDB، وواجهة سطر أوامر استيراد مع تصفية الجداول وإخفاء الهوية، وWebAssembly، وتضمين المكتبة وأعلام الميزات، والتوافق، والإصدارات والإطلاق. يميز ملف README بين إصدار crate (مكتبة Rust فقط) وإصدار المنتج الذي يغطي الثنائي وحزم npm وصور الحاويات ومحرك المتصفح وإجراء GitHub. Dynoxide مرخص ترخيصًا مزدوجًا بموجب MIT وApache 2.0، وهو تنفيذ Rust بنظام الغرفة النظيفة، ويقر بـ dynalite كتأثير على دلالات واجهة برمجة التطبيقات ومنطق التحقق. وينص على أنه غير تابع لشركة Amazon أو معتمد منها أو برعايتها.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.