المتطلبات الأساسية
- إمكانية الوصول إلى قاعدة بيانات PostgreSQL المصدر لديك.
- مثيل من ClickHouse Managed Postgres تريد ترحيل بياناتك إليه.
- تثبيت PeerDB على جهاز. يمكنك اتباع إرشادات التثبيت في مستودع PeerDB على GitHub. كل ما عليك هو استنساخ المستودع وتشغيل
docker-compose up. في هذا الدليل، سنستخدم واجهة PeerDB، وستكون متاحة علىhttp://localhost:3000بمجرد تشغيل PeerDB.
اعتبارات قبل الترحيل
- كائنات قاعدة البيانات: سينشئ PeerDB الجداول تلقائيًا في قاعدة البيانات الهدف استنادًا إلى مخطط المصدر. ومع ذلك، لن تُرحَّل بعض كائنات قاعدة البيانات، مثل الفهارس والقيود والمشغلات، تلقائيًا. وستحتاج إلى إعادة إنشاء هذه الكائنات يدويًا في قاعدة البيانات الهدف بعد الترحيل.
- تغييرات DDL: إذا فعّلت النسخ المتماثل المستمر، فسيُبقي PeerDB قاعدة البيانات الهدف متزامنة مع المصدر لعمليات DML (INSERT وUPDATE وDELETE)، كما سينقل عمليات ADD COLUMN. ومع ذلك، لا تُنقل تغييرات DDL الأخرى (مثل DROP COLUMN وALTER COLUMN) تلقائيًا. لمزيد من المعلومات حول دعم تغييرات المخطط، راجع هنا
- اتصال الشبكة: تأكد من إمكانية الوصول إلى كلٍ من قاعدة البيانات المصدر وقاعدة البيانات الهدف من الجهاز الذي يعمل عليه PeerDB. وقد تحتاج إلى تهيئة قواعد جدار الحماية أو إعدادات مجموعة الأمان للسماح بالاتصال.
إنشاء نظراء
+ New peer.
إنشاء source نظير
Create peer لحفظ الـ نظير.
إنشاء نظير الهدف
Create peer لحفظ نظير الهدف.
الآن، ينبغي أن ترى كلاً من نظير المصدر ونظير الهدف مدرجَين في قسم “Peers”.
الحصول على تفريغ مخطط قاعدة البيانات المصدر
pg_dump لإنشاء تفريغ للمخطط فقط من قاعدة بيانات PostgreSQL المصدر:
تثبيت pg_dump
تثبيت pg_dump
Ubuntu:حدّث قوائم الحزم:ثبّت عميل PostgreSQL:macOS:الطريقة 1: باستخدام Homebrew (موصى بها)ثبّت Homebrew إذا لم يكن مثبّتًا لديك:ثبّت PostgreSQL:تحقّق من التثبيت:
إزالة القيود الفريدة والفهارس من ملف تفريغ المخطط
طبّق تفريغ المخطط على قاعدة البيانات المستهدفة
psql ثم تشغيل ملف تفريغ المخطط:
target peer) بحيث يُضبط session_replication_role على replica:
أنشئ مرآة
+ New mirror.
- امنح المرآة اسمًا يعبّر عن عملية الترحيل.
- اختر النظير المصدر والنظير الهدف اللذين أنشأتهما سابقًا من القوائم المنسدلة.
- تأكد مما يلي:
- أن يكون Soft delete مضبوطًا على OFF.
- وسّع
Advanced settings. وتأكد من أن نظام أنواع Postgres مُمكّن وأن أعمدة PeerDB معطّلة.
- اختر الجداول التي تريد ترحيلها. يمكنك اختيار جداول محددة أو تحديد جميع الجداول من قاعدة البيانات المصدر.
اختيار الجداولتأكد من أن أسماء الجداول في قاعدة البيانات الهدف تطابق أسماء الجداول المصدر، لأننا رحّلنا المخطط كما هو في الخطوة السابقة.
- بعد تكوين إعدادات المرآة، انقر على الزر
Create mirror.
انتظر اكتمال التحميل الأولي
مراقبة التحميل الأولي والنسخ المتماثل
- في البداية، نشغّل استعلام COUNT لتقدير عدد الصفوف في كل جدول.
- ثم نشغّل استعلام تقسيم باستخدام NTILE لتجزئة الجداول الكبيرة إلى أجزاء أصغر من أجل نقل البيانات بكفاءة.
- بعد ذلك ننفّذ أوامر FETCH لسحب البيانات من قاعدة البيانات المصدر، ثم يزامنها PeerDB مع قاعدة البيانات الهدف.
مهام ما بعد الترحيل
قد تختلف هذه الخطوات بحسب حالة الاستخدام الخاصة بك ومتطلبات التطبيق. المهم هو ضمان اتساق البيانات، وتقليل فترة التعطل إلى أدنى حد، والتحقق من سلامة البيانات المُرحَّلة قبل الانتقال الكامل إلى النظام الجديد.
- أجرِ فحوصات التحقق قبل التحويل النهائي
- أوقف عمليات الكتابة على النظام المصدر
- تأكّد من أن النسخ المتماثل متزامن بالكامل
- أعِد إنشاء القيود والفهارس والمشغّلات وفعّلها
replica:
- أعد تعيين التسلسلات في الجداول المستهدفة
- تحويل حركة مرور التطبيق
- وجّه حركة مرور القراءة إلى ClickHouse Managed Postgres.
- وجّه حركة مرور الكتابة إلى ClickHouse Managed Postgres.
- راقب أخطاء التطبيق، ومخالفات القيود، وصحة قاعدة البيانات.
- تنظيف الموارد
فتحات النسخ المتماثلإذا فعّلت النسخ المتماثل المستمر، فسينشئ PeerDB فتحة نسخ متماثل على قاعدة بيانات PostgreSQL المصدر. احرص على حذف فتحة النسخ المتماثل يدويًا من قاعدة البيانات المصدر بعد الانتهاء من الترحيل لتجنّب استهلاك الموارد دون داعٍ.
المراجع
- وثائق ClickHouse Managed Postgres
- دليل PeerDB لإنشاء CDC
- الأسئلة الشائعة حول Postgres ClickPipe (وينطبق ذلك أيضًا على PeerDB)