الوصف
الأعمدة:
database(String) — اسم قاعدة البيانات التي طُبِّقت عليها عملية التعديل.table(String) — اسم الجدول الذي طُبِّقت عليه عملية التعديل.mutation_id(String) — معرّف عملية التعديل. بالنسبة إلى الجداول المُكرَّرة، تتوافق هذه المعرّفات مع أسماء عقد znode في الدليل<table_path_in_clickhouse_keeper>/mutations/ضمن ClickHouse Keeper. أما بالنسبة إلى الجداول غير المُكرَّرة، فتتوافق المعرّفات مع أسماء الملفات في دليل بيانات الجدول.command(String) — سلسلة أوامر التعديل (الجزء من الاستعلام الذي يلي ALTER TABLE [db.]table).create_time(DateTime) — التاريخ والوقت اللذان أُرسل فيهما أمر التعديل للتنفيذ.block_numbers.partition_id(Array(String)) — بالنسبة إلى تعديلات الجداول المُكرَّرة، تحتوي المصفوفة على معرّفات الأقسام (سجل واحد لكل قسم). أما بالنسبة إلى تعديلات الجداول غير المُكرَّرة، فتكون المصفوفة فارغة.block_numbers.number(Array(Int64)) — بالنسبة إلى تعديلات الجداول المُكرَّرة، تحتوي المصفوفة على سجل واحد لكل قسم يتضمن رقم الكتلة الذي حصلت عليه عملية التعديل. لا تُعدَّل في القسم إلا الأجزاء التي تحتوي على كتل أرقامها أقل من هذا الرقم. في الجداول غير المُكرَّرة، تشكّل أرقام الكتل في جميع الأقسام تسلسلاً واحدًا. وهذا يعني أنه بالنسبة إلى تعديلات الجداول غير المُكرَّرة، سيحتوي العمود على سجل واحد يتضمن رقم كتلة واحدًا حصلت عليه عملية التعديل.parts_in_progress_names(Array(String)) — مصفوفة بأسماء أجزاء البيانات التي يجري تعديلها حاليًا.parts_to_do_names(Array(String)) — مصفوفة بأسماء أجزاء البيانات التي يجب تعديلها لإكمال عملية التعديل.parts_to_do(Int64) — عدد أجزاء البيانات التي يجب تعديلها لإكمال عملية التعديل. ملاحظة: حتى إذا كانت قيمةparts_to_doتساوي 0، فقد لا تكون عملية تعديل جدول مُكرَّر قد اكتملت بعد بسبب عملية INSERT طويلة التشغيل تنشئ جزء بيانات جديدًا سيحتاج إلى تعديل.parts_postpone_reasons(Map(String, String)) — خريطة تربط أسماء الأجزاء بأسباب تأجيلها.is_done(UInt8) — علامة تحدد ما إذا كانت عملية التعديل قد اكتملت أم لا. القيم الممكنة: 1 إذا اكتملت عملية التعديل، و0 إذا كانت لا تزال قيد التنفيذ.is_killed(UInt8) — يشير إلى ما إذا تم إيقاف عملية تعديل. متاح فقط في ClickHouse Cloud. ملاحظة: لا تعني القيمة is_killed=1 بالضرورة أن عملية التعديل قد اكتملت نهائيًا. قد تظل عملية التعديل لفترة طويلة في حالة تكون فيها is_killed=1 وis_done=0. وقد يحدث ذلك إذا كانت عملية تعديل أخرى طويلة التشغيل تحجب عملية التعديل الموقوفة. وهذا وضع طبيعي.latest_failed_part(String) — اسم أحدث جزء تعذّر تعديله.latest_fail_time(DateTime) — تاريخ ووقت أحدث فشل في تعديل جزء.latest_fail_reason(String) — رسالة الاستثناء التي تسببت في أحدث فشل في تعديل جزء.latest_fail_error_code_name(String) — رمز خطأ الاستثناء الذي تسبب في أحدث فشل في تعديل جزء.
- إذا لم يكن اسم الجزء موجودًا في
parts_postpone_reasonsولم يُطبَّق عليه تعديل بعد، فهذا يعني أن الجزء لم يُجدوَل بعد للتعديل. - يمثّل اسم الجزء
all_partsجميع الأجزاء التي لم يُطبَّق عليها تعديل بعد.
is_killed(UInt8) — يشير إلى ما إذا كان التعديل قد أُوقِف. متاح فقط في ClickHouse Cloud.
لا تعني القيمة
is_killed=1 بالضرورة أن التعديل قد اكتمل نهائيًا. قد يظل التعديل في حالة تكون فيها is_killed=1 وis_done=0 لفترة طويلة. وقد يحدث ذلك إذا كان تعديل آخر طويل التشغيل يحجب التعديل المُوقَف. هذه حالة طبيعية.is_done(UInt8) — علامة تشير إلى ما إذا كانت عملية التعديل قد اكتملت أم لا. القيم الممكنة:1إذا كان التعديل مكتملًا،0إذا كان التعديل لا يزال قيد التنفيذ.
حتى إذا كانت قيمة
parts_to_do = 0، فقد لا يكون التعديل لجدول مكرر قد اكتمل بعد، بسبب استعلام INSERT طويل التشغيل ينشئ جزء بيانات جديدًا يجب تطبيق التعديل عليه.latest_failed_part(String) — اسم أحدث جزء تعذّر تطبيق التعديل عليه.latest_fail_time(DateTime) — تاريخ ووقت أحدث فشل في تعديل جزء بيانات.latest_fail_reason(String) — رسالة الاستثناء التي تسببت في أحدث فشل في تعديل جزء بيانات.
مراقبة عمليات التعديل
system.mutations، استخدم الاستعلام التالي:
system.*.
انظر أيضًا
- التعديلات
- MergeTree محرك الجدول
- ReplicatedMergeTree عائلة المحركات