الانتقال إلى المحتوى الرئيسي
تستعرض هذه الصفحة الخيارات التالية لدمج PostgreSQL مع ClickHouse:
  • استخدام محرك الجدول PostgreSQL للقراءة من جدول في PostgreSQL
  • استخدام محرك قاعدة البيانات التجريبي MaterializedPostgreSQL لمزامنة قاعدة بيانات في PostgreSQL مع قاعدة بيانات في ClickHouse
اطّلع على خدمة Managed Postgres الخاصة بنا. فهي تعتمد على تخزين NVMe موجود فعليًا إلى جانب موارد الحوسبة، ما يوفّر أداءً أسرع حتى 10 مرات لأحمال العمل المقيّدة بأداء القرص مقارنةً بالبدائل التي تستخدم التخزين المتصل بالشبكة مثل EBS، كما تتيح لك نسخ بيانات Postgres إلى ClickHouse باستخدام موصل Postgres CDC في ClickPipes.

استخدام محرك الجدول PostgreSQL

يتيح محرك الجدول PostgreSQL تنفيذ عمليتي SELECT وINSERT على البيانات المخزنة على خادم PostgreSQL البعيد من داخل ClickHouse. تهدف هذه المقالة إلى توضيح طرق التكامل الأساسية باستخدام جدول واحد.

1. إعداد PostgreSQL

  1. في ملف postgresql.conf، أضِف الإدخال التالي لتمكين PostgreSQL من الاستماع عبر واجهات الشبكة:
  1. أنشئ مستخدمًا للاتصال عبر ClickHouse. ولأغراض التوضيح، يمنح هذا المثال صلاحيات مستخدم فائق كاملة.
  1. أنشئ قاعدة بيانات جديدة في PostgreSQL:
  1. أنشئ جدولًا جديدًا:
  1. لنُضِف بضعة صفوف للاختبار:
  1. لتهيئة PostgreSQL للسماح بإجراء اتصالات بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل، أضف الإدخال التالي إلى ملف pg_hba.conf. حدِّث سطر العنوان باستخدام الشبكة الفرعية أو عنوان IP لخادم PostgreSQL:
  1. أعد تحميل إعدادات pg_hba.conf (عدّل هذا الأمر وفقًا لإصدارك):
  1. تحقّق من إمكانية تسجيل دخول المستخدم الجديد clickhouse_user:
إذا كنت تستخدم هذه الميزة في ClickHouse Cloud، فقد تحتاج إلى السماح لعناوين IP الخاصة بـ ClickHouse Cloud بالوصول إلى مثيل PostgreSQL لديك. راجع واجهة برمجة تطبيقات Cloud Endpoints في ClickHouse للاطّلاع على تفاصيل حركة المرور الصادرة.

2. عرّف جدولًا في ClickHouse

  1. سجّل الدخول إلى clickhouse-client:
  1. لننشئ قاعدة بيانات جديدة:
  1. أنشئ جدولًا يستخدم PostgreSQL:
الحد الأدنى من المعلمات المطلوبة هو:
راجع صفحة وثائق محرك الجدول PostgreSQL للحصول على قائمة كاملة بالمعلمات.

3 اختبر التكامل

  1. في ClickHouse، اعرض الصفوف المبدئية:
يجب أن يُملأ جدول ClickHouse تلقائيًا بالصفّين اللذين كانا موجودين بالفعل في جدول PostgreSQL:
  1. في PostgreSQL مرة أخرى، أضف صفَّين إلى الجدول:
  1. من المفترض أن يظهر هذان الصفّان الجديدان في جدول ClickHouse لديك:
يجب أن تكون الاستجابة كما يلي:
  1. لنرَ ما يحدث عند إضافة صفوف إلى جدول ClickHouse:
  1. يجب أن تظهر الصفوف المضافة إلى ClickHouse في الجدول في PostgreSQL:
عرض هذا المثال التكامل الأساسي بين PostgreSQL وClickHouse باستخدام محرك الجدول PostrgeSQL. اطّلع على صفحة التوثيق الخاصة بمحرك جدول PostgreSQL لمزيد من الميزات، مثل تحديد المخططات، وإرجاع مجموعة فرعية من الأعمدة فقط، والاتصال بعدة نُسخ متماثلة. واطّلع أيضًا على مدونة ClickHouse and PostgreSQL - a match made in data heaven - part 1.

استخدام محرك قاعدة البيانات MaterializedPostgreSQL

يستخدم محرك قاعدة البيانات PostgreSQL ميزات النسخ المتماثل في PostgreSQL لإنشاء نسخة مطابقة من قاعدة البيانات تتضمن جميع المخططات والجداول أو مجموعة فرعية منها. تهدف هذه المقالة إلى توضيح الأساليب الأساسية للتكامل باستخدام قاعدة بيانات واحدة ومخطط واحد وجدول واحد. في الإجراءات التالية، يُستخدم PostgreSQL CLI ‏(psql) وClickHouse CLI ‏(clickhouse-client). خادم PostgreSQL مُثبّت على Linux. وفيما يلي الحد الأدنى من الإعدادات إذا كانت قاعدة بيانات PostgreSQL عبارة عن تثبيت اختباري جديد

1. في PostgreSQL

  1. في postgresql.conf، عيّن الحد الأدنى لمستويات الاستماع، ومستوى WAL للنسخ المتماثل، وفتحات النسخ المتماثل:
أضِف الإدخالات التالية:
*يتطلب ClickHouse حدًا أدنى لمستوى wal يبلغ logical، وحدًا أدنى قدره 2 من replication slots
  1. باستخدام حساب مسؤول، أنشئ مستخدمًا لكي يتصل ClickHouse من خلاله:
*لأغراض التوضيح، مُنحت صلاحيات المستخدم الفائق الكاملة.
  1. أنشئ قاعدة بيانات جديدة:
  1. اتصل بقاعدة البيانات الجديدة باستخدام psql:
  1. أنشئ جدولًا جديدًا:
  1. أضف الصفوف الأولية:
  1. اضبط PostgreSQL للسماح بالاتصال بقاعدة البيانات الجديدة باستخدام المستخدم الجديد لأغراض النسخ المتماثل. فيما يلي الحد الأدنى من الإدخالات التي يجب إضافتها إلى ملف pg_hba.conf:
*لأغراض العرض التوضيحي، تُستخدم هنا طريقة المصادقة بكلمة مرور بنص صريح. حدِّث سطر العنوان ليستخدم إمّا الشبكة الفرعية أو عنوان الخادم وفقًا لوثائق PostgreSQL
  1. أعد تحميل إعداد pg_hba.conf بشيءٍ مثل هذا (عدِّله بما يناسب إصدارك):
  1. اختبر تسجيل الدخول باستخدام اسم المستخدم الجديد clickhouse_user:

2. في ClickHouse

  1. سجّل الدخول إلى ClickHouse CLI
  1. فعِّل الميزة التجريبية لـ PostgreSQL في محرك قاعدة البيانات:
  1. أنشئ قاعدة البيانات الجديدة التي ستخضع للنسخ المتماثل، وعرّف الجدول الأولي:
الحد الأدنى من الخيارات:
للاطلاع على الدليل الكامل لمحرك قاعدة البيانات PostgreSQL، راجع https://clickhouse.com/docs/engines/database-engines/materialized-postgresql/#settings
  1. تحقّق من أن الجدول الأول يحتوي على بيانات:

3. اختبار النسخ المتماثل الأساسي

  1. في PostgreSQL، أضِف صفوفًا جديدة:
  1. في ClickHouse، تأكّد من ظهور الصفوف الجديدة:

4. الملخص

ركّز دليل التكامل هذا على مثال بسيط يوضّح كيفية إجراء النسخ المتماثل لقاعدة بيانات تضم جدولًا واحدًا، لكن تتوفر أيضًا خيارات أكثر تقدمًا، مثل إجراء النسخ المتماثل لقاعدة البيانات بالكامل أو إضافة جداول ومخططات جديدة إلى عمليات النسخ المتماثل القائمة. وعلى الرغم من أن أوامر DDL غير مدعومة في هذا النوع من النسخ المتماثل، يمكن تهيئة المحرّك لاكتشاف التغييرات وإعادة تحميل الجداول عند إجراء تغييرات هيكلية.
للاطلاع على مزيد من الميزات المتاحة ضمن الخيارات المتقدمة، يُرجى مراجعة الوثائق المرجعية.
آخر تعديل في ٢ يوليو ٢٠٢٦