عن المشروع
PgDog هو وسيط PostgreSQL مفتوح المصدر مكتوب بلغة Rust، مصمم لتوسيع نطاق نشرات PostgreSQL من خلال ربط الاتصالات، وتوزيع الحمل عبر النسخ المكررة، والانشطار الأفقي لقواعد البيانات. يعمل كوسيط على طبقة التطبيق (المستوى السابع في نموذج OSI) يفهم بروتوكول PostgreSQL، مما يتيح توجيه الاستعلامات بذكاء بناءً على نية القراءة/الكتابة، أو مفاتيح الانchiaط، أو سياق المخطط.
تشمل الميزات الرئيسية:
- ربط المعاملات والجلسات مع آليات استعادة متقدمة، بما في ذلك الإرجاع التلقائي للمعاملات المهجورة.
- توزيع الحمل عبر العقد الرئيسية والنسخ المكررة باستخدام استراتيجيات الدوران الدائري، العشوائية، أو أقل نشاط، مع فحوصات صحية في الوقت الفعلي ودعم تحويل الأعطال.
- الانchiaط عبر دوال التقسيم (HASH, LIST, RANGE) أو التوجيه القائم على المخطط، مع دعم استعلامات متعددة الانchiaط وتجميع النتائج في الذاكرة.
- دعم توليد معرفات فريدة بدون متتابعات، وتحديث مفاتيح الانchiaط، وإدراجات متعددة الصفوف، committing ثنائي المرحلة للكتابات العابرة للانchiaط.
- قدرات إعادة الانchiaط باستخدام النسخ المنطقي، مما يسمح بإعادة توزيع البيانات دون توقف.
- مرونة المصادقة: بالأساس، AWS RDS IAM، Azure Workload Identity، وHashiCorp Vault (أدوار ديناميكية/ثابتة).
- الرصد عبر OpenMetrics أو OTEL أو قاعدة بيانات إدارية بنمط PgBouncer.
تشمل خيارات النشر Docker Compose وملفات Helm لـ Kubernetes (بما في ذلك EKS)، ووحدات Terraform لـ AWS ECS. يستخدم التكوين ملفات TOML (pgdog.toml لقواعد البيانات والإعدادات، users.toml للمصادقة). الأداة مُحسّنة للأداء على الأجهزة التجارية وتشمل أدوات مدمجة لمزامنة المخطط والبيانات أثناء إعادة الانchiaط.
يتوفر الدعم والمجتمع عبر الموقع الرسمي وDiscord. تُوثّق ميزات النسخة المؤسسية بشكل منفصل.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.