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

# إعدادات جدول MergeTree ‏replicated_deduplication_window_*

> إعدادات جدول MergeTree في ClickHouse ضمن المجموعة المُنشأة replicated_deduplication_window_*.

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](/docs/ar/reference/system-tables/merge_tree_settings)، وهي مُنشأة تلقائيًا من الشفرة المصدرية لـ ClickHouse.

<div id="replicated_deduplication_window">
  ## replicated\_deduplication\_window
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "10000"},{"label": "زيادة القيمة الافتراضية"}]}]} />

عدد أحدث الكتل المُدرجة التي يخزّن ClickHouse Keeper لها
قيم hash للتحقق من التكرار.

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

* أي عدد صحيح موجب.
* 0 (تعطيل إزالة التكرار)

بالنسبة إلى [إزالة التكرار عند الإدراج](/docs/ar/reference/engines/table-engines/mergetree-family/replication)،
فعند الكتابة إلى الجداول المنسوخة متماثلًا، يكتب ClickHouse قيم hash الخاصة بإزالة التكرار في
ClickHouse Keeper. ولا تُخزَّن قيم hash إلا لأحدث
`replicated_deduplication_window` كتلة. وتُزال أقدم قيم hash من
ClickHouse Keeper.

تغطي قيمة hash الكتلة المُدرجة بالكامل، لذلك لا تُزال تكرارات عملية insert إلا إذا
تطابقت بياناتها بالكامل مع عملية insert سابقة (إعادة محاولة)، وليس على مستوى كل part على حدة.

إن استخدام قيمة كبيرة لـ `replicated_deduplication_window` يبطّئ `Inserts` لأن عددًا أكبر من
المدخلات يحتاج إلى المقارنة.

<div id="replicated_deduplication_window_for_async_inserts">
  ## replicated\_deduplication\_window\_for\_async\_inserts
</div>

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

إعداد قديم أُبقي عليه لعمليات rolling upgrades بين إصدارات مختلطة. تُزال التكرارات من عمليات insert الجديدة باستخدام hash الموحّد الذي يتحكم فيه `replicated_deduplication_window`؛ ولم يعد هذا الإعداد الآن يحدّد إلا عدد قيم hash القديمة الخاصة بـ async-insert التي يُحتفَظ بها في الدليل `async_blocks` داخل ClickHouse Keeper، والذي ما تزال replicas الأقدم تكتب إليه أثناء rolling upgrade، بينما يتولى القائد الحالي تنظيفه.
إذا كانت القيمة `0`، فلن يُحتفَظ بأيٍّ منها — وستزيل عملية التنظيف التالية كل entry — لذا أبقِ على القيمة default (أو قيمة أكبر) للحفاظ على نافذة إزالة التكرار القديمة لـ async أثناء الترقية.

<div id="replicated_deduplication_window_seconds">
  ## replicated\_deduplication\_window\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "3600"},{"label": "خفض القيمة الافتراضية"}]}]} />

عدد الثواني التي تُزال بعد انقضائها قيم hash الخاصة بالكتل المُدرجة
من ClickHouse Keeper.

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

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

على غرار [replicated\_deduplication\_window](/docs/ar/reference/settings/merge-tree-settings/replicated-deduplication-window#replicated_deduplication_window)،
يحدّد `replicated_deduplication_window_seconds` مدة الاحتفاظ بـ قيم hash
الخاصة بالكتل لأغراض إزالة التكرار عند الإدراج. وتُزال قيم hash الأقدم من
`replicated_deduplication_window_seconds` من ClickHouse Keeper،
حتى إذا كانت أقل من ` replicated_deduplication_window`.

يُحتسب الوقت بالنسبة إلى وقت أحدث سجل، وليس إلى
الوقت الفعلي. وإذا كان هذا هو السجل الوحيد، فسيُحفَظ إلى الأبد.

<div id="replicated_deduplication_window_seconds_for_async_inserts">
  ## replicated\_deduplication\_window\_seconds\_for\_async\_inserts
</div>

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

إعداد قديم جرى الإبقاء عليه من أجل عمليات rolling upgrades ذات الإصدارات المختلطة. وبالاقتران مع
`replicated_deduplication_window_for_async_inserts`، فإنه يحدّد المدة التي تُحفَظ خلالها قيم hash القديمة الخاصة بعمليات async-insert
في الدليل `async_blocks` داخل ClickHouse Keeper (تكتبها replicas الأقدم أثناء
rolling upgrade، ويُنظّفها القائد الحالي). تستخدم عمليات insert الجديدة
`replicated_deduplication_window_seconds`.
