Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

system.parts

الوصف

يتضمن معلومات عن أجزاء البيانات في جداول MergeTree.

يمثل كل صف جزء بيانات واحدًا.

الأعمدة

  • partition (String) — معرّف القسم (تمثيل نصي مُشتق من تعبير مفتاح تقسيم الجدول).

  • name (String) — اسم جزء البيانات. يمكن استخدام بنية تسمية الجزء لتحديد العديد من جوانب أنماط البيانات واستيعابها ودمجها. يكون تنسيق تسمية الجزء كما يلي:

    <partition_id>_<minimum_block_number>_<maximum_block_number>_<level>_<data_version>
    • التعريفات:
      • partition_id - يعرّف مفتاح التقسيم
      • minimum_block_number - يعرّف الحد الأدنى لرقم block في الجزء. يدمج ClickHouse دائمًا الـblocks المتجاورة
      • maximum_block_number - يعرّف الحد الأقصى لرقم block في الجزء
      • level - يزداد بمقدار واحد مع كل عملية merge إضافية للجزء. يشير المستوى 0 إلى أن هذا جزء جديد لم يخضع لعملية merge. من المهم تذكّر أن جميع الأجزاء في ClickHouse غير قابلة للتغيير دائمًا
      • data_version - قيمة اختيارية، تزداد عند تعديل جزء (ومرة أخرى، لا تُكتب البيانات المعدّلة إلا في جزء جديد، لأن الأجزاء غير قابلة للتغيير)
  • uuid (UUID) — معرّف UUID لجزء البيانات.

  • part_type (String) — تنسيق تخزين جزء البيانات. القيم الممكنة: Wide — يُخزَّن كل عمود في ملف منفصل، وCompact — تُخزَّن جميع الأعمدة في ملف واحد. يتحكم إعدادا min_bytes_for_wide_part وmin_rows_for_wide_part في جدول MergeTree بتنسيق تخزين البيانات.

  • part_storage_type (String) — نوع DataPartStorage. القيم الممكنة: Packed — تُخزَّن معظم ملفات الجزء في أرشيف واحد (تُكتب الإسقاطات وبعض ملفات الخدمة، مثل txn_version.txt، بشكل منفصل)، وFull — يُخزَّن كل ملف بشكل منفصل.

  • active (UInt8) — علامة تشير إلى ما إذا كان جزء البيانات نشطًا. إذا كان نشطًا، فإنه يُستخدم في جدول، وإلا فهو على وشك الحذف. تظهر أجزاء البيانات غير النشطة بعد عمليات الدمج والتعديل.

  • marks (UInt64) — عدد العلامات. للحصول على العدد التقريبي للصفوف في جزء البيانات، اضرب عدد العلامات في دقة الفهرس (عادةً 8192). لا تنطبق هذه الإرشادات على الدقة التكيفية.

  • rows (UInt64) — عدد الصفوف.

  • files (UInt64) — عدد الملفات في جزء البيانات.

  • bytes_on_disk (UInt64) — الحجم الإجمالي لجميع ملفات جزء البيانات بالبايت.

  • data_compressed_bytes (UInt64) — الحجم الإجمالي للبيانات المضغوطة في جزء البيانات. لا يشمل ذلك الملفات المساعدة، مثل الملفات التي تحتوي على علامات.

  • data_uncompressed_bytes (UInt64) — الحجم الإجمالي للبيانات غير المضغوطة في جزء البيانات. لا يشمل ذلك الملفات المساعدة، مثل الملفات التي تحتوي على علامات.

  • primary_key_size (UInt64) — مقدار الذاكرة (بالبايت) الذي تشغله قيم المفتاح الأساسي في الملف primary.idx/cidx على القرص.

  • marks_bytes (UInt64) — حجم ملف العلامات.

  • secondary_indices_compressed_bytes (UInt64) — الحجم الإجمالي للبيانات المضغوطة للفهارس الثانوية في جزء البيانات. لا يشمل ذلك الملفات المساعدة، مثل الملفات التي تحتوي على علامات.

  • secondary_indices_uncompressed_bytes (UInt64) — الحجم الإجمالي للبيانات غير المضغوطة للفهارس الثانوية في جزء البيانات. لا يشمل ذلك الملفات المساعدة، مثل الملفات التي تحتوي على علامات.

  • secondary_indices_marks_bytes (UInt64) — حجم ملف العلامات الخاص بالفهارس الثانوية.

  • modification_time (DateTime) — وقت تعديل الدليل الذي يحتوي على جزء البيانات. يتوافق هذا عادةً مع وقت إنشاء جزء البيانات.

  • remove_time (DateTime) — وقت تحول جزء البيانات إلى غير نشط.

  • refcount (UInt32) — عدد المواضع التي يُستخدم فيها جزء البيانات. تشير القيمة الأكبر من 2 إلى استخدام جزء البيانات في الاستعلامات أو عمليات الدمج.

  • min_date (Date) — القيمة الدنيا لمفتاح التاريخ في جزء البيانات.

  • max_date (Date) — القيمة القصوى لمفتاح التاريخ في جزء البيانات.

  • min_time (DateTime) — القيمة الدنيا لمفتاح التاريخ والوقت في جزء البيانات.

  • max_time (DateTime) — القيمة القصوى لمفتاح التاريخ والوقت في جزء البيانات.

  • partition_id (String) — معرّف القسم.

  • min_block_number (Int64) — الحد الأدنى لعدد أجزاء البيانات التي تكوّن الجزء الحالي بعد الدمج.

  • max_block_number (Int64) — الحد الأقصى لعدد أجزاء البيانات التي تكوّن الجزء الحالي بعد الدمج.

  • level (UInt32) — عمق شجرة الدمج. تعني القيمة صفر أن الجزء الحالي أُنشئ بعملية إدراج، وليس بدمج أجزاء أخرى.

  • data_version (UInt64) — الرقم المستخدم لتحديد الطفرات التي ينبغي تطبيقها على جزء البيانات (الطفرات ذات الإصدار الأعلى من data_version).

  • primary_key_bytes_in_memory (UInt64) — مقدار الذاكرة (بالبايت) التي تستخدمها قيم المفتاح الأساسي. تكون القيمة 0 عند تمكين primary_key_lazy_load وعدم تحميل المفتاح. عندما تكون القيمة غير صفرية، تكون البايتات مخزنة في الجزء نفسه وتُحتسب ضمن jemalloc.mergetree_arena.active_bytes. ولا تُحتسب مطلقًا ضمن PrimaryIndexCacheBytes، إذ إنهما متنافيان لكل جزء: يكون الفهرس إما في الجزء نفسه (هذا المقياس) أو في PrimaryIndexCache المشترك (المقياس الآخر)، حسب primary_key_lazy_load وuse_primary_key_cache.

  • primary_key_bytes_in_memory_allocated (UInt64) — مقدار الذاكرة (بالبايت) المحجوزة لقيم المفتاح الأساسي. تكون القيمة 0 عند تمكين primary_key_lazy_load وعدم تحميل المفتاح. عندما تكون القيمة غير صفرية، تُحتسب ضمن jemalloc.mergetree_arena.active_bytes. راجع الملاحظة حول primary_key_bytes_in_memory لمعرفة علاقتها بـ PrimaryIndexCacheBytes.

  • index_granularity_bytes_in_memory (UInt64) — مقدار الذاكرة (بالبايت) التي تستخدمها قيم دقة الفهرس (تكون القيمة 0 عند primary&#95;key&#95;lazy&#95;load=1 وuse&#95;primary&#95;key&#95;cache=1). عندما تكون القيمة غير صفرية، تكون البايتات مملوكة للجزء وتُحتسب ضمن jemalloc.mergetree_arena.active_bytes.

  • index_granularity_bytes_in_memory_allocated (UInt64) — مقدار الذاكرة (بالبايت) المحجوزة لقيم دقة الفهرس (تكون القيمة 0 عند primary&#95;key&#95;lazy&#95;load=1 وuse&#95;primary&#95;key&#95;cache=1). عندما تكون القيمة غير صفرية، تُحتسب ضمن jemalloc.mergetree_arena.active_bytes.

  • is_frozen (UInt8) — علامة تشير إلى وجود نسخة احتياطية لبيانات القسم. 1: النسخة الاحتياطية موجودة. 0: النسخة الاحتياطية غير موجودة. لمزيد من التفاصيل، راجع FREEZE PARTITION.

  • database (String) — اسم قاعدة البيانات.

  • table (String) — اسم الجدول.

  • engine (String) — اسم محرك الجدول من دون معاملات.

  • disk_name (String) — اسم القرص الذي يخزن جزء البيانات.

  • path (String) — المسار المطلق إلى المجلد الذي يحتوي على ملفات جزء البيانات.

  • hash_of_all_files (String) — sipHash128 للملفات المضغوطة.

  • hash_of_uncompressed_files (String) — sipHash128 للملفات غير المضغوطة، مثل ملفات العلامات وملف الفهرس.

  • uncompressed_hash_of_compressed_files (String) — sipHash128 للبيانات في الملفات المضغوطة كما لو كانت غير مضغوطة.

  • delete_ttl_info_min (DateTime) — القيمة الدنيا لمفتاح التاريخ والوقت لقاعدة TTL DELETE.

  • delete_ttl_info_max (DateTime) — القيمة القصوى لمفتاح التاريخ والوقت لقاعدة TTL DELETE.

  • move_ttl_info.expression (Array(String)) — مصفوفة من التعبيرات. يعرّف كل تعبير قاعدة TTL MOVE.

  • move_ttl_info.min (Array(DateTime)) — مصفوفة من قيم التاريخ والوقت. يصف كل عنصر الحد الأدنى لقيمة المفتاح لقاعدة TTL MOVE.

  • move_ttl_info.max (Array(DateTime)) — مصفوفة من قيم التاريخ والوقت. يصف كل عنصر الحد الأقصى لقيمة المفتاح لقاعدة TTL MOVE.

  • default_compression_codec (String) — اسم برنامج الترميز المستخدم لضغط جزء البيانات هذا عندما لا يكون للعمود برنامج ترميز محدد صراحةً أو عند استخدامه CODEC(Default). عند تفعيل allow_experimental_adaptive_codec_selection، قد تستخدم الكتل الفردية لهذه الأعمدة برامج ترميز أخرى؛ راجع mergeTreeCodecBlockCounts.

  • recompression_ttl_info.expression (Array(String)) — تعبير TTL.

  • recompression_ttl_info.min (Array(DateTime)) — القيمة الدنيا لتعبير TTL المحسوب ضمن هذا الجزء. تُستخدم لمعرفة ما إذا كان هناك صف واحد على الأقل انتهت مدة TTL الخاصة به.

  • recompression_ttl_info.max (Array(DateTime)) — القيمة القصوى لتعبير TTL المحسوب ضمن هذا الجزء. تُستخدم لمعرفة ما إذا كانت مدة TTL قد انتهت لجميع الصفوف.

  • group_by_ttl_info.expression (Array(String)) — تعبير TTL.

  • group_by_ttl_info.min (Array(DateTime)) — القيمة الدنيا لتعبير TTL المحسوب ضمن هذا الجزء. تُستخدم لمعرفة ما إذا كان هناك صف واحد على الأقل انتهت مدة TTL الخاصة به.

  • group_by_ttl_info.max (Array(DateTime)) — القيمة القصوى لتعبير TTL المحسوب ضمن هذا الجزء. تُستخدم لمعرفة ما إذا كانت مدة TTL قد انتهت لجميع الصفوف.

  • rows_where_ttl_info.expression (Array(String)) — تعبير TTL.

  • rows_where_ttl_info.min (Array(DateTime)) — القيمة الدنيا لتعبير TTL المحسوب ضمن هذا الجزء. تُستخدم لمعرفة ما إذا كان هناك صف واحد على الأقل انتهت مدة TTL الخاصة به.

  • rows_where_ttl_info.max (Array(DateTime)) — القيمة القصوى لتعبير TTL المحسوب ضمن هذا الجزء. تُستخدم لمعرفة ما إذا كانت مدة TTL قد انتهت لجميع الصفوف.

  • projections (Array(String)) — قائمة أسماء الإسقاطات المحسوبة لهذا الجزء.

  • visible (UInt8) — علامة تشير إلى ما إذا كان هذا الجزء مرئيًا لاستعلامات SELECT.

  • creation_tid (Tuple(UInt64, UInt64, UUID)) — معرّف المعاملة التي أنشأت هذا الكائن أو تحاول إنشاءه.

  • removal_tid_lock (UInt64) — تجزئة removal&#95;tid، تُستخدم لقفل كائن بغرض إزالته.

  • removal_tid (Tuple(UInt64, UInt64, UUID)) — معرّف المعاملة التي أزالت هذا الكائن أو تحاول إزالته

  • creation_csn (UInt64) — CSN للمعاملة التي أنشأت هذا الكائن

  • removal_csn (UInt64) — CSN للمعاملة التي أزالت هذا الكائن

  • has_lightweight_delete (UInt8) — علامة تشير إلى ما إذا كان الجزء يحتوي على قناع حذف خفيف.

  • last_removal_attempt_time (DateTime) — آخر وقت حاول فيه الخادم حذف هذا الجزء.

  • removal_state (String) — الحالة الحالية لعملية إزالة الجزء.

الأسماء المستعارة:

  • bytes — اسم بديل لـ bytes_on_disk.
  • marks_size — اسم بديل لـ marks_bytes.
  • part_name — اسم بديل لـ name.

مثال

SELECT * FROM system.parts LIMIT 1 FORMAT Vertical;
Row 1:
──────
partition:                             tuple()
name:                                  all_1_4_1_6
part_type:                             Wide
part_storage_type:                     Full
active:                                1
marks:                                 2
rows:                                  6
bytes_on_disk:                         310
data_compressed_bytes:                 157
data_uncompressed_bytes:               91
secondary_indices_compressed_bytes:    58
secondary_indices_uncompressed_bytes:  6
secondary_indices_marks_bytes:         48
marks_bytes:                           144
modification_time:                     2020-06-18 13:01:49
remove_time:                           1970-01-01 00:00:00
refcount:                              1
min_date:                              1970-01-01
max_date:                              1970-01-01
min_time:                              1970-01-01 00:00:00
max_time:                              1970-01-01 00:00:00
partition_id:                          all
min_block_number:                      1
max_block_number:                      4
level:                                 1
data_version:                          6
primary_key_bytes_in_memory:           8
primary_key_bytes_in_memory_allocated: 64
is_frozen:                             0
database:                              default
table:                                 months
engine:                                MergeTree
disk_name:                             default
path:                                  /var/lib/clickhouse/data/default/months/all_1_4_1_6/
hash_of_all_files:                     2d0657a16d9430824d35e327fcbd87bf
hash_of_uncompressed_files:            84950cc30ba867c77a408ae21332ba29
uncompressed_hash_of_compressed_files: 1ad78f1c6843bbfb99a2c931abe7df7d
delete_ttl_info_min:                   1970-01-01 00:00:00
delete_ttl_info_max:                   1970-01-01 00:00:00
move_ttl_info.expression:              []
move_ttl_info.min:                     []
move_ttl_info.max:                     []

راجع أيضًا

Navigation