PgDog
أداة للتوسع الأفقي في PostgreSQL تجمع تجميع الاتصالات وموازنة الحمل والتقسيم الموزع في ملف تنفيذي واحد.
نبذة عن PgDog
PgDog أداة للتوسع الأفقي في PostgreSQL، تدمج تجميع الاتصالات وموازنة الحمل وقدرات قواعد البيانات الموزعة في ملف تنفيذي واحد. وبصفته مجمع اتصالات، يتيح لعدد قليل من اتصالات Postgres خدمة أكثر من 100,000 عميل دون الإخلال بوظائف Postgres؛ ووفقًا للجهة الموردة، يمكن لخيط واحد معالجة أكثر من 50,000 معاملة في الثانية. وبصفته موازن حمل، يوزع استعلامات القراءة بين النسخ المتماثلة، ويكتشف تأخر النسخ المتماثل والتحويل من العقدة الأساسية، ولا يحتاج التطبيق إلا إلى نقطة دخول واحدة. في الوضع الموزع، يستخرج PgDog مفتاح التقسيم من الاستعلامات ويوجهها إلى الجزء الصحيح؛ وتُنفَّذ الاستعلامات التي لا تحتوي على مفتاح تقسيم بالتوازي على جميع قواعد البيانات. تنفذ المعاملات بين الأجزاء عمليات كتابة ذرية باستخدام الالتزام على مرحلتين، وتتراجع تلقائيًا عند حدوث خطأ؛ وتقول الجهة الموردة إن توافق ACID يظل قائمًا على نطاق واسع.
الأنسب لـ
أفضل حالات الاستخدام
استيعاب 100,000 اتصال من العملاء بشكل مستقر باستخدام عدد قليل من اتصالات قاعدة البيانات
توزيع حركة القراءة بين عدة نسخ متماثلة للقراءة فقط ورصد تأخر النسخ المتماثل والتحويل من العقدة الأساسية
توجيه الاستعلامات إلى الجزء المقابل حسب مفتاح التقسيم وتنفيذ الاستعلامات التي لا تحتوي عليه بالتوازي
تنفيذ المعاملات بين الأجزاء والتراجع تلقائيًا عند حدوث خطأ لضمان الذرية
الميزات
تجميع الاتصالات
مشاركة عدد قليل من اتصالات Postgres بين أكثر من 100,000 عميل دون الإخلال بوظائف Postgres.
موازنة حمل القراءة
توزيع استعلامات القراءة بين النسخ المتماثلة، واكتشاف تأخر النسخ المتماثل وأعطال الأجهزة والتحويل من العقدة الأساسية، مع نقطة نهاية واحدة لجميع الاستعلامات.
التقسيم الذكي
استخراج مفتاح التقسيم مباشرةً من الاستعلام وإرساله إلى الجزء الصحيح؛ وتُنفَّذ الاستعلامات التي لا تحتوي على مفتاح تقسيم بالتوازي على جميع قواعد البيانات.
المعاملات بين الأجزاء
استخدام معاملات Postgres المُعدّة الأصلية والالتزام على مرحلتين للكتابة ذريًا إلى جميع الأجزاء، مع التراجع التلقائي عند حدوث خطأ.
المزايا
- وفقًا للجهة الموردة، يمكن لخيط واحد معالجة أكثر من 50,000 معاملة في الثانية، مع استخدام بنية غير متزامنة متعددة الخيوط
- تتيح بضعة اتصالات فقط خدمة أكثر من 100,000 عميل دون الإخلال بوظائف Postgres
- تحتاج جميع الاستعلامات إلى نقطة نهاية واحدة فقط، مع اكتشاف تلقائي لتأخر النسخ المتماثل وأعطال الأجهزة والتحويل من العقدة الأساسية
- تستخدم المعاملات بين الأجزاء الالتزام على مرحلتين، ويؤدي أي خطأ إلى التراجع التلقائي