Skip to main content
تُعد Streamkap منصة لتكامل البيانات في الوقت الفعلي، متخصصة في بث CDC (التقاط بيانات التغيير) ومعالجة التدفقات. وهي مبنية على مكدس عالي الإنتاجية وقابل للتوسع باستخدام Apache Kafka وApache Flink وDebezium، وتُقدَّم كخدمة مُدارة بالكامل ضمن نماذج نشر SaaS أو BYOC (Bring your own Cloud). تتيح لك Streamkap بث كل عمليات الإدراج والتحديث والحذف من قواعد البيانات المصدر مثل PostgreSQL وMySQL وSQL Server وMongoDB والمزيد مباشرةً إلى ClickHouse بزمن استجابة في حدود المللي ثانية. وهذا يجعلها مثالية لتشغيل لوحات معلومات تحليلية في الوقت الفعلي، والتحليلات التشغيلية، وتغذية نماذج التعلّم الآلي بالبيانات الحية.

الميزات الرئيسية

  • CDC للبث في الوقت الفعلي: تلتقط Streamkap التغييرات مباشرةً من سجلات قاعدة بياناتك، مما يضمن أن تكون البيانات في ClickHouse نسخة مطابقة للمصدر في الوقت الفعلي. معالجة التدفق المبسطة: حوِّل البيانات وأثرِها ووجّهها ونسّقها وأنشئ embeddings منها في الوقت الفعلي قبل وصولها إلى ClickHouse. وهي تعمل بواسطة Flink من دون تعقيداته
  • مُدارة بالكامل وقابلة للتوسع: توفّر خط معالجة جاهزًا للإنتاج ومن دون حاجة إلى صيانة، مما يلغي الحاجة إلى إدارة البنية التحتية الخاصة بك لـ Kafka أو Flink أو Debezium أو schema registry. صُمِّمت المنصة لتحقيق معدل نقل عالٍ، ويمكنها التوسع خطيًا للتعامل مع مليارات الأحداث.
  • التطور التلقائي للمخطط: تكتشف Streamkap تلقائيًا تغييرات المخطط في قاعدة البيانات المصدر وتطبّقها في ClickHouse. ويمكنها التعامل مع إضافة أعمدة جديدة أو تغيير أنواع الأعمدة من دون تدخل يدوي.
  • محسّنة لـ ClickHouse: بُني هذا التكامل ليعمل بكفاءة مع ميزات ClickHouse. وبشكل افتراضي، يستخدم محرك ReplacingMergeTree للتعامل بسلاسة مع التحديثات وعمليات الحذف من النظام المصدر.
  • تسليم موثوق: توفّر المنصة ضمان التسليم مرة واحدة على الأقل، مما يضمن اتساق البيانات بين مصدرك وClickHouse. وبالنسبة إلى عمليات upsert، فإنها تنفّذ إزالة التكرار استنادًا إلى المفتاح الأساسي.

البدء

يقدّم هذا الدليل نظرة عامة موجزة على إعداد مسار بيانات في Streamkap لتحميل البيانات إلى ClickHouse.

المتطلبات الأساسية

  • حساب Streamkap.
  • تفاصيل الاتصال بعنقود ClickHouse لديك: Hostname وPort وUsername وPassword.
  • قاعدة بيانات مصدر (مثل PostgreSQL أو SQL Server) مُعَدَّة للسماح باستخدام CDC. يمكنك العثور على أدلة إعداد تفصيلية في وثائق Streamkap.
1

تكوين المصدر في Streamkap

  1. سجّل الدخول إلى حساب Streamkap الخاص بك.
  2. في الشريط الجانبي، انتقل إلى Connectors وحدِّد علامة التبويب Sources.
  3. انقر على + Add وحدِّد نوع قاعدة البيانات المصدر (على سبيل المثال، SQL Server RDS).
  4. املأ تفاصيل الاتصال، بما في ذلك نقطة النهاية والمنفذ واسم قاعدة البيانات وبيانات اعتماد المستخدم.
  5. احفظ الموصّل.
2

تكوين وجهة ClickHouse

  1. في قسم Connectors، حدِّد علامة التبويب Destinations.
  2. انقر على + Add واختر ClickHouse من القائمة.
  3. أدخل تفاصيل الاتصال الخاصة بخدمة ClickHouse:
    • Hostname: اسم المضيف لمثيل ClickHouse لديك (على سبيل المثال، abc123.us-west-2.aws.clickhouse.cloud)
    • Port: منفذ HTTPS الآمن، وعادةً ما يكون 8443
    • Username and Password: بيانات اعتماد مستخدم ClickHouse لديك
    • Database: اسم قاعدة البيانات الهدف في ClickHouse
  4. احفظ الوجهة.
3

إنشاء مسار البيانات وتشغيله

  1. انتقل إلى Pipelines في الشريط الجانبي وانقر على + Create.
  2. حدِّد المصدر والوجهة اللذين قمت بتكوينهما للتو.
  3. اختر المخططات والجداول التي ترغب في بثها.
  4. امنح مسار البيانات اسمًا وانقر على Save.
بمجرد إنشائه، سيصبح مسار البيانات نشطًا. سيأخذ Streamkap أولًا لقطة من البيانات الموجودة، ثم يبدأ في بث أي تغييرات جديدة عند حدوثها.
4

التحقق من البيانات في ClickHouse

اتصل بعنقود ClickHouse لديك وشغّل استعلامًا لرؤية البيانات وهي تصل إلى الجدول الهدف.

آلية العمل مع ClickHouse

صُمِّم تكامل Streamkap لإدارة بيانات CDC بكفاءة داخل ClickHouse.

محرك الجدول ومعالجة البيانات

بشكل افتراضي، يستخدم Streamkap وضع إدخال upsert. وعند إنشاء جدول في ClickHouse، يستخدم المحرك ReplacingMergeTree. ويُعد هذا المحرك مثاليًا للتعامل مع أحداث CDC:
  • يُستخدم المفتاح الأساسي للجدول المصدر باعتباره مفتاح ORDER BY في تعريف جدول ReplacingMergeTree.
  • تُكتب التحديثات في المصدر كصفوف جديدة في ClickHouse. وأثناء عملية الدمج في الخلفية، يدمج ReplacingMergeTree هذه الصفوف بحيث لا يحتفظ إلا بأحدث إصدار استنادًا إلى مفتاح الترتيب.
  • تُعالَج عمليات الحذف بواسطة علامة بيانات وصفية تُمرَّر إلى المعامل is_deleted في ReplacingMergeTree. ولا تُزال الصفوف المحذوفة من المصدر فورًا، بل تُعلَّم على أنها محذوفة.
    • ويمكن اختياريًا الاحتفاظ بالسجلات المحذوفة في ClickHouse لأغراض التحليلات

أعمدة البيانات الوصفية

تضيف Streamkap عدة أعمدة بيانات وصفية إلى كل جدول لإدارة حالة البيانات:

الاستعلام عن أحدث البيانات

لأن ReplacingMergeTree يعالج التحديثات وعمليات الحذف في الخلفية، فقد يُظهر استعلام SELECT * بسيط صفوفًا تاريخية أو صفوفًا محذوفة قبل اكتمال عملية الدمج. وللحصول على أحدث حالة لبياناتك، يجب تصفية السجلات المحذوفة واختيار أحدث إصدار فقط من كل صف. يمكنك فعل ذلك باستخدام المُعدِّل FINAL، وهو خيار عملي لكنه قد يؤثر في أداء الاستعلام:
لتحسين الأداء عند التعامل مع الجداول الكبيرة، خاصةً إذا لم تكن بحاجة إلى قراءة جميع الأعمدة، وفي الاستعلامات التحليلية التي تُجرى لمرة واحدة، يمكنك استخدام الدالة argMax لاختيار أحدث سجل يدويًا لكل مفتاح أساسي:
في حالات الاستخدام في بيئات الإنتاج، ومع استعلامات المستخدمين النهائيين المتكررة والمتزامنة، يمكن استخدام العروض المادية لنمذجة البيانات بما يلائم على نحو أفضل أنماط الوصول اللاحقة.

لمزيد من القراءة

آخر تعديل في ٢٤ يوليو ٢٠٢٦