المقدمة
يُشغِّل [pg_clickhouse]، وهو إضافة open-source لـ PostgreSQL، استعلامات تحليلية على ClickHouse مباشرةً من PostgreSQL من دون إعادة كتابة أي SQL. وهو يدعم PostgreSQL 14 والإصدارات الأحدث وClickHouse v23 والإصدارات الأحدث. بمجرد أن يبدأ ClickPipes في مزامنة البيانات إلى ClickHouse، استخدم pg_clickhouse لاستيراد import foreign tables بسرعة وسهولة إلى مخطط في PostgreSQL. ثم شغّل استعلامات PostgreSQL الحالية لديك على تلك الجداول، مع الحفاظ على قاعدة الشيفرة الحالية لديك مع تمرير التنفيذ إلى ClickHouse.بدء الاستخدام
أسهل طريقة لتجربة pg_clickhouse هي استخدام [صورة Docker]، المبنية على صورة PostgreSQL القياسية لـ Docker والمرفقة بامتدادي pg_clickhouse وre2:حالة الاختبار: TPC-H
يقارن هذا الجدول أداء استعلامات TPC-H بين جداول PostgreSQL العادية و pg_clickhouse المتصل بـ ClickHouse، وقد جرى تحميل كليهما بعامل scaling يساوي 1؛ وتشير العلامة ✔︎ إلى pushdown كامل ضمن فحص خارجي واحد، بينما تشير ✼ إلى pushdown كامل ضمن عدة فحوصات خارجية. أُجريت جميع الاختبارات على جهاز MacBook Pro M4 Max بذاكرة 36 غيغابايت.التجميع من الشيفرة المصدرية
Unix بشكل عام
تتضمن حزم التطوير الخاصة بـ PostgreSQL و curl كلاً منpg_config و
curl-config ضمن المسار، لذا يُفترض أن تتمكن ببساطة من تشغيل make (أو
gmake)، ثم make install، ثم تنفيذ
CREATE EXTENSION pg_clickhouse
في قاعدة البيانات.
Debian / Ubuntu / APT
راجع PostgreSQL Apt للاطّلاع على تفاصيل جلب الحزم من مستودع PostgreSQL Apt.RedHat / CentOS / Yum
التثبيت من PGXN
بعد استيفاء التبعيات المذكورة أعلاه، استخدم [عميل PGXN] (المتوفّر عبر Homebrew وApt وحزم Yum باسمpgxnclient) لتنزيل pg_clickhouse وتجميعه
وتثبيته:
التجميع والتثبيت
لتجميع مكتبة ClickHouse وتثبيتها وإضافةpg_clickhouse، شغّل:
pg_config:
curl-config موجودًا في المسار على الجهاز المضيف، يمكنك تحديد المسار
بشكل صريح:
gmake:
pg_config مثبّت وموجود في متغير PATH. إذا كنت قد استخدمت
نظام إدارة حزم مثل RPM لتثبيت PostgreSQL، فتأكد أيضًا من تثبيت حزمة
-devel. وإذا لزم الأمر، فأخبر عملية البناء بمكان العثور عليه:
prefix إلى install (ولكن ليس إلى أي أهداف make أخرى):
postgresql.conf
] التالية:
الاختبار
لتشغيل مجموعة الاختبارات، بعد تثبيت الإضافة، نفِّذالتحميل
بمجرد تثبيتpg_clickhouse، يمكنك إضافته إلى إحدى قواعد البيانات عبر الاتصال
كمستخدم فائق الصلاحيات ثم تنفيذ:
pg_clickhouse وجميع الكائنات الداعمة له ضمن
مخطط محدد، فاستخدم عبارة SCHEMA لتحديد المخطط، كما يلي:
التبعيات
تتطلب إضافةpg_clickhouse PostgreSQL 14 أو إصدارًا أحدث، وlibcurl،
وlibuuid. كما يتطلب إصدار الإضافة مُصرّفًا للغتَي C وC++، وlibSSL، وGNU
make، وCMake.
خريطة الطريق
ينصبّ تركيزنا الأول حاليًا على استكمال تغطيةpushdown لأعباء العمل التحليلية قبل
إضافة ميزات DML. خريطة الطريق لدينا:
- الوصول إلى تخطيط أمثل للاستعلامات العشرة المتبقية من TPC-H التي لم يُطبَّق عليها
pushdown - اختبار
pushdownلاستعلامات ClickBench وإصلاح مشكلاته - دعم
pushdownالشفاف لجميع الدوال التجميعية في PostgreSQL - دعم
pushdownالشفاف لجميع دوال PostgreSQL - إتاحة إعدادات ClickHouse على مستوى الخادم وعلى مستوى الجلسة عبر CREATE SERVER وGUCs
- دعم جميع أنواع بيانات ClickHouse
- دعم عمليات DELETE وUPDATE خفيفة الوزن
- دعم الإدراج على دفعات عبر COPY
- إضافة دالة لتنفيذ أي استعلام ClickHouse وإرجاع نتائجه على شكل جداول
- إضافة دعم
pushdownلاستعلامات UNION عندما تستعلم جميعها من قاعدة البيانات البعيدة
المؤلفون
حقوق النشر
- حقوق النشر (c) 2025-2026، ClickHouse
- أجزاء من حقوق النشر (c) 2023-2025، Ildus Kurbangaliev
- أجزاء من حقوق النشر (c) 2019-2023، Adjust GmbH
- أجزاء من حقوق النشر (c) 2012-2019، PostgreSQL Global Development Group