> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# لماذا لا أستطيع رؤية بياناتي في قاموس على ClickHouse Cloud؟

> توجد مشكلة قد تؤدي إلى عدم ظهور البيانات في القواميس مباشرةً بعد إنشائها.

{frontMatter.description}

<div id="dictionaries-in-clickhouse">
  ## القواميس في ClickHouse
</div>

قد تشهد القواميس التي أُنشئت في ClickHouse Cloud بعض عدم الاتساق خلال المرحلة الأولية من الإنشاء. وهذا يعني أنك قد لا ترى أي بيانات في القاموس فور إنشائه. لكن بعد عدة إعادات للمحاولة، قد يصل استعلام الإنشاء إلى نُسخ متماثلة مختلفة، وعندها ستصبح البيانات مرئية.

يحدث هذا أحيانًا لأن القاموس أُنشئ قبل وصول الجزء إلى الخادم. على سبيل المثال:

```
2024-01-25 13:38:25.615837 - CREATE DICTIONARY received
2024-01-25 13:38:25.626468 - CREATE DICTIONARY finished
2024-01-25 13:38:25.733008 - Part all_0_0_0 downloaded
```

كما ترى، لم يصل هذا الجزء إلا بعد إنشاء القاموس. وقد تصبح هذه المشكلة أكبر إذا كنت تستخدم `LIFETIME(MIN 0 MAX 0)`، لأن هذا يعني أن القاموس لن يُحدَّث تلقائيًا أبدًا. لذلك، سيظل القاموس فارغًا إلى أن يُنفَّذ الأمر `RELOAD DICTIONARIES`.

يكمن حل هذه المشكلة في استخدام استعلام `SELECT` بدلًا من تحديد جدول مصدر عند إنشاء القاموس، مع تفعيل الإعداد `select_sequential_consistency=1`.

بدلًا من تحديد جدول مصدر:

```sql theme={null}
SOURCE(CLICKHOUSE(
    table 'test.temp_title_table_1706189903924'
    user default password 'PASSWORD'))
```

استخدم استعلام `SELECT` مع `select_sequential_consistency=1`:

```sql theme={null}
SOURCE(CLICKHOUSE(QUERY
    'SELECT songTitle, mappedTitle
    FROM test.temp_title_table_1706189903924
    SETTINGS select_sequential_consistency=1' USER default PASSWORD ''))
```

<div id="why-does-this-issue-occur">
  ## لماذا تحدث هذه المشكلة؟
</div>

عندما تُدرِج بيانات ثم تُنشئ قاموسًا أو تعيد تحميله، قد تصل عبارة DDL إلى نسخة متماثلة قبل أن تصلها البيانات (أو البيانات الجديدة). ويؤدي ذلك إلى عدم اتساق القواميس بين النسخ المتماثلة. بعد ذلك، وبحسب النسخة المتماثلة التي تستقبل الاستعلام، قد تحصل على نتائج مختلفة.

لاحظ أن الأمر نفسه يحدث عندما تُدرِج بيانات ثم تقرأ مباشرةً من table. فإذا قرأت من نسخة متماثلة لم تُكرِّر البيانات بعد، فلن ترى البيانات المُدرَجة حديثًا. وعندما تحتاج إلى sequential consistency، مقابل تكلفة على الأداء (ولهذا لا يُنصح عمومًا باستخدامها)، يمكنك تفعيل `select_sequential_consistency`.

أما في حالة القواميس، فالأمر أكثر تعقيدًا قليلًا، لأن القواميس لا تستخدم إعدادات الاستعلام، بل إعدادات server. ونتيجةً لذلك، عند تحميل البيانات إلى القاموس، حتى إذا استخدمت `SET select_sequential_consistency=1` فقد تُحمَّل البيانات بشكل غير متسق عبر النسخ المتماثلة. ويتيح تحديد `select_sequential_consistency=1` في استعلام مصدر القاموس أن يلتزم القاموس بهذا الإعداد حتى إن لم يكن مفعّلًا على مستوى server setting بشكل عام.
