يمكن العثور هنا على دليل كامل لترحيل PostgreSQL إلى ClickHouse، بما في ذلك إرشادات حول نمذجة البيانات والمفاهيم المكافئة. يوضح ما يلي كيفية ربط ClickHouse بـ PostgreSQL.تستعرض هذه الصفحة الخيارات التالية لتكامل PostgreSQL مع ClickHouse:
- استخدام محرك الجدول
PostgreSQLللقراءة من جدول في PostgreSQL - استخدام محرك قاعدة البيانات التجريبي
MaterializedPostgreSQLلمزامنة قاعدة بيانات في PostgreSQL مع قاعدة بيانات في ClickHouse
استخدام محرك جدول PostgreSQL
PostgreSQL تنفيذ عمليتَي SELECT وINSERT على البيانات المخزّنة على خادم PostgreSQL البعيد انطلاقًا من ClickHouse.
تهدف هذه المقالة إلى توضيح أساليب التكامل الأساسية باستخدام جدول واحد.
1. إعداد PostgreSQL
- في
postgresql.conf، أضِف السطر التالي لتمكين PostgreSQL من الاستماع عبر واجهات الشبكة:
- أنشئ مستخدمًا ليتصل ClickHouse من خلاله. ولأغراض العرض التوضيحي، يمنح هذا المثال امتيازات superuser كاملة.
- أنشئ قاعدة بيانات جديدة في PostgreSQL:
- أنشئ جدولًا جديدًا:
- لنُضِف بضعة صفوف للاختبار:
- لتهيئة PostgreSQL للسماح بإجراء اتصالات بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لغرض النسخ المتماثل، أضف الإدخال التالي إلى الملف
pg_hba.conf. حدِّث سطر العنوان باستخدام الشبكة الفرعية أو عنوان IP لخادم PostgreSQL لديك:
- أعد تحميل إعدادات
pg_hba.conf(عدّل هذا الأمر وفقًا لإصدارك):
- تحقّق من إمكانية تسجيل دخول المستخدم الجديد
clickhouse_user:
إذا كنت تستخدم هذه الميزة في ClickHouse Cloud، فقد تحتاج إلى السماح لعناوين IP الخاصة بـ ClickHouse Cloud بالوصول إلى مثيل PostgreSQL لديك.
راجع Cloud Endpoints API للاطّلاع على تفاصيل حركة البيانات الصادرة.
2. أنشئ جدولًا في ClickHouse
- سجّل الدخول إلى
clickhouse-client:
- لنُنشئ قاعدة بيانات جديدة:
- أنشئ جدولًا يستخدم
PostgreSQL:
| parameter | Description | example |
|---|---|---|
| host:port | اسم المضيف أو عنوان IP والمنفذ | postgres-host.domain.com:5432 |
| database | اسم قاعدة بيانات PostgreSQL | db_in_psg |
| user | اسم المستخدم للاتصال بـ Postgres | clickhouse_user |
| password | كلمة المرور للاتصال بـ Postgres | ClickHouse_123 |
راجع صفحة توثيق 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 levelللنسخ المتماثل، وفتحات النسخ المتماثل:
logical لـ wal، وحدًا أدنى قدره 2 من فتحات النسخ المتماثل
- باستخدام حساب مسؤول، أنشئ مستخدمًا للاتصال من ClickHouse:
- أنشئ قاعدة بيانات جديدة:
- اتصل بقاعدة البيانات الجديدة باستخدام
psql:
- أنشئ جدولًا جديدًا:
- أضف الصفوف الأولية:
- اضبط PostgreSQL للسماح بالاتصال بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل. في ما يلي الحد الأدنى من الإدخالات التي يجب إضافتها إلى ملف
pg_hba.conf:
- أعد تحميل إعدادات
pg_hba.confبشيء مماثل لما يلي (عدِّله بما يناسب إصدارك):
- اختبر تسجيل الدخول باستخدام مستخدم
clickhouse_userالجديد:
2. في ClickHouse
- سجّل الدخول إلى ClickHouse CLI
- فعّل الميزة التجريبية لـ PostgreSQL لمحرك قاعدة البيانات:
- أنشئ قاعدة البيانات الجديدة التي ستخضع للنسخ المتماثل وعرّف الجدول الأولي:
| المعلمة | الوصف | مثال |
|---|---|---|
| host:port | اسم المضيف أو عنوان IP والمنفذ | postgres-host.domain.com:5432 |
| database | اسم قاعدة بيانات PostgreSQL | db1 |
| user | اسم المستخدم للاتصال بـ Postgres | clickhouse_user |
| password | كلمة المرور للاتصال بـ Postgres | ClickHouse_123 |
| settings | إعدادات إضافية للمحرك | materialized_postgresql_tables_list = ‘table1’ |
للاطلاع على الدليل الكامل لمحرك قاعدة بيانات PostgreSQL، راجع https://clickhouse.com/docs/engines/database-engines/materialized-postgresql/#settings
- تحقّق من أن الجدول الأصلي يحتوي على بيانات:
3. اختبر النسخ المتماثل الأساسي
- في PostgreSQL، أضف صفوفًا جديدة:
- في ClickHouse، تحقّق من ظهور الصفوف الجديدة:
4. الملخص
للاطّلاع على المزيد من الميزات المتاحة ضمن الخيارات المتقدمة، يُرجى مراجعة الوثائق المرجعية.