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

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

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

إعداد PostgreSQL

  1. في postgresql.conf، أضِف السطر التالي لتمكين PostgreSQL من الاستماع عبر واجهات الشبكة:
  1. أنشئ مستخدمًا ليتصل ClickHouse من خلاله. ولأغراض العرض التوضيحي، يمنح هذا المثال امتيازات superuser كاملة.
  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 API للاطّلاع على تفاصيل حركة البيانات الصادرة.
2

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

  1. سجّل الدخول إلى clickhouse-client:
  1. لنُنشئ قاعدة بيانات جديدة:
  1. أنشئ جدولًا يستخدم PostgreSQL:
المعلمات الدنيا المطلوبة هي:
راجع صفحة وثائق PostgreSQL table engine للاطّلاع على القائمة الكاملة للمعلمات.
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 level للنسخ المتماثل، وفتحات النسخ المتماثل:
أضف الأسطر التالية:
*يتطلب ClickHouse حدًا أدنى من مستوى logical لـ wal، وحدًا أدنى قدره 2 من فتحات النسخ المتماثل
  1. باستخدام حساب مسؤول، أنشئ مستخدمًا للاتصال من ClickHouse:
*لأغراض التوضيح، مُنحت صلاحيات superuser كاملة.
  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 غير مدعومة في هذا النسخ المتماثل، يمكن ضبط المحرك لاكتشاف التغييرات وإعادة تحميل الجداول عند إجراء تغييرات هيكلية.
لمزيد من الميزات المتاحة ضمن الخيارات المتقدمة، راجع الوثائق المرجعية.
آخر تعديل في ٣ يوليو ٢٠٢٦