الانتقال إلى المحتوى الرئيسي
ClickHouse Managed Postgres هو Postgres بمستوى مؤسسي ومدعوم بتخزين NVMe، ويوفّر أداءً أسرع بما يصل إلى 10 مرات لأعباء العمل المقيّدة بأداء القرص مقارنةً بالتخزين المتصل عبر الشبكة مثل EBS. ينقسم هذا الدليل السريع إلى جزأين:
  • الجزء 1: ابدأ باستخدام NVMe Postgres واختبر أداءه
  • الجزء 2: فعّل التحليل في الوقت الفعلي من خلال التكامل مع ClickHouse
يتوفر Managed Postgres حاليًا على AWS في عدة مناطق، وهو مجاني خلال المعاينة الخاصة. في هذا الدليل السريع، ستقوم بما يلي:
  • إنشاء مثيل Managed Postgres بأداء مدعوم من NVMe
  • تحميل مليون حدث تجريبي ومشاهدة سرعة NVMe عمليًا
  • تشغيل الاستعلامات واختبار أداء منخفض الكمون
  • نسخ البيانات إلى ClickHouse للتحليل في الوقت الفعلي
  • الاستعلام من ClickHouse مباشرةً عبر Postgres باستخدام pg_clickhouse

الجزء 1: بدء استخدام NVMe Postgres

إنشاء قاعدة بيانات

لإنشاء خدمة Managed Postgres جديدة، انقر على زر New service في قائمة الخدمات في Cloud Console. بعد ذلك، يمكنك اختيار Postgres كنوع قاعدة البيانات. أدخل اسمًا لمثيل قاعدة البيانات، ثم انقر على Create service. سيتم توجيهك إلى صفحة Overview. سيتم توفير مثيل Managed Postgres الخاص بك، وسيكون جاهزًا للاستخدام خلال 3 إلى 5 دقائق.

اتصل بقاعدة بياناتك

في الشريط الجانبي الأيسر، سترى زر Connect. انقر عليه لعرض تفاصيل الاتصال وسلاسل الاتصال بتنسيقات متعددة. انسخ سلسلة اتصال psql واتصل بقاعدة بياناتك. يمكنك أيضًا استخدام أي عميل متوافق مع Postgres، مثل DBeaver، أو أي مكتبة تطبيقات.

اختبر أداء NVMe

لنرَ أداء NVMe عمليًا. أولًا، فعّل التوقيت في psql لقياس زمن تنفيذ الاستعلام:
أنشئ جدولين تجريبيين للأحداث والمستخدمين:
الآن، أدخِل مليون حدث وشاهد سرعة NVMe:
أداء NVMeتم إدراج مليون صف من بيانات JSONB في أقل من 4 ثوانٍ. في قواعد البيانات السحابية التقليدية التي تستخدم تخزينًا متصلًا عبر الشبكة مثل EBS، تستغرق العملية نفسها عادةً وقتًا أطول بمرتين إلى ثلاث مرات بسبب زمن انتقال الذهاب والإياب عبر الشبكة وتقييد IOPS. يزيل تخزين NVMe هذه الاختناقات من خلال إبقاء التخزين متصلًا فعليًا بالحوسبة.يختلف الأداء حسب حجم المثيل، والحمل الحالي، وخصائص البيانات.
أدرج 1,000 مستخدم:

شغّل استعلامات على بياناتك

لنُشغّل الآن بعض الاستعلامات لنرى مدى سرعة استجابة Postgres مع تخزين NVMe. تجميع مليون حدث حسب النوع:
استعلام مع التصفية بـ JSONB ونطاق التاريخ:
اربط الأحداث ببيانات المستخدمين:
أصبح Postgres لديك جاهزًافي هذه المرحلة، أصبح لديك قاعدة بيانات Postgres عالية الأداء وعاملة بكامل طاقتها، وجاهزة لأعباء العمل الخاصة بالمعاملات.تابع إلى الجزء 2 لترى كيف يمكن للتكامل الأصلي مع ClickHouse أن يعزّز تحليلاتك بشكل كبير.

الجزء 2: أضِف التحليلات في الوقت الفعلي باستخدام ClickHouse

في حين يتفوّق Postgres في أعباء العمل المعاملاتية (OLTP)، صُمِّم ClickHouse خصيصًا للاستعلامات التحليلية (OLAP) على مجموعات البيانات الكبيرة. وبدمج الاثنين، ستحصل على أفضل ما في العالمين:
  • Postgres لبيانات المعاملات الخاصة بتطبيقك (عمليات الإدراج، والتحديث، وعمليات البحث المباشرة)
  • ClickHouse لتحليلات بزمن استجابة أقل من ثانية على مليارات الصفوف
يوضح لك هذا القسم كيفية مزامنة بيانات Postgres مع ClickHouse والاستعلام عنها بسلاسة.

إعداد تكامل ClickHouse

الآن بعد أن أصبحت لدينا جداول وبيانات في Postgres، لننسخ الجداول إلى ClickHouse لأغراض analytics. نبدأ بالنقر على تكامل ClickHouse في الشريط الجانبي. ثم يمكنك النقر على Replicate data in ClickHouse. في النموذج التالي، يمكنك إدخال اسم للتكامل وتحديد مثيل ClickHouse موجود لنسخ البيانات إليه. وإذا لم يكن لديك مثيل ClickHouse بعد، فيمكنك إنشاء واحد مباشرةً من هذا النموذج.
مهمتأكد من أن خدمة ClickHouse التي تحددها في حالة Running قبل المتابعة.
انقر على Next للانتقال إلى picker الجداول. وكل ما عليك فعله هنا هو:
  • تحديد قاعدة بيانات ClickHouse لنسخ البيانات إليها.
  • توسيع schema public وتحديد جدولَي users وevents اللذين أنشأناهما سابقًا.
  • النقر على Replicate data to ClickHouse.
ستبدأ عملية النسخ المتماثل، وسيتم نقلك إلى صفحة Overview الخاصة بالتكامل. وبما أن هذا هو التكامل الأول، فقد يستغرق إعداد البنية التحتية الأولية من دقيقتين إلى ثلاث دقائق. وفي أثناء ذلك، لنلقِ نظرة على الامتداد الجديد pg_clickhouse.

الاستعلام في ClickHouse من خلال Postgres

يتيح لك امتداد pg_clickhouse الاستعلام عن بيانات ClickHouse مباشرةً من Postgres باستخدام SQL القياسي. وهذا يعني أن تطبيقك يمكنه استخدام Postgres كطبقة استعلام موحّدة لكلٍّ من البيانات الخاصة بالمعاملات والبيانات التحليلية. راجع التوثيق الكامل لمزيد من التفاصيل. فعِّل الامتداد:
ثم أنشئ اتصال foreign server بـ ClickHouse. استخدم برنامج التشغيل http مع المنفذ 8443 للاتصالات الآمنة:
استبدل <clickhouse_cloud_host> باسم مضيف ClickHouse لديك، واستبدل <database_name> بقاعدة البيانات التي اخترتها أثناء إعداد النسخ المتماثل. يمكنك العثور على اسم المضيف في خدمة ClickHouse بالنقر على Connect في الشريط الجانبي. الآن، نربط مستخدم Postgres ببيانات اعتماد خدمة ClickHouse:
الآن استورد جداول ClickHouse إلى مخطط في Postgres:
استبدل <database_name> باسم قاعدة البيانات نفسه الذي استخدمته عند إنشاء الخادم. يمكنك الآن رؤية جميع جداول ClickHouse في عميل Postgres لديك:

شاهد تحليلاتك على أرض الواقع

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

قارن بين أداء Postgres وClickHouse

لنُشغِّل الآن بعض الاستعلامات التحليلية ونقارن الأداء بين Postgres وClickHouse. لاحظ أن الجداول المُكرَّرة تستخدم نمط التسمية public_<table_name>. الاستعلام 1: أكثر المستخدمين نشاطًا يعثر هذا الاستعلام على أكثر المستخدمين نشاطًا باستخدام عدة عمليات تجميع:
الاستعلام 2: تفاعل المستخدمين حسب البلد والمنصة يربط هذا الاستعلام بين الأحداث والمستخدمين ويحسب مقاييس التفاعل:
مقارنة الأداء:
متى تستخدم ClickHouseحتى مع مجموعة البيانات هذه التي تضم 1M صف، يوفّر ClickHouse أداءً أسرع بمقدار 3-7x في الاستعلامات التحليلية المعقدة التي تتضمن عمليات JOIN وعمليات تجميع متعددة. ويصبح الفارق أكثر وضوحًا على نطاقات أكبر (100M+ صف)، حيث يمكن لتخزين ClickHouse العمودي وتنفيذه المتجهي أن يوفّرا تسارعًا بمقدار 10-100x.تختلف أزمنة الاستعلام حسب حجم المثيل، وزمن انتقال الشبكة بين الخدمات، وخصائص البيانات، والحمل الحالي.

التنظيف

لحذف الموارد التي أُنشئت في الدليل السريع هذا:
  1. أولًا، احذف تكامل ClickPipe من خدمة ClickHouse
  2. ثم احذف مثيل Managed Postgres من Cloud Console
آخر تعديل في ٢٥ يونيو ٢٠٢٦