الوصف
يتضمن معلومات عن أجزاء البيانات في جداول 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_key_lazy_load=1وuse_primary_key_cache=1). عندما تكون القيمة غير صفرية، تكون البايتات مملوكة للجزء وتُحتسب ضمنjemalloc.mergetree_arena.active_bytes. -
index_granularity_bytes_in_memory_allocated(UInt64) — مقدار الذاكرة (بالبايت) المحجوزة لقيم دقة الفهرس (تكون القيمة 0 عندprimary_key_lazy_load=1وuse_primary_key_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_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: []