> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات min_* لجدول MergeTree

> إعدادات جدول MergeTree في ClickHouse ضمن مجموعة min_* المُولَّدة.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "التعليق"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        سجل الإصدارات
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

هذه الإعدادات متاحة في [system.merge\_tree\_settings](/ar/reference/system-tables/merge_tree_settings)، وهي مُولَّدة تلقائيًا من الشفرة المصدرية لـ ClickHouse.

## min\_absolute\_delay\_to\_close

<SettingsInfoBlock type="UInt64" default_value="0" />

الحد الأدنى للتأخير المطلق قبل الإغلاق، والتوقف عن خدمة الطلبات، وعدم
إرجاع Ok أثناء التحقق من status.

## min\_columns\_to\_activate\_adaptive\_write\_buffer

<SettingsInfoBlock type="UInt64" default_value="500" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "500"},{"label": "إعداد جديد"}]}]} />

يسمح هذا بتقليل استهلاك الذاكرة في الجداول التي تحتوي على عدد كبير من الأعمدة، وذلك باستخدام مخازن الكتابة المؤقتة التكيفية.

تُقارن هذه القيمة بعدد التدفقات التي يكتبها الجزء الواسع، والذي قد يتجاوز بدرجة كبيرة عدد أعمدته: إذ إن `Map` الذي يحتوي على العديد من الحاويات، أو `Array` أو `Tuple` المتداخل بعمق، يكتب العديد من التدفقات لعمود واحد، ويُخصَّص مخزن كتابة مؤقت واحد لكل تدفق.

القيم الممكنة:

* 0 - معطّل
* 1 - ممكّن دائمًا

## min\_compress\_block\_size

<SettingsInfoBlock type="UInt64" default_value="0" />

الحد الأدنى لحجم كتل بيانات غير مضغوطة المطلوبة لتطبيق الضغط عند
كتابة العلامة التالية. يمكنك أيضًا تحديد هذا الإعداد ضمن الإعدادات العامة
(راجع إعداد [min\_compress\_block\_size](/ar/reference/settings/merge-tree-settings/min#min_compress_block_size)).
تتجاوز القيمة المحددة عند إنشاء الجدول القيمة العامة
لهذا الإعداد.

## min\_index\_granularity\_bytes

<SettingsInfoBlock type="UInt64" default_value="1024" />

الحد الأدنى المسموح به لحجم حبيبات البيانات، بالبايت.

لتوفير وسيلة حماية من إنشاء الجداول عن طريق الخطأ مع قيمة منخفضة جدًا لـ
`index_granularity_bytes`.

## min\_marks\_to\_honor\_max\_concurrent\_queries

<SettingsInfoBlock type="UInt64" default_value="0" />

الحد الأدنى لعدد العلامات التي يجب أن يقرأها الاستعلام حتى يُطبَّق الإعداد [max\_concurrent\_queries](/ar/reference/settings/merge-tree-settings/max#max_concurrent_queries).

<Note>
  ستظل الاستعلامات مقيَّدة بإعدادات `max_concurrent_queries` الأخرى.
</Note>

القيم الممكنة:

* عدد صحيح موجب.
* `0` — معطّل (لا يُطبَّق حد `max_concurrent_queries` على أي استعلام).

**مثال**

```xml theme={null}
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>
```

## min\_merge\_bytes\_to\_use\_direct\_io

<SettingsInfoBlock type="UInt64" default_value="10737418240" />

الحد الأدنى لوحدة تخزين البيانات لعملية الدمج المطلوبة لاستخدام
واجهة I/O المباشر للوصول إلى قرص التخزين. عند دمج أجزاء البيانات، يحسب ClickHouse
إجمالي حجم التخزين لجميع البيانات المطلوب دمجها. إذا تجاوز الحجم
`min_merge_bytes_to_use_direct_io` بايت، يقرأ ClickHouse البيانات
ويكتبها إلى قرص التخزين باستخدام واجهة I/O المباشر (الخيار `O_DIRECT`).
إذا كانت قيمة `min_merge_bytes_to_use_direct_io = 0`، فسيتم تعطيل I/O المباشر.

## min\_partition\_age\_to\_force\_merge\_seconds

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "إعداد جديد لفرض دمج الأجزاء في الأقسام التي لم تعد تستقبل عمليات إدراج"}]}]} />

يدمج الأجزاء داخل القسم إذا كان كل جزء فيه أقدم من هذه القيمة، أي أن القسم لم
يعد يستقبل عمليات إدراج. وعلى خلاف
`min_age_to_force_merge_seconds` مع `min_age_to_force_merge_on_partition_only`،
لا يلزم أن يتّسع القسم في عملية دمج واحدة: إذ تظل كل عملية دمج ملتزمة بقيمة
`max_bytes_to_merge_at_max_space_in_pool`. ويعمل مع محدّدي الدمج Simple و
StochasticSimple.

والعمر الذي تجري مقارنته هنا هو عمر أحدث جزء في القسم
(`now - modification_time`، مأخوذًا كأدنى قيمة عبر أجزائه)، ولذلك لا تُفعَّل القاعدة إلا
بعد أن يتجاوز عمر كل جزء هذه القيمة. وأي جزء جديد يعيد ضبطها: عملية إدراج، أو
عملية تعديل (mutation)، وكذلك كل عملية دمج يسندها هذا الإعداد نفسه، لأن الجزء
المدموج يُعدّ جديدًا. وبناءً على ذلك يتوقف الفرض فور اكتمال عملية دمج مفروضة، ولا يُفعَّل
مجددًا إلا بعد انقضاء هذه القيمة مرة أخرى دون ظهور أجزاء جديدة، بحيث يُضغط القسم
الذي يحتاج إلى عدة عمليات دمج على جولات متعاقبة تفصل بينها هذه الفترة الزمنية، لا
في تمريرة واحدة متصلة.

ويعمل الفرض تمامًا مثل `min_age_to_force_merge_seconds`: فهو يتجاوز شرط نسبة
الحجم الذي يمنع عادةً إسناد عملية دمج غير متوازنة، كما يتجاوز الحد الأدنى
`min_parts_to_merge_at_once`، بحيث يمكن لعملية دمج مفروضة أن تشمل عددًا من الأجزاء
أقل مما يتطلبه ذلك الحد. ولا تُعطَّل أي آلية استدلالية أخرى: إذ تظل
`merge_selector_window_size` تحدّ من الأجزاء التي تُفحص، وتظل
`merge_selector_enable_heuristic_to_remove_small_parts_at_right`
تزيل الجزء الصغير الأخير من نطاق مختار يضم ثلاثة أجزاء أو أكثر. وأيٌّ من هاتين
الآليتين يحتاج عبء العمل إلى تعطيلها فلا بد من تعطيلها صراحةً عبر إعدادها الخاص.

وفي ظل محدّدي الدمج Simple و StochasticSimple، لا يمكن الجمع بينه وبين
`min_age_to_force_merge_seconds` مقترنًا بـ
`min_age_to_force_merge_on_partition_only`. فذلك الزوج يدمج القسم بأكمله دفعة
واحدة، ومثل هذه العملية وحدها هي التي تُوسم بأنها نهائية، وهو ما يتيح لجدول
`ReplacingMergeTree` تنفيذ `CLEANUP`؛ أما فرض عمليات الدمج المعتادة استنادًا إلى عمر
القسم فسيستبق ذلك ويمنعه. استخدم الزوج للأقسام التي تتّسع في عملية دمج واحدة،
واستخدم هذا الإعداد للأقسام التي لا تتّسع. أما المحدّدات الأخرى فتتجاهل هذا الإعداد،
ولذلك يُقبل الجمع معها.

القيم المحتملة:

* عدد صحيح موجب.

## min\_parts\_to\_merge\_at\_once

<SettingsInfoBlock type="UInt64" default_value="0" />

الحد الأدنى لعدد أجزاء البيانات التي يمكن لمحدِّد الدمج اختيارها لدمجها دفعةً واحدة
(إعداد مخصّص لمستوى الخبراء، لا تغيّره إذا لم تكن تفهم ما الذي يفعله).
0 - معطّل. يعمل مع محددات الدمج من النوعين Simple وStochasticSimple.

## min\_replicated\_logs\_to\_keep

<SettingsInfoBlock type="UInt64" default_value="10" />

احتفظ بهذا العدد التقريبي من آخر السجلات في سجل ZooKeeper، حتى إن كانت
متقادمة. لا يؤثر ذلك في عمل الجداول: إذ يُستخدم فقط لتشخيص سجل ZooKeeper
قبل تنظيفه.

القيم الممكنة:

* أي عدد صحيح موجب.
