الانتقال إلى المحتوى الرئيسي
يحدد محرك الجدول (نوع الجدول) ما يلي:
  • كيفية تخزين البيانات ومكان تخزينها، وأين تُكتَب، ومن أين تُقرَأ.
  • الاستعلامات المدعومة وكيفية تنفيذها.
  • الوصول المتزامن إلى البيانات.
  • استخدام الفهارس، إن وُجدت.
  • ما إذا كان تنفيذ الطلبات على عدة خيوط ممكنًا.
  • معلمات النسخ المتماثل.

عائلات المحرّكات

MergeTree

أكثر محركات الجداول شمولًا ومرونةً للمهام ذات الأحمال المرتفعة. والسمة المشتركة بين هذه المحركات هي سرعة إدخال البيانات، ثم معالجتها لاحقًا في الخلفية. تدعم محركات عائلة MergeTree نسخ البيانات المتماثل (من خلال إصدارات Replicated* من المحركات)، والتقسيم، والفهارس الثانوية لتخطّي البيانات، وميزات أخرى لا تدعمها المحركات الأخرى. المحركات في هذه العائلة:

Log

محركات خفيفة بحدٍّ أدنى من الوظائف. تكون أكثر فعالية عندما تحتاج إلى كتابة عدد كبير من الجداول الصغيرة بسرعة (حتى نحو مليون صف) ثم قراءتها لاحقًا بالكامل. المحركات في هذه العائلة:
محركات Log
TinyLog
StripeLog
Log

محركات التكامل

محركات للتواصل مع أنظمة أخرى لتخزين البيانات ومعالجتها. المحركات ضمن هذه العائلة:

المحركات الخاصة

المحركات في هذه العائلة:

الأعمدة الافتراضية

العمود الافتراضي هو سمة أساسية في محرك الجدول، وتكون معرَّفة في الشيفرة المصدرية للمحرك. يجب ألا تحدد الأعمدة الافتراضية في استعلام CREATE TABLE، ولا يمكنك رؤيتها في نتائج استعلامَي SHOW CREATE TABLE وDESCRIBE TABLE. كما أن الأعمدة الافتراضية للقراءة فقط، لذا لا يمكنك إدراج البيانات فيها. لاختيار البيانات من عمود افتراضي، يجب تحديد اسمه في استعلام SELECT. ولا يعيد SELECT * قيماً من الأعمدة الافتراضية. إذا أنشأت جدولاً يحتوي على عمود له الاسم نفسه لأحد الأعمدة الافتراضية في الجدول، يصبح العمود الافتراضي غير متاح. لا نوصي بذلك. وللمساعدة في تجنب التعارضات، تبدأ أسماء الأعمدة الافتراضية عادةً بشرطة سفلية.
  • _table — يحتوي على اسم الجدول الذي قُرئت منه البيانات. النوع: String. بغض النظر عن محرك الجدول المستخدم، يتضمن كل جدول عمودًا افتراضيًا عامًا باسم _table. عند الاستعلام عن جدول يستخدم محرك Merge table، يمكنك تعيين شروط ثابتة على _table في عبارة WHERE/PREWHERE (على سبيل المثال، WHERE _table='xyz'). في هذه الحالة، تُنفَّذ عملية القراءة فقط على الجداول التي يتحقق فيها الشرط على _table، ولذلك يعمل العمود _table بوصفه فهرسًا. عند استخدام استعلامات منسقة مثل SELECT ... FROM (... UNION ALL ...)، يمكننا تحديد الجدول الفعلي الذي تنشأ منه الصفوف المُعادة من خلال تحديد العمود _table.
آخر تعديل في ٢٩ يونيو ٢٠٢٦