- استخدام محرك الجدول
PostgreSQLللقراءة من جدول في PostgreSQL - استخدام محرك قاعدة البيانات التجريبي
MaterializedPostgreSQLلمزامنة قاعدة بيانات في PostgreSQL مع قاعدة بيانات في ClickHouse
استخدام محرك الجدول PostgreSQL
PostgreSQL تنفيذ عمليتي SELECT وINSERT على البيانات المخزنة على خادم PostgreSQL البعيد من داخل ClickHouse.
تهدف هذه المقالة إلى توضيح طرق التكامل الأساسية باستخدام جدول واحد.
1
إعداد PostgreSQL
- في
postgresql.conf، أضِف الإدخال التالي لتمكين PostgreSQL من الاستماع عبر واجهات الشبكة:
- أنشئ مستخدمًا للاتصال من ClickHouse. ولأغراض التوضيح، يمنح هذا المثال صلاحيات المستخدم الخارق كاملةً.
- أنشئ قاعدة بيانات جديدة في PostgreSQL:
- أنشئ جدولًا جديدًا:
- لنُضِف بضعة صفوف للاختبار:
- لتهيئة PostgreSQL للسماح بالاتصال بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل، أضف الإدخال التالي إلى ملف
pg_hba.conf. حدِّث سطر العنوان باستخدام الشبكة الفرعية أو عنوان IP لخادم PostgreSQL لديك:
- أعد تحميل ملف الإعداد
pg_hba.conf(عدّل هذا الأمر بما يتناسب مع إصدارك):
- تحقّق من إمكانية تسجيل دخول
clickhouse_user:
إذا كنت تستخدم هذه الميزة في ClickHouse Cloud، فقد تحتاج إلى السماح لعناوين IP الخاصة بـ ClickHouse Cloud بالوصول إلى مثيل PostgreSQL الخاص بك.
اطّلع على واجهة برمجة تطبيقات Cloud Endpoints في ClickHouse لمعرفة تفاصيل حركة المرور الصادرة.
2
أنشئ جدولًا في ClickHouse
- سجّل الدخول إلى
clickhouse-client:
- لنُنشئ قاعدة بيانات جديدة:
- أنشئ جدولًا يستخدم محرك
PostgreSQL:
اطّلع على صفحة التوثيق الخاصة بمحرك جدول PostgreSQL للحصول على قائمة كاملة بالمعلمات.
3
اختبر التكامل
- في ClickHouse، اعرض الصفوف المبدئية:
- في PostgreSQL مرة أخرى، أضف صفَّين إلى الجدول:
- من المفترض أن يظهر هذان الصفّان الجديدان في جدول ClickHouse لديك:
- لنرَ ما يحدث عند إضافة صفوف إلى جدول ClickHouse:
- يجب أن تظهر الصفوف المضافة إلى ClickHouse في الجدول في PostgreSQL:
PostrgeSQL.
اطّلع على صفحة التوثيق الخاصة بمحرك جدول PostgreSQL لمزيد من الميزات، مثل تحديد المخططات، وإرجاع مجموعة فرعية من الأعمدة فقط، والاتصال بعدة نُسخ متماثلة. واطّلع أيضًا على مدونة ClickHouse and PostgreSQL - a match made in data heaven - part 1.استخدام محرك قاعدة البيانات MaterializedPostgreSQL
1
في PostgreSQL
- في
postgresql.conf، عيّن الحد الأدنى لمستويات الاستماع، ومستوىWALللنسخ المتماثل، وفتحات النسخ المتماثل:
logical، وحدًا أدنى قدره 2 من فتحات النسخ المتماثل- باستخدام حساب مسؤول، أنشئ مستخدمًا لكي يتصل ClickHouse من خلاله:
- أنشئ قاعدة بيانات جديدة:
- اتصل بقاعدة البيانات الجديدة باستخدام
psql:
- أنشئ جدولًا جديدًا:
- أضف الصفوف الأولية:
- اضبط PostgreSQL للسماح بالاتصال بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل. فيما يلي الحد الأدنى من الإدخالات التي يجب إضافتها إلى ملف
pg_hba.conf:
- أعد تحميل إعداد
pg_hba.confبشيءٍ مثل هذا (عدِّله بما يناسب إصدارك):
- اختبر تسجيل الدخول باستخدام اسم المستخدم الجديد
clickhouse_user:
2
في ClickHouse
- سجّل الدخول إلى ClickHouse CLI
- فعِّل الميزة التجريبية لـ PostgreSQL الخاصة بمحرك قاعدة البيانات:
- أنشئ قاعدة البيانات الجديدة المراد نسخها متماثلًا، وعرّف الجدول الأولي:
للاطلاع على الدليل الكامل لمحرك قاعدة بيانات PostgreSQL، راجع https://clickhouse.com/docs/engines/database-engines/materialized-postgresql/#settings
- تحقّق من أن الجدول الأوّلي يحتوي على بيانات:
3
اختبر النسخ المتماثل الأساسي
- في PostgreSQL، أضف صفوفًا جديدة:
- في ClickHouse، تأكد من ظهور الصفوف الجديدة:
4
الملخص
يركّز دليل التكامل هذا على مثال بسيط يوضّح كيفية إجراء النسخ المتماثل لقاعدة بيانات تحتوي على جدول واحد، لكن توجد خيارات أكثر تقدمًا تشمل نسخ قاعدة البيانات بالكامل أو إضافة جداول ومخططات جديدة إلى عمليات النسخ المتماثل الحالية. وعلى الرغم من أن أوامر DDL غير مدعومة في هذا النوع من النسخ المتماثل، يمكن ضبط المحرّك بحيث يكتشف التغييرات ويعيد تحميل الجداول عند إجراء تغييرات هيكلية.
لمزيد من الإمكانات المتاحة ضمن الخيارات المتقدمة، يُرجى الاطلاع على الوثائق المرجعية.