الانتقال إلى المحتوى الرئيسي

السؤال

أكتب البيانات إلى ClickHouse Cloud وأحتاج إلى ضمان أنني، عند قراءتها، أحصل على أحدث المعلومات الكاملة.

الإجابة

الاتصال بالعقدة نفسها

إذا كنت تستخدم البروتوكول الأصلي، أو جلسة لإجراء عمليات الكتابة/القراءة، فينبغي أن تكون متصلًا بالنسخة المتماثلة نفسها. في هذه الحالة، ستقرأ مباشرةً من العقدة التي تكتب إليها، ولذلك ستكون القراءة متسقة دائمًا.

الاتصال بعقدة عشوائية

إذا لم تتمكن من ضمان أنك تتصل بالعقدة نفسها (على سبيل المثال، عند الاتصال بالعقدة عبر طلبات HTTPS التي يوزّعها موازن التحميل)، فيمكنك إما: A)
  1. اكتب بياناتك
  2. اتصل بنسخة متماثلة جديدة
  3. نفّذ SYSTEM SYNC REPLICA db.table_name LIGHTWEIGHT
  4. اقرأ أحدث البيانات
راجع مرجع أوامر SYSTEM reference OR B) اقرأ في أي وقت باستخدام الاتساق التسلسلي
لاحظ أنه عند استخدام ClickHouse Cloud ومحرك الجداول الافتراضي SharedMergeTree، لا تكون هناك حاجة إلى استخدام insert_quorum_parallel — إذ إن جميع عمليات الإدراج إلى SharedMergeTree هي quorum inserts (بحكم التصميم). سيؤدي استخدام SYSTEM SYNC REPLICAS أو select_sequential_consistency إلى زيادة الحمل على ClickHouse Keeper، وقد يتباطأ الأداء تبعًا للحمل الواقع على الخدمة. والنهج الموصى به هو تنفيذ عمليات الكتابة/القراءة ضمن الجلسة نفسها أو عبر البروتوكول الأصلي (اتصال ثابت).
آخر تعديل في ٢٩ يونيو ٢٠٢٦