WalShadow هو محرك نسخ متماثل أصلي (native) لـ ClickHouse Managed Postgres يقرأ مباشرةً من سجل الكتابة المسبقة (WAL) في PostgreSQL. وهو مُحسَّن لتقليل زمن الاستجابة ولأحمال العمل عالية الإنتاجية، إذ يحقق تأخّر نسخ متماثل أقل من ثانية واحدة من Postgres إلى ClickHouse. ويجري تطويره بشكل مفتوح المصدر على ClickHouse/walshadow.
WalShadow هو إحدى طريقتَي النسخ المتماثل المتاحتين ضمن Sync to ClickHouse. أما الأخرى، ClickPipes، فهي خط أنابيب بيانات مُدار بالكامل. اختر WalShadow عندما تحتاج إلى أدنى زمن استجابة وأقل عبء نسخ متماثل.
عند توفّر WalShadow لخدمتك، تظهر لافتة Private Preview في صفحة Overview. انقر على Configure WalShadow للبدء.
قبل المتابعة، تأكد من أن خدمة Postgres لديك قابلة للوصول من ClickHouse. يتصل
WalShadow بخدمة ClickHouse الوجهة مباشرةً، لذا ستحتاج إلى مستخدم ClickHouse وكلمة مرور يمتلكان صلاحية إنشاء قواعد البيانات والجداول.1
اختيار محرك النسخ المتماثل
اختر WalShadow كمحرك للنسخ المتماثل، ثم انقر على Next.
2
تهيئة خدمة النسخ المتماثل
املأ إعدادات النسخ المتماثل:
- خدمة ClickHouse: اختر خدمة ClickHouse موجودة أو أنشئ واحدة جديدة
- Postgres database: اختر قاعدة البيانات المصدر التي سيجري النسخ المتماثل منها، أو أنشئ واحدة جديدة
- طريقة النسخ المتماثل: اختر أحد الخيارات التالية:
- Initial load + CDC: استيراد البيانات الموجودة وإبقاء الجداول محدَّثة بالتغييرات الجديدة (موصى به)
- Initial load only: استيراد لمرة واحدة للبيانات الموجودة دون أي تحديثات مستمرة
- CDC only: تخطي الاستيراد الأولي والاكتفاء بالتقاط التغييرات الجديدة من هذه النقطة فصاعدًا
3
اختيار الجداول المراد نسخها
اختر قاعدة بيانات هدف وحدد الجداول التي تريد نسخها:
- Destination database: اختر قاعدة بيانات ClickHouse موجودة أو أنشئ واحدة جديدة
- Tables: وسّع كل schema واختر جداول فردية، أو فعّل Select all tables. ويمكنك لكل جدول تخصيص Destination table name وضبط Column settings.
- مستخدم ClickHouse وClickHouse password: يتصل
WalShadowبـ خدمة ClickHouse الهدف مباشرةً، لذا يحتاج إلى credentials تمتلك permission لإنشاء قاعدة البيانات الهدف والجداول.
4
مراقبة WalShadow
بعد بدء النسخ المتماثل، يظهر
WalShadow في صفحة Sync to ClickHouse. وتكون حالته Creating ريثما يجري تجهيز خط أنابيب بيانات وإعداد الـ initial load.وبمجرد اكتمال التجهيز، تتغير الحالة إلى Running، وتعرض الصفحة metrics حية للنسخ المتماثل:- Status: الحالة الراهنة لخط أنابيب بيانات (مثل
Running) - Rows synced: إجمالي عدد الصفوف المنسوخة إلى ClickHouse
- Backfills pending: عدد الجداول التي لا تزال بانتظار الـ initial load الخاص بها
- Lag: حجم بيانات WAL التي لم تُطبَّق بعد
- Lag time: مقدار تأخر الوجهة حاليًا عن Postgres
- Uptime: المدة التي ظل فيها خط أنابيب بيانات قيد التشغيل
- Last updated: وقت آخر تحديث للـ metrics
محاذير
بعض الأمور التي ينبغي أخذها في الحسبان ما دامWalShadow في مرحلة Private Preview:
WalShadowواحد فقط لكل خدمة Postgres في الوقت الحالي.- العمليات (Operations) والمزيد من الـ metrics التفصيلية مدرجة ضمن خارطة الطريق (roadmap).