> ## 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.

# إعدادات جدول MergeTree الخاصة بـ object_shared_*

> إعدادات جدول MergeTree ضمن المجموعة المُولَّدة object_shared_*.

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.

<h2 id="object_shared_data_buckets_for_compact_part">
  object\_shared\_data\_buckets\_for\_compact\_part
</h2>

<SettingsInfoBlock type="NonZeroUInt64" default_value="8" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "8"},{"label": "إضافة إعداد للتحكم في عدد الحاويات المستخدمة للبيانات المشتركة في تسلسل JSON داخل الأجزاء المضغوطة"}]}]} />

عدد الحاويات المستخدمة في تسلسل البيانات المشتركة بتنسيق JSON داخل الأجزاء المضغوطة. يعمل مع تسلسلات البيانات المشتركة `map_with_buckets` و`advanced` و`advanced_chunked`.
الحد الأقصى المسموح به للقيمة هو 256.

<h2 id="object_shared_data_buckets_for_wide_part">
  object\_shared\_data\_buckets\_for\_wide\_part
</h2>

<SettingsInfoBlock type="NonZeroUInt64" default_value="32" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "32"},{"label": "إضافة إعداد للتحكم في عدد الحاويات للبيانات المشتركة في تسلسل JSON في الأجزاء الواسعة"}]}]} />

عدد الحاويات المستخدمة في تسلسل البيانات المشتركة بصيغة JSON في الأجزاء الواسعة. يعمل هذا الإعداد مع تسلسلات البيانات المشتركة `map_with_buckets` و`advanced` و`advanced_chunked`.
الحد الأقصى المسموح به هو 256.

<h2 id="object_shared_data_serialization_version">
  object\_shared\_data\_serialization\_version
</h2>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="advanced" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "map"},{"label": "إضافة إعداد للتحكم في إصدارات تسلسل JSON"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "advanced"},{"label": "تمكين إصدار تسلسل البيانات المشتركة المتقدم افتراضيًا"}]}]} />

إصدار التسلسل للبيانات المشتركة داخل نوع بيانات JSON.

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

* `map` - تخزين البيانات المشتركة بتنسيق `Map(String, String)`
* `map_with_buckets` - تخزين البيانات المشتركة في عدة أعمدة منفصلة من `Map(String, String)`. يساهم استخدام الحاويات في تحسين قراءة المسارات الفردية من البيانات المشتركة.
* `advanced` - تسلسل خاص للبيانات المشتركة، صُمم لتحسين قراءة المسارات الفردية من البيانات المشتركة بشكل كبير.
  لاحظ أن هذا التسلسل يزيد حجم تخزين البيانات المشتركة على القرص لأننا نخزّن قدرًا كبيرًا من المعلومات الإضافية.
* `advanced_chunked` - مثل `advanced` تمامًا لكن مع دعم تقسيم الصفوف إلى مقاطع أصغر أثناء التسلسل لتقليل ذروة الذاكرة أثناء دمج أعمدة JSON التي تحتوي على عدد كبير من المسارات الفريدة. يتم التحكم في حجم المقطع عبر الإعداد [object\_shared\_data\_target\_chunk\_rows](/ar/reference/settings/merge-tree-settings/object-shared#object_shared_data_target_chunk_rows).

يُحدَّد عدد الحاويات لتسلسلات `map_with_buckets` و`advanced` و`advanced_chunked` من خلال الإعدادات
[object\_shared\_data\_buckets\_for\_compact\_part](/ar/reference/settings/merge-tree-settings/object-shared#object_shared_data_buckets_for_compact_part)/[object\_shared\_data\_buckets\_for\_wide\_part](/ar/reference/settings/merge-tree-settings/object-shared#object_shared_data_buckets_for_wide_part).

<h2 id="object_shared_data_serialization_version_for_zero_level_parts">
  object\_shared\_data\_serialization\_version\_for\_zero\_level\_parts
</h2>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="map_with_buckets" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "map"},{"label": "إضافة إعداد للتحكم في إصدارات التسلسل لـ JSON لأجزاء المستوى الصفري"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "map_with_buckets"},{"label": "تفعيل إصدار التسلسل للبيانات المشتركة map_with_buckets لأجزاء المستوى الصفري افتراضيًا"}]}]} />

يتيح هذا الإعداد تحديد إصدار تسلسل مختلف للبيانات المشتركة
داخل نوع JSON لأجزاء المستوى الصفري التي يتم إنشاؤها أثناء عمليات الإدراج.
يُنصح بعدم استخدام تسلسل البيانات المشتركة `advanced` أو `advanced_chunked` لأجزاء المستوى الصفري لأنه قد يزيد
وقت الإدراج بشكل ملحوظ.

<h2 id="object_shared_data_target_chunk_rows">
  object\_shared\_data\_target\_chunk\_rows
</h2>

<SettingsInfoBlock type="NonZeroUInt64" default_value="8192" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "8192"},{"label": "New setting"}]}]} />

العدد المستهدف من الصفوف في كل مقطع أثناء تسلسل البيانات المشتركة لـ JSON بنمط `advanced_chunked`.
وهذا ليس حدًا صارمًا: فإذا كان المقطع الأخير أصغر من نصف القيمة المستهدفة، فيُدمج مع المقطع السابق،
ومن ثم تتراوح أحجام المقاطع الفعلية بين `target/2` و`1.5 * target`.
القيم الأصغر تقلّل ذروة استهلاك الذاكرة أثناء عمليات دمج أعمدة JSON التي تحتوي على عدد كبير من المسارات الفريدة، لكن مقابل زيادة عدد المقاطع.
