الانتقال إلى المحتوى الرئيسي

عائلة محركات الجداول Log

طُوِّرت هذه المحركات للحالات التي تحتاج فيها إلى كتابة عدد كبير من الجداول الصغيرة بسرعة (حتى نحو مليون صف) ثم قراءتها لاحقًا بالكامل. محركات هذه العائلة: يمكن لمحركات الجداول من عائلة Log تخزين البيانات في أنظمة الملفات الموزعة HDFS أو S3.
هذا المحرك ليس مخصصًا لبيانات السجلّات.على الرغم من الاسم، فإن *محركات الجداول Log ليست مخصّصة لتخزين بيانات السجلّات. ويجب استخدامها فقط مع الأحجام الصغيرة التي تتطلب كتابة سريعة.

الخصائص الشائعة

المحركات:
  • تخزن البيانات على القرص.
  • تُلحِق البيانات بنهاية الملف عند الكتابة.
  • تدعم الأقفال للوصول المتزامن إلى البيانات. أثناء استعلامات INSERT، يُقفَل الجدول، وتنتظر الاستعلامات الأخرى الخاصة بقراءة البيانات وكتابتها حتى يُفكّ قفل الجدول. وإذا لم تكن هناك استعلامات لكتابة البيانات، فيمكن تنفيذ أي عدد من استعلامات قراءة البيانات بالتوازي.
  • لا تدعم mutations.
  • لا تدعم الفهارس. وهذا يعني أن استعلامات SELECT على نطاقات البيانات ليست فعّالة.
  • لا تكتب البيانات على نحو ذرّي. قد ينتهي بك الأمر إلى جدول يحتوي على بيانات تالفة إذا تعطلت عملية الكتابة لسبب ما، مثل توقّف الخادم بشكل غير طبيعي.

الاختلافات

يُعد المحرك TinyLog الأبسط في هذه الفئة، ويقدّم أقل الإمكانات وأدنى كفاءة. ولا يدعم المحرك TinyLog قراءة البيانات بالتوازي بواسطة عدة خيوط ضمن استعلام واحد. كما أنه يقرأ البيانات ببطء أكبر من المحركات الأخرى في هذه الفئة التي تدعم القراءة المتوازية ضمن استعلام واحد، ويستخدم عددًا من واصفات الملفات يكاد يماثل ما يستخدمه المحرك Log، لأنه يخزّن كل عمود في ملف منفصل. استخدمه فقط في السيناريوهات البسيطة. يدعم المحركان Log وStripeLog قراءة البيانات بالتوازي. وعند قراءة البيانات، يستخدم ClickHouse عدة خيوط. ويعالج كل خيط كتلة بيانات منفصلة. يستخدم المحرك Log ملفًا منفصلًا لكل عمود في الجدول. أما StripeLog فيخزّن جميع البيانات في ملف واحد. ونتيجة لذلك، يستخدم المحرك StripeLog عددًا أقل من واصفات الملفات، لكن المحرك Log يوفّر كفاءة أعلى عند قراءة البيانات.
آخر تعديل في ٢ يوليو ٢٠٢٦