توفّر هذه الصفحة مصفوفات دعم شاملة لتكاملات ClickHouse مع بحيرات البيانات. وهي تغطي الميزات المتاحة لكل تنسيق جداول مفتوح، والكتالوجات التي يمكن لـ ClickHouse الاتصال بها، والإمكانات التي يدعمها كل كتالوج.
يُعرض الدعم بشكل منفصل لـ ClickHouse Cloud وClickHouse المُدار ذاتيًا. تكون الميزات التجريبية معطّلة افتراضيًا في ClickHouse Cloud، ويجب طلب تفعيلها عبر Support. يعتمد التوافر على الميزة، لذا تواصل مع Support للتأكد من إمكانية تفعيل ميزة تجريبية محددة. يُوضَّح الضبط والقيود الخاصة بالنشر في عمود الملاحظات.
دعم تنسيقات الجداول المفتوحة
يدعم ClickHouse أربعة من تنسيقات الجداول المفتوحة: Apache Iceberg، وDelta Lake، وApache Hudi، وApache Paimon. اختر تنسيقًا أدناه لعرض مصفوفة الدعم الخاصة به.
المفتاح: ✅ مدعوم | ⚠️ جزئي أو تجريبي أو مهجور | ❌ غير مدعوم
| الميزة | ClickHouse Cloud | مُدار ذاتيًا | ملاحظات |
|---|---|---|---|
| واجهات التخزين الخلفية | |||
| AWS S3 | ✅ | ✅ | عبر icebergS3() أو الاسم المستعار iceberg() |
| GCS | ✅ | ✅ | عبر icebergS3() أو الاسم المستعار iceberg() |
| Azure Blob Storage | ✅ | ✅ | عبر icebergAzure() |
| HDFS | ❌ | ⚠️ مهمل | عبر icebergHDFS() |
| نظام الملفات المحلي | ❌ | ✅ | عبر icebergLocal() |
| طرق الوصول | |||
| دالة جدول | ✅ | ✅ | icebergS3() مع بدائل لكل واجهة تخزين خلفية |
| محرك جدول | ✅ | ✅ | IcebergS3 مع بدائل لكل واجهة تخزين خلفية |
| قراءات موزعة عبر الكتلة | ✅ | ✅ | icebergS3Cluster، icebergAzureCluster، icebergHDFSCluster |
| مجموعات مسماة | ⚠️ | ✅ | يمكن تمكين المجموعات المسماة التي أُنشئت باستخدام DDL على خدمات ClickHouse Cloud محددة. تواصل مع فريق الدعم للتحقق من التوافر. |
| ميزات القراءة | |||
| دعم القراءة | ✅ | ✅ | دعم كامل لـ SELECT مع جميع دوال ClickHouse SQL |
| تشذيب الأقسام | ✅ | ✅ | راجع تشذيب الأقسام. |
| التقسيم المخفي | ✅ | ✅ | يدعم التقسيم المستند إلى تحويلات Iceberg |
| تطور الأقسام | ✅ | ✅ | يدعم قراءة الجداول ذات مواصفات الأقسام المتغيرة بمرور الوقت |
| تطور المخطط | ✅ | ✅ | إضافة الأعمدة وإزالتها وإعادة ترتيبها. راجع تطور المخطط. |
| ترقية النوع / توسيعه | ✅ | ✅ | int → long، float → double، decimal(P,S) → decimal(P',S) حيث P' > P. راجع تطور المخطط. |
| السفر عبر الزمن / اللقطات | ✅ | ✅ | عبر إعدادات iceberg_timestamp_ms أو iceberg_snapshot_id. راجع السفر عبر الزمن. |
| عمليات الحذف حسب الموضع | ✅ | ✅ | راجع معالجة الصفوف المحذوفة. |
| عمليات الحذف بالمساواة | ✅ | ✅ | دوال الجداول ومحركات الجداول، بدءًا من الإصدار v25.8+. راجع معالجة الصفوف المحذوفة. |
| الدمج عند القراءة | ⚠️ | ⚠️ | تجريبي. مدعوم لِـعمليات الحذف. |
| إصدارات التنسيق | ⚠️ جزئي | ⚠️ جزئي | الإصداران v1 وv2 مدعومان. دعم v3 جزئي؛ متجهات الحذف وضغط ملفات البيان غير مدعومان. |
| إحصاءات الأعمدة | ✅ | ✅ | |
| مرشحات Bloom / ملفات Puffin | ❌ | ❌ | فهارس مرشحات Bloom في ملفات Puffin غير مدعومة |
| الأعمدة الافتراضية | ✅ | ✅ | _path، _file، _size، _time، _etag. راجع الأعمدة الافتراضية. |
| ميزات الكتابة | |||
| إنشاء جدول | ⚠️ | ⚠️ | تجريبي. يتطلب allow_insert_into_iceberg = 1. بدءًا من الإصدار v25.7+. راجع إنشاء جدول. |
INSERT |
✅ Beta | ✅ Beta | Beta بدءًا من الإصدار 26.2. يتطلب allow_insert_into_iceberg = 1. راجع إدراج البيانات. |
DELETE |
⚠️ | ⚠️ | Experimental. يتطلب allow_insert_into_iceberg = 1. باستخدام ALTER TABLE ... DELETE WHERE. راجع حذف البيانات. |
ALTER TABLE (تغييرات المخطط) |
⚠️ | ⚠️ | Experimental. يتطلب allow_insert_into_iceberg = 1. إضافة الأعمدة أو حذفها أو تعديلها أو إعادة تسميتها. راجع تطور المخطط. |
| الدمج | ⚠️ | ⚠️ | Experimental. يتطلب allow_experimental_iceberg_compaction = 1. راجع الدمج. |
UPDATE / MERGE |
❌ | ❌ | غير مدعوم. راجع الدمج. |
| النسخ عند الكتابة | ❌ | ❌ | غير مدعوم |
| انتهاء صلاحية اللقطات | ⚠️ | ⚠️ | Experimental. يتطلب Iceberg v2 وallow_insert_into_iceberg = 1 وallow_experimental_expire_snapshots = 1. راجع انتهاء صلاحية اللقطات. |
| إزالة الملفات اليتيمة | ⚠️ | ⚠️ | Experimental. يتطلب Iceberg v2 أو إصدارًا أحدث وallow_insert_into_iceberg = 1 وallow_iceberg_remove_orphan_files = 1. راجع إزالة الملفات اليتيمة. |
| كتابة الأقسام | ✅ Beta | ✅ Beta | مدعوم لعمليات الكتابة في Iceberg. |
| تعديل الأقسام | ❌ | ❌ | لا يدعم ClickHouse تغيير مخطط التقسيم. يمكنه الكتابة إلى جداول Iceberg ذات مخطط تقسيم متطور. |
| البيانات الوصفية | |||
| التفريع ووضع العلامات | ❌ | ❌ | مراجع الفروع/العلامات في Iceberg غير مدعومة |
| تحديد ملف البيانات الوصفية | ✅ | ✅ | يدعم التحديد عبر الكتالوجات، وإدراج الدليل، وversion-hint، ومسار محدد. راجع تحديد ملف البيانات الوصفية. |
| التخزين المؤقت للبيانات | ✅ | ✅ | يستخدم الآلية نفسها لمحركات التخزين S3/Azure/HDFS. راجع ذاكرة التخزين المؤقت للبيانات. |
| التخزين المؤقت للبيانات الوصفية | ✅ | ✅ | مفعّل افتراضيًا عبر use_iceberg_metadata_files_cache. راجع ذاكرة التخزين المؤقت للبيانات الوصفية. |
بدءًا من الإصدار 25.6، يقرأ ClickHouse جداول Delta Lake باستخدام نواة Delta Lake المكتوبة بلغة Rust، مما يوفّر دعمًا أوسع للميزات. ومع ذلك، توجد مشكلات معروفة عند الوصول إلى البيانات في Azure Blob Storage. لذلك، تُعطَّل النواة عند قراءة البيانات من Azure Blob Storage. نبيّن أدناه الميزات التي تتطلب هذه النواة.
| الميزة | ClickHouse Cloud | ذاتية الإدارة | ملاحظات |
|---|---|---|---|
| الأنظمة الخلفية للتخزين | |||
| AWS S3 | ✅ | ✅ | عبر deltaLake() أو deltaLakeS3() |
| GCS | ✅ | ✅ | عبر deltaLake() أو deltaLakeS3() |
| Azure Blob Storage | ✅ | ✅ | عبر deltaLakeAzure() |
| HDFS | ❌ | ❌ | غير مدعوم |
| نظام الملفات المحلي | ❌ | ✅ | عبر deltaLakeLocal() |
| أساليب الوصول | |||
| دالة الجدول | ✅ | ✅ | deltaLake() مع بدائل لكل نظام تخزين خلفي |
| محرك الجدول | ✅ | ✅ | DeltaLake |
| قراءات موزعة على مستوى المجموعة | ✅ | ✅ | deltaLakeCluster، deltaLakeAzureCluster |
| المجموعات المسماة | ⚠️ | ✅ | يمكن تمكين المجموعات المسماة المنشأة باستخدام DDL في خدمات ClickHouse Cloud محددة. تواصل مع فريق الدعم لتأكيد التوافر. |
| ميزات القراءة | |||
| دعم القراءة | ✅ | ✅ | دعم كامل لـ SELECT مع جميع دوال ClickHouse SQL |
| استبعاد الأقسام | ✅ بيتا | ✅ بيتا | يتطلب نواة Delta. |
| تطور المخطط | ✅ بيتا | ✅ بيتا | يتطلب نواة Delta. |
| السفر عبر الزمن | ✅ بيتا | ✅ بيتا | يتطلب نواة Delta. |
| متجهات الحذف | ✅ | ✅ | |
| تعيين الأعمدة | ✅ | ✅ | |
| تغذية بيانات التغيير | ✅ بيتا | ✅ بيتا | يتطلب نواة Delta. |
| الأعمدة الافتراضية | ✅ | ✅ | _path، _file، _size، _time، _etag. راجع الأعمدة الافتراضية. |
| ميزات الكتابة | |||
INSERT |
✅ بيتا | ✅ بيتا | يتطلب نواة Delta. تدعم عمليات الكتابة S3 وGCS، ولا تدعم الكتابة إلى Azure. يتطلب allow_delta_lake_writes = 1 بدءًا من الإصدار 26.7؛ وفي الإصدارات الأقدم، استخدم allow_experimental_delta_lake_writes = 1. راجع الكتابة في Delta Lake. |
DELETE / UPDATE / MERGE |
❌ | ❌ | غير مدعوم |
| إنشاء جدول فارغ | ❌ | ❌ | تفترض عملية CREATE TABLE أن جدول Delta Lake موجود بالفعل في تخزين الكائنات. |
| التخزين المؤقت | |||
| التخزين المؤقت للبيانات | ✅ | ✅ | الآلية نفسها المستخدمة في محركات تخزين S3/Azure/HDFS. راجع ذاكرة التخزين المؤقت للبيانات. |
| الميزة | ClickHouse Cloud | مُدار ذاتيًا | ملاحظات |
|---|---|---|---|
| أنظمة التخزين الخلفية | |||
| AWS S3 | ✅ | ✅ | عبر hudi() |
| GCS | ✅ | ✅ | عبر hudi() |
| Azure Blob Storage | ❌ | ❌ | غير مدعوم |
| HDFS | ❌ | ❌ | غير مدعوم |
| نظام الملفات المحلي | ❌ | ❌ | غير مدعوم |
| طرق الوصول | |||
| دالة جدول | ✅ | ✅ | hudi() |
| محرك جدول | ✅ | ✅ | Hudi |
| قراءات موزعة عبر الكتلة | ✅ | ✅ | hudiCluster (S3 فقط) |
| المجموعات المسماة | ⚠️ | ✅ | يمكن تمكين المجموعات المسماة المُنشأة باستخدام DDL في بعض خدمات ClickHouse Cloud. تواصل مع الدعم لتأكيد مدى التوافر. |
| ميزات القراءة | |||
| دعم القراءة | ✅ | ✅ | دعم كامل لـ SELECT مع جميع دوال ClickHouse SQL |
| تطور المخطط | ❌ | ❌ | غير مدعوم |
| السفر عبر الزمن | ❌ | ❌ | غير مدعوم |
| الأعمدة الافتراضية | ✅ | ✅ | _path، _file، _size، _time، _etag. راجع الأعمدة الافتراضية. |
| ميزات الكتابة | |||
INSERT / DELETE / UPDATE |
❌ | ❌ | تكامل للقراءة فقط |
| التخزين المؤقت | |||
| التخزين المؤقت للبيانات | ❌ | ❌ | غير مدعوم |
| الميزة | ClickHouse Cloud | ذاتي الإدارة | ملاحظات |
|---|---|---|---|
| واجهات التخزين الخلفية | |||
| S3 | ⚠️ | ⚠️ | تجريبية. عبر paimon() أو paimonS3() |
| GCS | ⚠️ | ⚠️ | تجريبية. عبر paimon() أو paimonS3() |
| Azure Blob Storage | ⚠️ | ⚠️ | تجريبية. عبر paimonAzure() |
| HDFS | ❌ | ⚠️ | تجريبية ومهملة. عبر paimonHDFS() |
| نظام الملفات المحلي | ❌ | ⚠️ | تجريبية. عبر paimonLocal() |
| طرق الوصول | |||
| دالة جدول | ⚠️ | ⚠️ | تجريبية. paimon() مع بدائل لكل واجهة تخزين خلفية |
| محرك جدول | ⚠️ | ⚠️ | تجريبية. Paimon مع بدائل لكل واجهة تخزين خلفية. يتطلب allow_experimental_paimon_storage_engine = 1. |
| قراءات موزعة على مستوى الكتلة | ⚠️ | ⚠️ | تجريبية. paimonS3Cluster، paimonAzureCluster، paimonHDFSCluster |
| المجموعات المسماة | ⚠️ | ⚠️ | تجريبية. يمكن تمكين المجموعات المسماة المُنشأة باستخدام DDL في بعض خدمات ClickHouse Cloud. تواصل مع الدعم للتحقق من التوافر. |
| ميزات القراءة | |||
| دعم القراءة | ⚠️ | ⚠️ | تجريبية. دعم كامل لـ SELECT مع جميع دوال ClickHouse SQL |
| تطور المخطط | ❌ | ❌ | غير مدعوم |
| السفر عبر الزمن | ❌ | ❌ | غير مدعوم |
| الأعمدة الافتراضية | ⚠️ | ⚠️ | تجريبية. _path، _file، _size، _time، _etag. راجع الأعمدة الافتراضية. |
| ميزات الكتابة | |||
INSERT / DELETE / UPDATE |
❌ | ❌ | تكامل للقراءة فقط |
| التخزين المؤقت | |||
| التخزين المؤقت للبيانات | ❌ | ❌ | غير مدعوم |
دعم الكتالوجات
يمكن لـ ClickHouse الاتصال بكتالوجات البيانات الخارجية باستخدام محرك قاعدة البيانات DataLakeCatalog، الذي يعرِض الكتالوج كقاعدة بيانات في ClickHouse. وتظهر الجداول المسجَّلة في الكتالوج تلقائيًا، ويمكن الاستعلام عنها باستخدام SQL القياسية.
الكتالوجات التالية مدعومة حاليًا. راجع الدليل المرجعي لكل كتالوج للحصول على تعليمات الإعداد الكاملة.
| الكتالوج | التنسيقات | القراءة | إنشاء جدول | INSERT | الدليل المرجعي |
|---|---|---|---|---|---|
| AWS Glue Catalog | Iceberg | ✅ بيتا | ❌ | ❌ | دليل Glue catalog |
| BigLake Metastore | Iceberg | ✅ بيتا | ❌ | ❌ | دليل BigLake Metastore |
| Databricks Unity Catalog | Delta, Iceberg | ✅ بيتا | ✅ بيتا | ✅ بيتا | دليل Unity Catalog |
| Iceberg REST | Iceberg | ✅ بيتا | ❌ | ❌ | دليل REST catalog |
| Lakekeeper | Iceberg | ✅ بيتا | ❌ | ❌ | دليل Lakekeeper catalog |
| Project Nessie | Iceberg | ✅ تجريبي | ❌ | ❌ | دليل Nessie catalog |
| Microsoft OneLake | Iceberg | ✅ بيتا | ✅ بيتا | ✅ بيتا | دليل OneLake catalog |
| SeaweedFS | Iceberg | ✅ بيتا | ✅ بيتا | ✅ بيتا | دليل SeaweedFS catalog |
تتطلب جميع تكاملات الكتالوج حاليًا تمكين إعداد تجريبي أو بإصدار بيتا. وباستثناء Microsoft OneLake وDatabricks Unity Catalog وSeaweedFS، توفّر جميع الكتالوجات وصولًا للقراءة فقط — إذ يمكن الاستعلام عن الجداول، ولكن لا يمكن إنشاؤها أو الكتابة إليها عبر اتصال الكتالوج. ولتحميل البيانات من كتالوج إلى ClickHouse بهدف تسريع التحليلات، استخدم INSERT INTO SELECT كما هو موضح في دليل تسريع التحليلات. وللكتابة مرة أخرى إلى تنسيقات الجداول المفتوحة، أنشئ جداول Iceberg مستقلة كما هو موضح في دليل كتابة البيانات.