افتتحت شركة Alibaba الكود الخاص بـ PolarDB، وهو نظام إدارة قواعد بيانات موزع يعتمد على PostgreSQL.

افتتحت شركة Alibaba، إحدى أكبر شركات تكنولوجيا المعلومات الصينية، الكود المصدري لنظام DBMS PolarDB الموزع، استنادًا إلى PostgreSQL. يعمل PolarDB على توسيع قدرات PostgreSQL بأدوات لتخزين البيانات الموزعة بنزاهة ودعم لمعاملات ACID في سياق قاعدة البيانات العالمية بأكملها الموزعة عبر عقد عنقودية مختلفة. يدعم PolarDB أيضًا معالجة استعلام SQL الموزع والتسامح مع الأخطاء وتخزين البيانات الزائدة لاستعادة المعلومات بعد فشل عقدة واحدة أو أكثر. إذا كنت بحاجة إلى توسيع مساحة التخزين الخاصة بك، فيمكنك ببساطة إضافة عقد جديدة إلى المجموعة. الرمز مفتوح بموجب ترخيص Apache 2.0.

يتكون PolarDB من مكونين - ملحقات ومجموعة من التصحيحات لـ PostgreSQL. تعمل التصحيحات على توسيع قدرات PostgreSQL الأساسية، وتتضمن الامتدادات مكونات يتم تنفيذها بشكل منفصل عن PostgreSQL، مثل آلية إدارة المعاملات الموزعة، والخدمات العالمية، ومعالج استعلام SQL الموزع، وبيانات التعريف الإضافية، وأدوات إدارة المجموعة، ونشر المجموعة، وتبسيط الترحيل للأنظمة القائمة عليه.

تضيف التصحيحات إلى نواة PostgreSQL نسخة موزعة من آلية التحكم في الوصول المتوازي إلى البيانات باستخدام الإصدار المتعدد (MVCC، التحكم في التزامن Multiversion) لمستويات عزل مختلفة. يتم تضمين معظم وظائف PolarDB في الامتدادات، مما يقلل الاعتماد على PostgreSQL ويبسط تحديث وتنفيذ الحلول المستندة إلى PolarDB (يبسط الانتقال إلى الإصدارات الجديدة من PostgreSQL ويحافظ على التوافق الكامل مع PostgreSQL). لإدارة المجموعة، يتم استخدام مجموعة أدوات pgxc_ctl، استنادًا إلى أداة مساعدة مشابهة من PostgreSQL-XC وPostgreSQL-XL.

هناك ثلاثة مكونات أساسية في المجموعة: عقد قاعدة البيانات (DN)، ومدير المجموعة (CM) وخدمة إدارة المعاملات (TM). بالإضافة إلى ذلك، يمكن استخدام موازن تحميل الوكيل. كل مكون عبارة عن عملية منفصلة ويمكن تشغيله على خادم مختلف. تخدم عقد قاعدة البيانات استعلامات SQL من العملاء وتعمل في نفس الوقت كمنسقين لتنفيذ الاستعلام الموزع بمشاركة عقد قاعدة البيانات الأخرى. يقوم مدير المجموعة بمراقبة حالة كل عقدة قاعدة بيانات، ويخزن تكوين المجموعة، ويوفر أدوات لإدارة العقد، وعمل نسخة احتياطية لها، وموازنة التحميل، وتحديث، وبدء، وإيقاف العقد. خدمة إدارة المعاملات مسؤولة عن الحفاظ على التكامل العام عبر المجموعة بأكملها.

افتتحت شركة Alibaba الكود الخاص بـ PolarDB، وهو نظام إدارة قواعد بيانات موزع يعتمد على PostgreSQL.

يعتمد PolarDB على بنية الحوسبة الموزعة Shared-nothing، والتي بموجبها يتم توزيع البيانات عند تخزينها على عقد مختلفة، دون استخدام تخزين مشترك لجميع العقد، وتكون كل عقدة مسؤولة عن جزء البيانات المرتبطة بها وتقوم بإجراء الاستعلامات المتعلقة إلى البيانات. يتم تقسيم كل جدول إلى أجزاء (تجزئة) باستخدام التجزئة بناءً على المفتاح الأساسي. إذا كان الطلب يمتد إلى بيانات موجودة في عقد مختلفة، فسيتم تنشيط محرك تنفيذ المعاملة الموزع ومنسق المعاملة لضمان الذرية والاتساق والعزل والموثوقية (ACID).

لضمان التسامح مع الخطأ، يتم نسخ كل قطعة إلى ثلاث عقد على الأقل. لحفظ الموارد، تشتمل البيانات الكاملة على نسختين متماثلتين فقط، وتقتصر إحداهما على تخزين سجل إعادة الكتابة (WAL). يتم اختيار إحدى العقدتين اللتين تحتويان على نسخ متماثلة كاملة كقائد وتشارك في معالجة الطلبات. تعمل العقدة الثانية كاحتياطي لقطاع البيانات المعني، بينما تشارك الثالثة في اختيار العقدة الرائدة ويمكن استخدامها لاستعادة المعلومات في حالة فشل عقدتين مع نسخ متماثلة كاملة. يتم تنظيم النسخ المتماثل للبيانات بين العقد العنقودية باستخدام خوارزمية Paxos، والتي تضمن تعريفًا ثابتًا للإجماع في شبكة ذات عقد غير موثوقة.

تجدر الإشارة إلى أنه من المقرر الكشف عن الوظائف الكاملة لنظام PolarDB DBMS عبر ثلاثة إصدارات: في الإصدار الأول، سيتم نشر أدوات النسخ المتماثل والتوافر العالي وإدارة المجموعة. سيحتوي الإصدار الثاني على نظام تنفيذ المعاملات الموزع الذي يدعم ACID عبر العقدة وتنفيذ SQL الموزع. سيتضمن الإصدار الثالث مكونًا إضافيًا لـ PostgreSQL وأدوات لتوزيع البيانات بشكل مرن عبر العقد، بما في ذلك الوضع التكيفي للقطاعات لتحقيق الأداء الأمثل والقدرة على توسيع المجموعة عن طريق إضافة عقد جديدة.

المصدر: opennet.ru

إضافة تعليق