مشروع Dingo Store هو نظام تخزين KV موزع يعتمد على مجموعات النسخ المتماثل المتعددة RAFT ، والذي يوفر أيضًا إمكانية تفريغ حساب طبقة التخزين. خدمة الطبقة العليا لهذا المشروع هي Dingodb استنادًا إلى SQL ، ويمكن أن توفر أيضًا إمكانية تخزين التقديم عالي التردد على أساس KV. العمارة العامة للمشروع هي كما يلي:

تحتوي مجموعة التخزين في Dingodb ، Dingo Store ، على الأدوار التالية:
يعد المنسق بمثابة مكون إدارة البيانات الوصفية المركزية لمجموعة DingoDB بأكملها ، مع استخدام بروتوكول إجماع RAFT. يحافظ على بيانات التعريف التي توضح توزيع البيانات والطوبولوجيا الكلية لمجموعة DingoDB. غالبًا ما يشار إلى "الدماغ" لنظام DingoDB ، فإن المنسق لا يحتفظ فقط بوصوف الكتلة ولكن يشرف أيضًا على تخصيص الموارد. من أجل المتانة والتوافر العالي ، يعمل المنسق مع ما لا يقل عن ثلاث عقد. يوصى بالعدد الفردي من العقد المنسق للنشر الأمثل.
يقدم Dingo Store آلية متعددة الروايات تعتمد على بروتوكول RAFT ، مما يضمن اتساق البيانات. كما يوفر إمكانيات مثل النسخ المتماثل LOG ، وانتخاب Leader ، وترحيل مجموعة RAFT ، وتثبيت اللقطة ، والانقسام التلقائي بناءً على حجم البيانات. علاوة على ذلك ، يقوم Dingo Store بتخطيط جميع نماذج بيانات الأعمال إلى نموذج بيانات القيمة الرئيسية ، مما يوفر قدرات قراءة مفتاح عالية التردد سلسة. على سبيل المثال ، يقوم بتحويل نماذج الجدول ونماذج الفهرس بالكامل إلى تمثيل KV.
Dingo-Index هو نسخة متخصصة من Dingo Store. إنه لا يوفر إمكانات تخزين البيانات الموزعة فحسب ، بل يضمن أيضًا إنشاء بيانات متجه عالية الأبعاد عالية الأبعاد وفهرسته. ويوفر قدرات بحث واسعة في المساحات عالية الأبعاد. يدعم النظام تنسيقات مؤشر المتجه مثل HNSW و IVF.
مرحبًا بك لزيارة Dingodb. يقع وثائق DingodB على الموقع الإلكتروني: https://dingodb.readthedocs.io. المشاريع الرئيسية حول DingoDB هي كما يلي:
Dingo Store هو مشروع هجين لـ C ++ و Java ، حيث يوفر C ++ إمكانيات تخزين وحساب موزعة ، بينما توفر طبقة Java واجهات API الأساسية.
git submodule sync --recursive
git submodule update --init --recursive
mkdir build && cd build
# Release
cmake -DCMAKE_BUILD_TYPE=Release -DTHIRD_PARTY_BUILD_TYPE=Release -DDINGO_BUILD_STATIC=ON -DBUILD_UNIT_TESTS=OFF ..
# Debug
cmake -DCMAKE_BUILD_TYPE=Debug -DTHIRD_PARTY_BUILD_TYPE=Debug -DDINGO_BUILD_STATIC=ON -DBUILD_UNIT_TESTS=ON ..
# RelWithDebInfo
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DTHIRD_PARTY_BUILD_TYPE=RelWithDebInfo -DDINGO_BUILD_STATIC=ON -DBUILD_UNIT_TESTS=ON ..
make cd java && mvn clean package - DskipTests لمزيد من المعلومات التفصيلية ، يرجى الرجوع إلى: دليل المساهمة
Dingo Store هو مشروع مفتوح المصدر مرخص في إصدار ترخيص Apache 2.0 ، أرحب بأي تعليقات من المجتمع. للحصول على أي دعم أو اقتراح ، يرجى الاتصال بنا.
