يمكنك اتباع هذا المسار بنفسك، أو أتمتته ببرنامج نصي، أو تسليمه إلى وكيل ذكاء اصطناعي. انتقل إلى عرض Cloud UI لنسخة Console.تتناول هذه الصفحة تهيئة ClickHouse Managed Postgres، وتحميل البيانات، ونسخها إلى ClickHouse، والاستعلام عنها، وكل ذلك من خلال سطر الأوامر باستخدام ClickHouse CLI (ثبّت ClickHouse CLI:ستحتاج أيضًا إلى بدلًا من ذلك، عيّن متغيرَي البيئة أنشئ الخدمة واحفظ الاستجابة، إذ لا تُعرض كلمة المرور إلا مرة واحدة:تتضمن الاستجابة معرّف الخدمة، واسم المضيف، وسلسلة اتصال جاهزة للاستخدام:استخرج ما تحتاج إليه بقية هذا الدليل:إذا فُقدت كلمة المرور، فأنشئ كلمة مرور جديدة باستخدام الأمر تستغرق عملية التجهيز بضع دقائق. تحقّق دوريًا حتى تصبح الحالة أنشئ جدولين ونفّذ insert لمليون حدث عبر يكتمل إدراج مليون صف خلال نحو 7 ثوانٍ على أنشئ خدمة في المنطقة نفسها واحفظ الاستجابة؛ إذ لا تظهر كلمة المرور إلا في استجابة الإنشاء:انتظر حتى يصبح قيد التشغيل؛ إذ يتطلب ClickPipe وجهةً قيد التشغيل:لاستخدام خدمة موجودة بدلًا من ذلك، عيّن أنشئ ClickPipe لـ Postgres CDC على خدمة ClickHouse، مع توجيهه إلى اسم مضيف الخاص بـ Managed Postgres. ينسخ هذا الـ pipe الصفوف الحالية، ثم يُبقي ClickHouse متزامنًا مع التغييرات اللاحقة:ملاحظات:انتظر حتى تصل القناة إلى
تنتقل القناة عبر نفّذ استعلامات SQL على خدمة ClickHouse مباشرةً من خلال CLI. تنشئ أول عملية استدعاء تلقائيًا نقطة نهاية لواجهة برمجة تطبيقات الاستعلام ومفتاح API مقيّدًا بنطاق الخدمة:تُنسَخ عمليات الكتابة الجديدة في Postgres باستمرار. أدرِج صفًا وأجرِ poll حتى يصل العدد إلى 1,000,001 (عادةً خلال أقل من دقيقة):يتيح الامتداد تم ترك Heredoc بدون علامات اقتباس عمدًا، لكي يستبدل مفسّر الأوامر احذف ClickPipe أولًا، ثم خدمة Postgres. يؤدي حذف الخدمة إلى إزالة جميع بياناتها نهائيًا:لا يمكن حذف خدمة ClickHouse وهي قيد التشغيل مباشرةً. أوقفها، وانتظر حتى تصبح
clickhousectl) وpsql. الأوامر غير تفاعلية؛ ويُخرج clickhousectl مخرجات JSON مع --json.المتطلبات الأساسية
psql (أدوات عميل PostgreSQL؛ على MacOS، brew install libpq) وjq.تتطلب عمليات الكتابة (الإنشاء، الحذف) المصادقة بمفتاح API؛ أما تسجيل الدخول عبر OAuth فهو للقراءة فقط:CLICKHOUSE_CLOUD_API_KEY وCLICKHOUSE_CLOUD_API_SECRET. تحقّق باستخدام clickhousectl cloud auth status؛ ومن المفترض أن يظهر إدخال بنطاق read/write.الجزء 1: إنشاء Postgres وتحميل البيانات
أنشئ خدمة Postgres
clickhousectl cloud postgres reset-password $PG_ID --generate.انتظر حتى يكتمل تجهيز الخدمة
running:تحميل بيانات نموذجية
psql:c6gd.large (أصغر فئة) بفضل تخزين NVMe. تحقّق من ذلك بإجراء استعلام؛ إذ تختلف أعداد الصفوف بين مرات التشغيل لأن البيانات تُولَّد باستخدام random():الجزء 2: النسخ إلى ClickHouse
أنشئ خدمة ClickHouse
CH_ID من clickhousectl cloud service list وعيّن CH_PASSWORD إلى كلمة مرور المستخدم default الخاصة بها، والتي تحتاجها خطوة pg_clickhouse.انسخ الجداول إلى ClickHouse
- تُنشأ الجداول المُكرَّرة في قاعدة البيانات
defaultعلى خدمة ClickHouse، وتُسمّى بحسب أهداف--table-mapping - يُنشأ كلٌّ من الـ publication وreplication slot تلقائيًا، ويقتصر نطاق الـ publication على الجداول المعيّنة؛ مرّر
--publication-nameلاستخدام اسم تديره بنفسك - استخدم اسم مضيف المباشر لـ Postgres؛ replication غير مدعومة عبر PgBouncer
انتظر حتى تصل القناة إلى Running
Provisioning وSetup و(بالنسبة إلى الجداول الأكبر) Snapshot قبل أن تصل إلى Running، ويستغرق ذلك نحو 4 دقائق لأول قناة في خدمة. وتُعد حالتا Failed وInternalError نهائيتين:استعلِم عن البيانات المُكرَّرة في ClickHouse
الاستعلام عن ClickHouse من Postgres
pg_clickhouse لـ Postgres العمل كطبقة استعلام موحّدة لكلٍّ من البيانات المعاملاتية والتحليلية. احصل على اسم مضيف ClickHouse عبر HTTPS، ثم أعدّ الامتداد باستخدام psql:$CH_HOST و$CH_PASSWORD قبل أن يصل SQL إلى Postgres. أصبحت الجداول المُكرَّرة الآن مرئية كجداول خارجية في مخطط organization؛ وتُنفَّذ الاستعلامات عليها في ClickHouse.عند القياس على c6gd.large باستخدام مجموعة البيانات هذه، تعمل الاستعلامات التحليلية أسرع بمقدار 6–9 مرات عبر الجداول الخارجية (على سبيل المثال، GROUP BY مع 5 عمليات تجميع: 176 مللي ثانية عبر ClickHouse مقابل 1,133 مللي ثانية محليًا؛ وJOIN مع عمليات تجميع: 298 مللي ثانية مقابل 2,764 مللي ثانية).التنظيف
stopped، ثم احذفها: