- الفهرس الأساسي المتناثر - يرتّب البيانات على القرص وفقًا لمفتاح محدد، مما يتيح لـ ClickHouse تجاوز نطاقات كبيرة من الصفوف غير ذات الصلة أثناء الاستعلامات.
- أنواع بيانات محسّنة - دعم أصلي لأنواع مثل JSON وLowCardinality وEnum، مما يتيح تخزينًا أكثر كثافة ومعالجة أسرع.
- فهارس التخطي و**فهارس النص الكامل** - بُنى فهارس ثانوية تتيح لـ ClickHouse تخطي الحبيبات التي لا تطابق شروط التصفية في الاستعلام، وتكون فعّالة بشكل خاص مع أعباء عمل البحث النصي.
- عمليات إدراج سريعة مع دمج تلقائي - صُمم ClickHouse لعمليات الإدراج عالية الإنتاجية، ويقوم تلقائيًا بدمج أجزاء البيانات في الخلفية، على نحو مماثل لعملية compaction في تنسيقات الجداول المفتوحة.
- محسّن لعمليات القراءة المتزامنة - يوفّر تخطيط التخزين العمودي في MergeTree، إلى جانب طبقات متعددة من التخزين المؤقت، دعمًا لأعباء العمل التحليلية في الوقت الفعلي وعالية التزامن، وهو ما لم تُصمم له تنسيقات الجداول المفتوحة.
INSERT INTO SELECT للحصول على تحليلات أسرع.
الاتصال بالكتالوج
عرض الجداول
استكشاف المخطط
الاستعلام في جدول بحيرة البيانات
logger_name قد تكون عالية التفرّد بدرجة تجعل تقسيمها بفعالية أمرًا صعبًا. كما لا تتوفر لدينا فهارس مثل الفهارس النصية لتقليص البيانات بدرجة أكبر. وهنا يتفوّق MergeTree.
إدخال البيانات إلى MergeTree
أنشئ جدولًا مُحسَّنًا
- من دون مغلِّفات
Nullable- تؤدي إزالةNullableإلى تحسين كفاءة التخزين وأداء الاستعلامات. LowCardinality(String)في الأعمدةlevelوinstance_typeوthread_nameوcheck_name- يطبّق ترميزًا قاموسيًا على العمود عندما يكون عدد القيم المميّزة فيه قليلًا، مما يحسّن الضغط ويُسرّع التصفية.- فهرس النص الكامل على العمود
message- يسرّع عمليات البحث النصي المعتمدة على الرموز مثلhasToken(message, 'error'). - مفتاح
ORDER BYبالقيمة(instance_type, thread_name, toStartOfMinute(event_time))- يرتّب البيانات على القرص بما يتوافق مع أنماط التصفية الشائعة، بحيث يتمكن الفهرس الأساسي المتناثر من تخطّي الحبيبات غير ذات الصلة.
إدراج البيانات من الكتالوج
INSERT INTO SELECT لتحميل نحو 300 مليون صف من جدول بحيرة البيانات إلى جدول ClickHouse لدينا:
أعد تنفيذ الاستعلام
- الفهرس الأساسي المتناثر - يعني المفتاح
ORDER BY (instance_type, thread_name, ...)أن ClickHouse يمكنه الانتقال مباشرةً إلى الحبيبات المطابقة لـinstance_type = 'm6i.4xlarge'وthread_name = 'TCPHandler'، مما يقلل عدد الصفوف المُعالجة من 283 مليونًا إلى 14 مليونًا فقط. - فهرس النص الكامل - يتيح الفهرس
text_idxعلى العمودmessageحلَّhasToken(message, 'error')عبر الفهرس بدلًا من فحص كل سلسلة رسائل، مما يقلل أكثر حجم البيانات التي يحتاج ClickHouse إلى قراءتها.