أصدرت Yandex شفرة المصدر لـ DBMS الخاص بها «YDB»

أُعلن مؤخرًا أن شركة ياندكس قد أصدرت الشفرة المصدرية لنظام إدارة قواعد البيانات الخاص بها، "YDB" ، والذي يدعم لغة SQL ومعاملات ACID.

تم تصميم نظام إدارة قواعد البيانات من الصفر، وطُوّر في البداية بهدف ضمان تحمل الأعطال ، والتعافي التلقائي منها، وقابلية التوسع. ومن الجدير بالذكر أن ياندكس أطلقت مجموعات YDB تشغيلية، تضم أكثر من 10 عقدة، تخزن مئات البيتابايت من البيانات، وتعالج ملايين المعاملات الموزعة في الثانية.

المستجدات الرئيسية من YDB

من أبرز ميزات YDB استخدامها لنموذج بيانات علائقي يعتمد على الجداول. تُستخدم لغة استعلام YDB (YQL) للاستعلام عن مخطط البيانات وتحديده؛ وهي لهجة من لغة SQL مُعدّلة للعمل مع قواعد البيانات الكبيرة والموزعة . عند إنشاء مخطط تخزين، يدعم YDB تجميع الجداول على شكل شجرة، على غرار الدلائل في نظام الملفات. كما يوفر واجهة برمجة تطبيقات (API) للتعامل مع البيانات بصيغة JSON.

ومن الجدير بالذكر أيضاً قدرته على إنشاء تكوينات مقاومة للأعطال تستمر في العمل حتى في حال تعطل الأقراص أو العُقد أو الرفوف أو حتى مراكز البيانات الفردية. يدعم YDB النشر المتزامن والنسخ المتماثل عبر ثلاث مناطق توافر مع الحفاظ على سلامة المجموعة في حالة تعطل إحدى المناطق.

التوافق مع الوصول إلى البيانات عبر استعلامات المسح، المصممة لإجراء استعلامات تحليلية مخصصة على قاعدة البيانات، يتم تنفيذها في وضع القراءة فقط وإرجاع تدفق gRPC.

علاوة على ذلك، يتميز النظام بقدرته على تخزين البيانات مباشرةً على وحدات التخزين باستخدام مكون PDisk الأصلي وطبقة VDisk. بالإضافة إلى VDisk، يعمل DSProxy الذي يحلل مدى توفر القرص وأدائه لاستبعاد أي مشاكل قد تظهر.

ومن بين الميزات البارزة الأخرى ما يلي:

  • بنية مرنة تسمح لك ببناء خدمات متنوعة على رأس YDB ، وصولاً إلى أجهزة الحظر الافتراضية وقوائم الانتظار المستمرة. الملاءمة لأنواع مختلفة من أعباء العمل: OLTP و OLAP (استعلامات تحليلية).
  • دعم تكوينات المستخدمين المتعددين (متعدد المستأجرين) وبدون خادم.
  • القدرة على مصادقة العملاء. يمكن للمستخدمين إنشاء مجموعات وقواعد بيانات افتراضية خاصة بهم على بنية تحتية مشتركة ، مع مراعاة استهلاك الموارد من حيث عدد الطلبات وحجم البيانات ، أو عن طريق استئجار / حجز بعض موارد الحوسبة ومساحة التخزين.
  • إمكانية تعديل العمر الإنتاجي للسجلات للحذف التلقائي للبيانات القديمة.
  • يتم التفاعل مع DBMS وتقديم الطلبات باستخدام واجهة سطر الأوامر أو واجهة الويب المتكاملة أو YDB SDK ، والتي توفر مكتبات لـ C ++ و C # (.NET) و Go و Java و Node.js و PHP و Python.
  • التعافي تلقائيًا من حالات الفشل بأقل تأخير ممكن للتطبيقات والحفاظ تلقائيًا على التكرار المحدد عند تخزين البيانات.
  • الإنشاء التلقائي للفهارس على المفتاح الأساسي والقدرة على تحديد الفهارس الثانوية لتحسين كفاءة الوصول التعسفي إلى العمود.
  • قابلية التوسع الأفقي. مع نمو حجم البيانات المخزنة وحجمها ، يمكن توسيع الكتلة ببساطة عن طريق توصيل عقد جديدة. طبقات الحوسبة والتخزين منفصلة ، مما يسمح لك بقياس الحوسبة والتخزين بشكل منفصل. يراقب نظام DBMS نفسه التوزيع المتساوي للبيانات والحمل ، مع مراعاة موارد الأجهزة المتاحة. من الممكن تنفيذ التكوينات الموزعة جغرافيًا التي تغطي عدة مراكز بيانات في أجزاء مختلفة من العالم.
  • دعم نموذج تناسق قوي ومعاملات ACID عند معالجة الاستعلامات التي تمتد عبر عقد وجداول متعددة. لتحسين الأداء ، يمكنك تعطيل التحقق من التناسق بشكل انتقائي.
  • النسخ المتماثل التلقائي للبيانات ، التقسيم التلقائي (التقسيم ، التجزئة) عند زيادة الحجم أو الحمل ، والتحميل التلقائي وموازنة البيانات بين العقد.

وأخيرًا، تجدر الإشارة إلى أن YDB يُستخدم في مشاريع ياندكس، وأن الكود مكتوب بلغة C/C++ ومُوزّع بموجب ترخيص Apache 2.0. يمكنك العثور على الكود المصدري، بالإضافة إلى مزيد من التفاصيل عنه، على الرابط التالي.


أضف كمصدر مفضل في جوجل