الإصدارات المدعومة
لنقل البيانات من مثيل AlloyDB الخاص بك إلى ClickHouse Cloud باستخدام ClickPipes، يجب تهيئة مثيلك لاستخدام النسخ المتماثل المنطقي. وهذا مدعوم بدءًا من الإصدار 14 من AlloyDB.
تفعيل النسخ المتماثل المنطقي
للتحقق مما إذا كان النسخ المتماثل المنطقي مفعّلًا في مثيل AlloyDB، شغّل الاستعلام التالي على المثيل الأساسي:
SHOW wal_level;إذا كانت النتيجة logical، فهذا يعني أن النسخ المتماثل المنطقي مفعّل بالفعل، ويمكنك الانتقال إلى الخطوة التالية. أما إذا كانت النتيجة replica، فيجب ضبط العلامتين alloydb.enable_pglogical وalloydb.logical_decoding على on في المثيل الأساسي.
لتمكين هذه العلامات:
-
في Google Cloud Console، انتقل إلى صفحة Clusters الخاصة بـ AlloyDB. من قائمة Actions للمثيل الأساسي، انقر على Edit.

-
مرّر إلى أسفل حتى Advanced configuration options ثم وسّع هذا القسم. ضمن Flags، انقر على Add a database flag.
- أضف العلامة
allowdb.enable_pglogicalواضبط قيمتها علىon - أضف العلامة
alloydb.logical_decodingواضبط قيمتها علىon

- أضف العلامة
-
انقر على Update instance لحفظ تغييرات التكوين. ومن المهم ملاحظة أن هذا الإجراء يؤدي إلى إعادة تشغيل المثيل الأساسي.
-
بعد أن تتغير حالة المثيل من
UpdatingإلىReady، شغّل الاستعلام التالي على المثيل الأساسي للتأكد من تفعيل النسخ المتماثل المنطقي:SHOW wal_level;يجب أن تكون النتيجة
logical.
أنشئ مستخدم ClickPipes وأدر أذونات النسخ المتماثل
اتصل بمثيل AlloyDB الخاص بك كمستخدم إداري ونفّذ الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password'; -
امنح المستخدم الذي أنشأته في الخطوة السابقة وصولًا للقراءة فقط على مستوى المخطط. يوضح المثال التالي الأذونات الخاصة بالمخطط
public. كرر هذه الأوامر لكل مخطط يحتوي على جداول تريد نسخها متماثلًا:GRANT USAGE ON SCHEMA "public" TO clickpipes_user; GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user; ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user; -
امنح المستخدم امتيازات النسخ المتماثل:
ALTER USER clickpipes_user WITH REPLICATION; -
أنشئ publication تتضمن الجداول التي تريد نسخها متماثلًا. نوصي بشدة بقصر الـ publication على الجداول التي تحتاجها فقط لتجنب الحمل الإضافي على الأداء.
-
لإنشاء publication لجداول محددة:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
لإنشاء publication لجميع الجداول ضمن مخطط محدد:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
تحدّد publication clickpipes مجموعة الجداول التي ستُبث أحداث التغيير الخاصة بها إلى ClickPipes. لا نوصي باستخدام FOR ALL TABLES إلا إذا كنت تنوي نسخ كل الجداول متماثلًا، لأن تضمين جداول غير ضرورية يزيد حركة WAL من Postgres إلى ClickPipes ويقلل الكفاءة العامة للنسخ المتماثل.
تهيئة الوصول إلى الشبكة
بعد ذلك، اختر كيفية اتصال ClickPipes بمثيل AlloyDB الخاص بك.
للاتصال الخاص من خدمة ClickHouse Cloud مستضافة على GCP، اتبع دليل GCP Private Service Connect لتهيئة نقطة نهاية خاصة عكسية لمثيل AlloyDB الخاص بك.
-
في Google Cloud Console، انتقل إلى صفحة AlloyDB Clusters. حدِّد مثيلك الأساسي لفتح صفحة Overview.
-
مرِّر لأسفل إلى Instances in your cluster وانقر على Edit primary.
-
حدِّد مربع الاختيار Enable Public IP للسماح بالاتصال بالمثيل عبر الإنترنت العام. ضمن Authorized external networks، أدخل قائمة عناوين IP الثابتة الخاصة بـ ClickPipes للمنطقة التي نُشرت فيها خدمتك.

-
ضمن Network Security، حدِّد Require SSL Encryption (default) (إذا لم يكن محددًا بالفعل).
-
انقر على Update instance لحفظ تغييرات تهيئة أمان الشبكة.
إذا كنت لا تسمح بالوصول العام إلى مثيل AlloyDB الخاص بك، فيجب أولاً إعداد مضيف bastion عبر SSH لإنشاء نفق آمن للاتصال. لإعداد مضيف bastion عبر SSH على Google Cloud Platform:
-
أنشئ مثيل Google Compute Engine (GCE) وابدأ تشغيله باتباع الوثائق الرسمية.
- تأكد من أن مثيل GCE موجود في نفس Virtual Private Network (VPC) الخاصة بمثيل AlloyDB.
- تأكد من أن مثيل GCE لديه عنوان IP عام ثابت. ستستخدم عنوان IP هذا عند توصيل ClickPipes بمضيف bastion عبر SSH.
-
حدِّث قواعد جدار الحماية الخاصة بمضيف bastion عبر SSH للسماح بحركة المرور من قائمة عناوين IP الثابتة الخاصة بـ ClickPipes للمنطقة التي نُشرت فيها خدمتك.
-
حدِّث قواعد جدار الحماية الخاصة بـ AlloyDB للسماح بحركة المرور من مضيف bastion عبر SSH.
ما الخطوة التالية؟
يمكنك الآن إنشاء ClickPipe الخاص بك وبدء إدخال البيانات من مثيل Postgres لديك إلى ClickHouse Cloud. احرص على تدوين تفاصيل الاتصال التي استخدمتها أثناء إعداد مثيل Postgres لديك، لأنك ستحتاج إليها خلال عملية إنشاء ClickPipe.