تنظيم الموارد
المؤسسات
مشاريع BigQuery مقابل خدمات ClickHouse Cloud
- مجموعة من عُقد الحوسبة (حاليًا، عقدتان لخدمة من فئة Development و3 عُقد لخدمة من فئة Production). وتدعم ClickHouse Cloud لهذه العُقد التوسع الرأسي والأفقي، يدويًا وتلقائيًا.
- مجلدًا في تخزين الكائنات تخزّن فيه الخدمة جميع البيانات.
- نقطة نهاية (أو عدة نقاط نهاية يتم إنشاؤها عبر Console في واجهة المستخدم لـ ClickHouse Cloud) - أي URL خدمة تستخدمه للاتصال بالخدمة (على سبيل المثال،
https://dv2fzne24g.us-east-1.aws.clickhouse.cloud:8443)
مجموعات بيانات BigQuery مقابل قواعد بيانات ClickHouse Cloud
مجلدات BigQuery
حجوزات Slot والحصص في BigQuery
الأذونات
أنواع البيانات
INT64 وNUMERIC وBIGNUMERIC وFLOAT64. بالمقابل، يوفّر ClickHouse أنواعًا متعددة الدقة للأعداد العشرية والأعداد ذات الفاصلة العائمة والأعداد الصحيحة. وباستخدام أنواع البيانات هذه، يمكنك تحسين استخدام التخزين وتقليل العبء على الذاكرة، مما يؤدي إلى استعلامات أسرع واستهلاك أقل للموارد. نعرض أدناه نوع ClickHouse المكافئ لكل نوع في BigQuery:
تقنيات تسريع الاستعلامات
في BigQuery، يمكن أن يحتوي الجدول على قيود المفتاح الأساسي والمفتاح الخارجي. عادةً ما تُستخدم المفاتيح الأساسية والخارجية في قواعد البيانات العلائقية لضمان تكامل البيانات. وتكون قيمة المفتاح الأساسي فريدةً عادةً لكل صف، ولا تكون
NULL. ويجب أن تكون كل قيمة مفتاح خارجي في الصف موجودة في عمود المفتاح الأساسي لجدول المفتاح الأساسي أو أن تكون NULL. في BigQuery، لا تُفرَض هذه القيود، لكن مُحسِّن الاستعلامات قد يستخدم هذه المعلومات لتحسين الاستعلامات.
في ClickHouse، يمكن أن يحتوي الجدول أيضًا على مفتاح أساسي. ومثل BigQuery، لا يفرض ClickHouse التفرّد على قيم عمود المفتاح الأساسي في الجدول. وعلى عكس BigQuery، تُخزَّن بيانات الجدول على القرص مرتبة بحسب أعمدة المفتاح الأساسي. ويستفيد مُحسِّن الاستعلامات من ترتيب الفرز هذا لتجنّب إعادة الفرز، وتقليل استخدام الذاكرة في عمليات الربط، وتمكين الإنهاء المبكر لعبارات LIMIT. وعلى عكس BigQuery، ينشئ ClickHouse تلقائيًا فهرسًا أساسيًا متناثرًا استنادًا إلى قيم أعمدة المفتاح الأساسي. ويُستخدم هذا الفهرس لتسريع جميع الاستعلامات التي تتضمن عوامل تصفية على أعمدة المفتاح الأساسي. ولا يدعم ClickHouse حاليًا قيود المفتاح الخارجي.
الفهارس الثانوية (متاحة فقط في ClickHouse)
- فهرس Bloom Filter:
- يُستخدم لتسريع الاستعلامات التي تتضمن شروط مساواة (مثل: = و IN).
- يستخدم هياكل بيانات احتمالية لتحديد ما إذا كانت قيمة معيّنة موجودة في كتلة بيانات.
- فهرس Token Bloom Filter:
- يشبه فهرس Bloom Filter، لكنه يُستخدم مع السلاسل النصية المُجزّأة إلى رموز، وهو مناسب لاستعلامات البحث النصي الكامل.
- فهرس Min-Max:
- يحتفظ بالقيمتين الصغرى والكبرى لعمود معيّن في كل جزء بيانات.
- يساعد على تخطي قراءة أجزاء البيانات التي لا تقع ضمن النطاق المحدد.
فهارس البحث
الفهارس المتجهية
التقسيم
التجميع العنقودي
العروض المادية
الاستعلام عن العروض المادية
المعاملات
الدوال التجميعية
- يوفّر BigQuery 18 دالة تجميعية، و4 دوال تجميعية تقريبية.
- يضم ClickHouse أكثر من 150 دالة تجميع مُعدّة مسبقًا، بالإضافة إلى مُركِّبات تجميع قوية لتوسيع سلوك دوال التجميع المُعدّة مسبقًا. على سبيل المثال، يمكنك تطبيق أكثر من 150 دالة تجميع مُعدّة مسبقًا على المصفوفات بدلًا من صفوف الجدول، وذلك ببساطة عبر استدعائها باستخدام اللاحقة -Array. وباستخدام اللاحقة -Map، يمكنك تطبيق أي دالة تجميع على القيم من نوع Map. وباستخدام اللاحقة -ForEach، يمكنك تطبيق أي دالة تجميع على المصفوفات المتداخلة.
مصادر البيانات وتنسيقات الملفات
- يوفّر ClickHouse دعمًا أصليًا لتحميل البيانات من أي مصدر بيانات تقريبًا وبأكثر من 90 تنسيق ملفات
- يدعم BigQuery خمسة تنسيقات ملفات و19 مصدر بيانات
ميزات لغة SQL
المصفوفات
groupArray لتحويل قيم صفوف معيّنة من جدول إلى مصفوفة بشكل مؤقت. بعد ذلك، يمكن معالجة هذه المصفوفة بسهولة باستخدام وظائف المصفوفات، ثم تحويل النتيجة مرة أخرى إلى صفوف جدول منفصلة باستخدام الدالة arrayJoin.
ونظرًا إلى أن ClickHouse SQL يدعم دوال لامبدا عالية الرتبة، يمكن تنفيذ العديد من العمليات المتقدمة على المصفوفات بمجرد استدعاء إحدى وظائف المصفوفات المضمّنة عالية الرتبة، بدلًا من تحويل المصفوفات مؤقتًا إلى جداول مرة أخرى، كما يكون مطلوبًا في كثير من الأحيان في BigQuery، مثل تصفية المصفوفات أو دمجها عنصرًا بعنصر. في ClickHouse، لا تتطلب هذه العمليات سوى استدعاء بسيط للدالتين عاليتَي الرتبة arrayFilter وarrayZip، على الترتيب.
فيما يلي، نعرض مقابلة بين عمليات المصفوفات في BigQuery ونظيراتها في ClickHouse:
أنشئ مصفوفة تتضمن عنصرًا واحدًا لكل صف في استعلام فرعي
BigQuery
الدالة ARRAY
UNNEST
UNNEST
UNNEST
UNNEST