> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات جلسة distributed_*

> إعدادات جلسة ClickHouse ضمن مجموعة distributed_* المُولَّدة.

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.settings](/docs/ar/reference/system-tables/settings)، وهي مولَّدة تلقائيًا من [الشيفرة المصدرية](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="distributed_aggregation_memory_efficient">
  ## distributed\_aggregation\_memory\_efficient
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

ما إذا كان وضع التوفير في الذاكرة للتجميع الموزّع مفعّلًا.

<div id="distributed_connections_pool_size">
  ## distributed\_connections\_pool\_size
</div>

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

الحد الأقصى لعدد الاتصالات المتزامنة مع الخوادم البعيدة لأغراض المعالجة الموزعة لجميع الاستعلامات إلى جدول Distributed واحد. نوصي بتعيين قيمة لا تقل عن عدد الخوادم في العنقود.

<div id="distributed_foreground_insert">
  ## distributed\_foreground\_insert
</div>

**الأسماء البديلة**: `insert_distributed_sync`

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

يُفعّل أو يعطّل إدراج البيانات المتزامن في جدول [Distributed](/docs/ar/reference/engines/table-engines/special/distributed).

بشكل افتراضي، عند إدراج البيانات في جدول `Distributed`، يرسل خادم ClickHouse البيانات إلى عُقد العنقود في وضع الخلفية. وعند تعيين `distributed_foreground_insert=1`، تُعالَج البيانات بشكل متزامن، ولا تنجح عملية `INSERT` إلا بعد حفظ جميع البيانات على جميع الشظايا (وعلى نسخة متماثلة واحدة على الأقل لكل شظية إذا كانت `internal_replication` تساوي `true`).

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

* `0` — تُدرَج البيانات في وضع الخلفية.
* `1` — تُدرَج البيانات في الوضع المتزامن.

**القيمة الافتراضية في Cloud**: `1`.

**انظر أيضًا**

* [محرك جدول Distributed](/docs/ar/reference/engines/table-engines/special/distributed)
* [إدارة الجداول الموزعة](/docs/ar/reference/statements/system#managing-distributed-tables)

<div id="distributed_group_by_no_merge">
  ## distributed\_group\_by\_no\_merge
</div>

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

لا تدمج حالات التجميع من خوادم مختلفة في المعالجة الموزعة للاستعلامات. يمكن استخدام هذا الإعداد عندما يكون من المؤكد وجود مفاتيح مختلفة على الشظايا المختلفة.

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

* `0` — معطّل (تتم المعالجة النهائية للاستعلام على العقدة البادئة).
* `1` - لا تدمج حالات التجميع من خوادم مختلفة في المعالجة الموزعة للاستعلامات (تتم معالجة الاستعلام بالكامل على الشظية، وتقتصر مهمة العقدة البادئة على تمرير البيانات)، ويمكن استخدامه عندما يكون من المؤكد وجود مفاتيح مختلفة على الشظايا المختلفة.
* `2` - مثل `1`، ولكنه يطبّق `ORDER BY` و`LIMIT` على العقدة البادئة (وهذا غير ممكن عندما تتم معالجة الاستعلام بالكامل على العقدة البعيدة، كما في `distributed_group_by_no_merge=1`) ويمكن استخدامه للاستعلامات التي تحتوي على `ORDER BY` و/أو `LIMIT`.

**مثال**

```sql theme={null}
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 1
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
│     0 │
│     0 │
└───────┘
```

```sql theme={null}
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 2
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
│     0 │
└───────┘
```

<div id="distributed_insert_skip_read_only_replicas">
  ## distributed\_insert\_skip\_read\_only\_replicas
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "إذا كانت القيمة true، فسيتخطى INSERT إلى Distributed النسخ المتماثلة المخصصة للقراءة فقط"}]}]} />

يتيح تخطي النسخ المتماثلة المخصصة للقراءة فقط في استعلامات INSERT إلى Distributed.

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

* 0 — سيعمل INSERT كالمعتاد، وإذا وصل إلى نسخة متماثلة مخصصة للقراءة فقط فسيفشل
* 1 — ستتخطى العقدة البادئة النسخ المتماثلة المخصصة للقراءة فقط قبل إرسال البيانات إلى الشظايا.

<div id="distributed_product_mode">
  ## distributed\_product\_mode
</div>

<SettingsInfoBlock type="DistributedProductMode" default_value="deny" />

يغيّر هذا الإعداد سلوك [الاستعلامات الفرعية الموزعة](/docs/ar/reference/statements/in).

يطبّق ClickHouse هذا الإعداد عندما يحتوي الاستعلام على ناتج جداول موزعة، أي عندما يتضمن الاستعلام على جدول موزع استعلامًا فرعيًا غير GLOBAL لجدول موزع.

القيود:

* يُطبَّق فقط على الاستعلامات الفرعية من نوع IN وJOIN.
* فقط إذا كان قسم FROM يستخدم جدولًا موزعًا يحتوي على أكثر من شظية واحدة.
* إذا كان الاستعلام الفرعي يتعلق بجدول موزع يحتوي على أكثر من شظية واحدة.
* لا يُستخدم مع دالة [remote](/docs/ar/reference/functions/table-functions/remote) الجدولية.

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

* `deny` — القيمة الافتراضية. يمنع استخدام هذه الأنواع من الاستعلامات الفرعية (ويُرجع الاستثناء "Double-distributed in/JOIN subqueries is denied").
* `local` — يستبدل قاعدة البيانات والجدول في الاستعلام الفرعي بالنظيرين المحليين لخادم الوجهة (الشظية)، مع الإبقاء على `IN`/`JOIN` العادي.
* `global` — يستبدل استعلام `IN`/`JOIN` بـ `GLOBAL IN`/`GLOBAL JOIN`.
* `allow` — يسمح باستخدام هذه الأنواع من الاستعلامات الفرعية.

<div id="distributed_push_down_limit">
  ## distributed\_push\_down\_limit
</div>

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

يُفعّل أو يُعطّل تطبيق [LIMIT](/docs/ar/reference/settings/session-settings/other#limit) على كل شظية على حدة.

يتيح ذلك تجنّب ما يلي:

* إرسال صفوف إضافية عبر الشبكة؛
* معالجة الصفوف التي تتجاوز الحد على العقدة البادئة.

بدءًا من الإصدار 21.9، لم يعد بالإمكان الحصول على نتائج غير دقيقة، لأن `distributed_push_down_limit` لا يغيّر تنفيذ الاستعلام إلا إذا تحقق شرط واحد على الأقل من الشروط التالية:

* [distributed\_group\_by\_no\_merge](/docs/ar/reference/settings/session-settings/distributed#distributed_group_by_no_merge) > 0.
* الاستعلام **لا يحتوي على** `GROUP BY`/`DISTINCT`/`LIMIT BY`، لكنه يحتوي على `ORDER BY`/`LIMIT`.
* الاستعلام **يحتوي على** `GROUP BY`/`DISTINCT`/`LIMIT BY` مع `ORDER BY`/`LIMIT`، و:
  * يكون [optimize\_skip\_unused\_shards](/docs/ar/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards) مفعّلًا.
  * يكون [optimize\_distributed\_group\_by\_sharding\_key](/docs/ar/reference/settings/session-settings/optimize#optimize_distributed_group_by_sharding_key) مفعّلًا.

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

* 0 — معطّل.
* 1 — مفعّل.

انظر أيضًا:

* [distributed\_group\_by\_no\_merge](/docs/ar/reference/settings/session-settings/distributed#distributed_group_by_no_merge)
* [optimize\_skip\_unused\_shards](/docs/ar/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards)
* [optimize\_distributed\_group\_by\_sharding\_key](/docs/ar/reference/settings/session-settings/optimize#optimize_distributed_group_by_sharding_key)
