On-Demand Compute متاح ضمن private preview. وهو غير مشمول بأهداف مستوى الخدمة (SLOs) أو اتفاقيات مستوى الخدمة (SLAs) الخاصة بـ ClickHouse Cloud، وقد تنطبق عليه قيود معروفة وأخرى غير معروفة. راجع القيود.انضم إلى قائمة الانتظار.
SELECT فقط. حيث تُدرج الاستعلام عبر الـ settings على مستوى الاستعلام أو الـ session أو الـ USER، فيخصّص ClickHouse workers من الـ pool لتنفيذه من خلال خدمتك والـ endpoint الحالي.
ويختلف ذلك عن compute-compute separation. فالـ warehouse يوفّر موارد compute مخصّصة وطويلة الأجل عبر خدمات متعددة تتشارك البيانات، بينما يوفّر On-Demand Compute workers مؤقتة من pool مشترك عبر خدمتك الحالية.
تعتمد الحوسبة عند الطلب على إمكانيات جديدة كليًا:
- تنفيذ استعلامات stateless مع الحوسبة عند الطلب
- CBO جديد (cost-based optimizer)
- distributed query execution جديد
متى تستخدم On-Demand Compute
خلال private preview، استخدم On-Demand Compute لاستعلاماتSELECT المؤهلة والمكثفة حوسوبيًا التي ترغب في تشغيلها خارج compute الخاص بـ primary service:
- الاستعلامات الفورية والتحليلية: شغّل استعلامات
SELECTالمكثفة حوسوبيًا على workers إضافيين. - أحمال عمل القراءة غير الحرجة: انقل عمليات reads المحددة بعيدًا عن primary service.
- استعلامات data lake: استعلم عن بيانات Apache Iceberg أو Delta Lake أو
SharedMergeTreeالمدعومة على workers إضافيين. - compute إضافي مؤقت: اطلب workers للاستعلامات المؤهلة دون إعادة تحجيم primary service.
SELECT فقط، ولا ينفّذ workers استعلامات INSERT أو DDL أو mutations أو background operations.
كيفية العمل
- ترسل استعلام
SELECTمؤهلاً إلى ClickHouse Cloud service الخاصة بك طالباً عدداً محدداً من الـ workers، دون أي تغيير في نقطة النهاية أو المصادقة أو إعدادات RBAC - يتصل الـ cluster الخاص بك بعد ذلك بالـ pool ويطلب العدد المحدد من الـ workers
- يتم lease الـ workers لمدة 60 ثانية على الأقل، وإذا استمر الاستعلام لفترة أطول فسيُجدَّد الـ lease تلقائياً
- تستقبل الـ workers الاستعلام وتُنفّذه
- تُرسل الاستجابة بعد ذلك إلى الـ client الخاص بك
- تُمحى الـ workers.
8 vCPUs و32 GiB من الذاكرة. استخدم distributed_plan_workers_num لتحديد عدد الـ workers التي يطلبها الاستعلام.
استخدام موارد الحوسبة عند الطلب
Settings
استخدم هذه الإعدادات للبدء في استخدام الحوسبة عند الطلب:مثال
لا يمكن توزيع بعض الاستعلامات على العمال:distributed_plan_fallback_to_local_execution:
الاستعلامات المتزامنة
يمكن للاستعلامات المتزامنة الصادرة عن خدمة ClickHouse Cloud نفسها أن تتشارك العمّال المخصّصين لها. ولا يطلب ClickHouse عمّالًا إضافيين إلا عندما يحتاج استعلام إلى عدد من العمّال يتجاوز ما هو مخصّص للخدمة أصلًا. على سبيل المثال، إذا طلب استعلامان متزامنان ثلاثة عمّال لكل منهما، فبإمكانهما التشارك في العمّال الثلاثة أنفسهم. وإذا طلب استعلام آخر خمسة عمّال، فيمكن لـ ClickHouse استخدام العمّال الثلاثة المخصّصين وطلب اثنين إضافيين من التجمّع. انظر المثال أدناه:عندما يتعذّر على الـ pool تلبية الطلب
يقوم توافر الـ workers على مبدأ بذل أقصى جهد ممكن خلال private preview. فإذا كان عدد الـ workers المتاحة أقل من العدد المطلوب، يُنفَّذ الـ query بعدد الـ workers الذي يستطيع ClickHouse تخصيصه. على سبيل المثال، قد يُنفَّذ طلبٌ لخمسة workers بثلاثة فقط. وإذا تعذّر استئجار أي worker، يفشل الـ query. أعد محاولة تنفيذ الاستعلام. وإذا استمرت المشكلة، فتواصل مع فريق حسابك في ClickHouse — فقد يكون تجمّع المعاينة مستنفدًا أو غير مضبوط الحجم بشكل صحيح.Monitoring
استخدمsystem.query_log في الـ service الخاص بك لمعرفة عدد الـ workers المخصّصة للـ query الخاص بك.
عدد الـ workers المخصَّصة
المناطق المتاحة
الحوسبة عند الطلب إقليمية: تعمل الـ workers في المنطقة نفسها التي يعمل فيها الـ service الخاص بك.
إذا لم تكن منطقتك مدرجة، فاطلبها عبر قائمة الانتظار. وسنُفعّل مزيدًا من المناطق بناءً على الطلب.
التسعير
خلال private preview، تكون On-Demand Compute مجانية، مع حد أقصى للاستخدام (راجع القيود). تواصل مع ClickHouse account team إذا كنت بحاجة إلى رفع هذا الحد. سيبدأ تطبيق التسعير عند انتهاء المعاينة، وسيتم إشعار المشاركين فيها قبل ترقية الميزة إلى Beta وقبل بدء احتساب أي رسوم. النموذج المُعتمد هو ذاته المُتَّبع في compute الخاص بـ ClickHouse Cloud: تدفع مقابل ما تستخدمه من compute (وقت worker المُستأجَر)، وليس مقابل البيانات المفحوصة أو الصفوف المقروءة.القيود
تنطبق القيود التالية خلال private preview، وقد تنطبق قيود أخرى. أبلغ عن أي سلوك غير متوقع إلى ClickHouse Support أو إلى account team الخاص بك.- استعلامات
SELECTفقط. لا تنفّذ الـ workers استعلاماتINSERT، ولا mutations، ولا DDL، ولا background operations. - الصيغة المدعومة. يدعم private preview كلاً من Apache Iceberg وDelta Lake و
SharedMergeTree. - Parallel replicas. يجب تعطيل parallel replicas.
- حجم الـ worker. يحتوي كل worker على
8 vCPUsو32 GiBمن الذاكرة. - الحد الأقصى للـ workers. يمكن لكل query طلب ما يصل إلى خمسة workers خلال private preview.
- سعة المجموعة. توافر الـ workers يقوم على أفضل جهد ممكن، فقد يحصل الـ query على عدد workers أقل من المطلوب، وإذا لم يتوفر أي worker يفشل الـ query.
- الأداء. يتفاوت الأداء من query إلى آخر، إذ قد يؤدي تخصيص الـ workers والتخطيط الموزع ونقل مراحل الـ plan إلى زيادة الـ latency. وقد يكون أداء بعض أشكال الاستعلامات أدنى من أدائها عند التنفيذ على primary service (الاستعلامات المعتادة التي تستغرق أقل من ثانية سيكون أداؤها أفضل على الأرجح في الـ cluster الخاص بك)
- توافقية الاستعلامات. لا يستطيع distributed planner تنفيذ كل query plan عن بُعد، وقد تُعيد الاستعلامات غير المدعومة exception من النوع
SUPPORT_IS_DISABLED.
Roadmap
يُعدّ On-Demand Compute أساسًا يُبنى عليه. ومن الأعمال الجارية أو المقبلة:- معالجة القيود المعروفة (فجوات
SUPPORT_IS_DISABLED) - تجمّعات (pools) بأحجام worker مختلفة
- تثبيت أداء الاستعلامات مقارنةً بالتنفيذ Stateful
- دعم الدمج في الخلفية (background merge)
- التسعير
- معايرة أداة التوسيع التلقائي لتجمّع الـ worker
- الأوبزيرفابيليتي المدمجة
- صلاحيات مخصّصة لـ On-Demand Compute
- توسيع أحمال العمل الخاصة ببحيرة البيانات (الكتابة، الـ compaction، إلخ…)
Security
تأتي الـ workers من مجموعة (pool) مُهيّأة مسبقًا تتشاركها الخدمات الموجودة في الـ region نفسه، ولذلك هناك قاعدة واحدة غير قابلة للتفاوض: يخدم الـ worker خدمة واحدة في كل مرة، ولا يُنقل أبدًا من خدمة إلى أخرى. لا يتغيّر أي شيء في طريقة وصولك إلى ClickHouse. فما زال العملاء يتصلون بـ service endpoint الخاص بك باستخدام آلية المصادقة الحالية، وخدمتك هي الجهة الوحيدة التي تتواصل مع الـ workers نيابةً عنك. ولا تمتلك الـ workers أي endpoint موجّه للعملاء.- خدمة واحدة لكل worker: يُؤجَّر الـ worker لخدمة واحدة طوال مدة الـ lease، ولا تتشاركه خدمتان في الوقت نفسه أبدًا.
- لا إعادة استخدام بين الخدمات: عند انتهاء الـ lease، يُدمَّر الـ worker ويُستبدل بآخر جديد، ولا يُعاد تخصيصه أبدًا لخدمة أخرى.
- لا بيانات دائمة: لا تحتفظ الـ workers بأي تخزين دائم، ولا تبقى قائمة بعد انتهاء الـ lease.
- الـ region نفسه الخاص بخدمتك: تعمل الـ workers في الـ region نفسه الذي تعمل فيه الخدمة التي تستأجرها، وفقًا لقواعد صارمة لإقامة البيانات.
- ضوابط الوصول الحالية لديك تظل سارية: تتحكّم IP access lists والـ private endpoints في الـ service endpoint الخاص بك تمامًا كما في السابق، ولا تضيف الحوسبة عند الطلب أي endpoint يتعيّن عليك تهيئته أو حمايته.
- المصادقة وRBAC الحاليان لديك: تُنفَّذ الاستعلامات بالمستخدم والصلاحيات نفسها المطبّقة على أي استعلام آخر في خدمتك، ولا تحمل الـ workers أي هوية أو نموذج أذونات منفصل.
عزل الشبكة
أثناء استئجار worker لصالح خدمتك، تسمح المنصة بمرور حركة الشبكة بين ذلك الـ worker وخدمتك، وتحجب كل ما عدا ذلك. ويُطبَّق هذا التقييد على مستوى طبقة الشبكة لا داخل محرك الاستعلام، لذا فهو لا يعتمد على الاستعلام أو إعداداته أو خطة التنفيذ التي يُنتجها المُحسِّن.- خدمتك وحدها تستطيع الوصول إلى الـ workers الخاصة بك. فالمسار قائم طوال مدة الاستئجار الحالي للـ worker، ولتلك الخدمة وحدها.
- لا يمكن الوصول إلى الـ workers غير المُخصَّصة. فالـ worker الذي ينتظر في المجموعة (pool) لا يملك أي مسار شبكي من أي خدمة أو إليها إلى أن يتم استئجاره.
- الـ workers المستأجرة لخدمات مختلفة لا يمكنها الوصول إلى بعضها. فالـ workers الموجودة داخل استئجار واحد تتبادل فيما بينها مراحل خطة التنفيذ والنتائج الوسيطة، أما الـ workers الموجودة في عمليات استئجار مختلفة فتبقى معزولة عن بعضها، حتى وإن كانت تتشارك المجموعة ذاتها.
- يُزال المسار بزوال الـ worker. فإنهاء الاستئجار يُدمِّر الـ worker، وبذلك يزول الشيء الوحيد الذي كان مسموحًا لحركة الشبكة بالوصول إليه.
- مسار الطلبات يبقى ضيّقًا. تتصل خدمتك بخدمة تخصيص الـ workers لاستئجارها وتجديد استئجارها، وهذا المسار لا يحمل أي بيانات استعلام ويقتصر على واجهة برمجة تطبيقات التخصيص.
authentication والتخويل الداخلي
يحدد عزل الشبكة ما الذي يمكنه الوصول إلى worker، أما authentication فتحدد ما يُسمح للـ caller بفعله بعد وصوله، ويُطبَّق الأمران بشكل مستقل: على الـ caller أن يستوفي كليهما معًا. كل connection بين الـ service الخاصة بك وservice تعيين الـ workers والـ workers نفسها هو connection مُوثَّق. لا شيء موثوق به مسبقًا؛ فجميع الـ credentials تُصدرها المنصة وتوزعها لكل lease على حدة.- credential واحد لكل worker: عند lease الـ workers للـ service الخاصة بك، تُصدر المنصة token موقّعًا فريدًا لكل واحد منها. ويعمل كل token مع ذلك الـ worker وحده، ومع الـ service الخاصة بك وحدها.
- قصير الأجل ومرتبط بالـ lease: تنتهي صلاحية الـ tokens بانتهاء الـ lease الذي أصدرها. ويؤدي تجديد الـ lease إلى إصدار tokens جديدة، وبعد انتهاء الـ lease لا تعود tokens الخاصة به تُوثِّق أي شيء.
- يتم التحقق منه لدى المنصة: يقوم الـ worker بـ validate الـ token المُقدَّم إليه لدى service الـ identity في المنصة، بدلًا من الوثوق بأي شيء يرد ضمن الـ request.
هذه الـ credentials داخلية وتخص طريقة تنفيذ ClickHouse Cloud لـ query الخاص بك، ولا تُكشف أبدًا لـ clients الخاصة بك، ولا علاقة لها بكيفية authentication لديك إلى ClickHouse: إذ تواصل الـ clients الاتصال باستخدام الـ credentials الحالية الخاصة بك، وتبقى privileges الخاصة بالـ query خاضعة لـ RBAC الخاص بالـ service لديك.
FAQ
هل الحوسبة عند الطلب مفتوحة المصدر؟
هل الحوسبة عند الطلب مفتوحة المصدر؟
لا. إنها معمارية خاصة بـ ClickHouse Cloud: ClickHouse server (distributed plan)، ومستوى البيانات (مجموعة العاملين وعقود الاستئجار)، ومستوى التحكم. الإعداد التجريبي
make_distributed_plan ومُحسِّن CBO موجودان في ClickHouse OSS، لكن مجموعة العاملين المشتركة والتنفيذ عديم الحالة متاحان في Cloud فقط.هل أحتاج إلى إصدار محدد للانضمام إلى المعاينة الخاصة؟
هل أحتاج إلى إصدار محدد للانضمام إلى المعاينة الخاصة؟
نعم. الإصدار المستخدم خلال المعاينة الخاصة سيكون بنية مخصصة، وقد تكون هناك حاجة إلى ترقيات إضافية خلال المعاينة.
كيف سيكون التسعير؟
كيف سيكون التسعير؟
ليس لدينا تسعير عام نشاركه في الوقت الحالي، لكن استخدام الميزة مجاني خلال المعاينة الخاصة. ومع ذلك، ستكون فلسفة التسعير مماثلة لفلسفة ClickHouse Cloud: احتساب التكلفة على أساس الحوسبة المستخدمة، لا على أساس البيانات الممسوحة أو الصفوف المقروءة. وستُنشر الأسعار الدقيقة قبل تطبيق التسعير.
هل يمكنني استخدام هذا في الإنتاج؟
هل يمكنني استخدام هذا في الإنتاج؟
يمكنك تشغيل أحمال عمل حقيقية، لكن هذه معاينة خاصة: هناك قيود معروفة وأخرى غير معروفة، ولا يوجد هدف أو اتفاقية مستوى خدمة لتوافر مجموعة العاملين.
كيف يختلف هذا عن التوسع التلقائي لخدمتي؟
كيف يختلف هذا عن التوسع التلقائي لخدمتي؟
يغيّر التوسع التلقائي الحوسبة المخصصة لخدمتك الأساسية. أما الحوسبة عند الطلب، فهي تمنح خلال المعاينة الخاصة استعلامات
SELECT المؤهَّلة وصولاً مؤقتاً إلى عاملين من مجموعة مُدارة دون تغيير حجم الخدمة الأساسية. فالتوسع التلقائي يدير سعة الخدمة على نحو مستمر، بينما توفّر الحوسبة عند الطلب حوسبة مؤقتة لأحمال عمل محددة.أين يمكنني طرح الأسئلة؟
أين يمكنني طرح الأسئلة؟
اسأل فريق حسابك؛ وسيعرّفك بمدير المنتج المسؤول عن الحوسبة عند الطلب.
أين يمكنني الإبلاغ عن الأخطاء؟
أين يمكنني الإبلاغ عن الأخطاء؟
افتح تذكرة دعم (الخطورة 3) أو أبلغ بها مدير المنتج، وأرفق
query_id، ومعرّف خدمتك، والاستثناء الكامل.هل يمكن لخدمة ClickHouse Cloud أخرى الوصول إلى العاملين الذين ينفّذون استعلامي؟
هل يمكن لخدمة ClickHouse Cloud أخرى الوصول إلى العاملين الذين ينفّذون استعلامي؟
لا. طوال فترة استئجار العامل لخدمتك، تسمح المنصة بحركة المرور بين ذلك العامل وخدمتك فقط، وتحجبها عن كل خدمة أخرى. أما العاملون غير المخصَّصون والعاملون المستأجَرون لخدمة أخرى، فلا يملكون أي مسار شبكي إلى خدمتك. راجع عزل الشبكة.
هل تُعيد خدمة أخرى استخدام العامل بعد انتهاء استعلامي؟
هل تُعيد خدمة أخرى استخدام العامل بعد انتهاء استعلامي؟
لا. عند انتهاء عقد الاستئجار، يُدمَّر العامل ويُستبدل بعامل جديد بدلاً من تمريره إلى الخدمة التالية.
هل هذا متاح في ClickHouse BYOC أو ClickHouse Private؟
هل هذا متاح في ClickHouse BYOC أو ClickHouse Private؟
لا. المعاينة الخاصة غير متاحة في ClickHouse BYOC أو ClickHouse Private.