ترحيل البيانات من Cassandra إلى Azure Cosmos DB لحساب Apache Cassandra باستخدام Arcion

ينطبق على: كاساندرا

أصبحت واجهة برمجة التطبيقات ل Cassandra في Azure Cosmos DB خيارا رائعا لأحمال عمل المؤسسة التي تعمل على Apache Cassandra لأسباب عديدة مثل:

  • عدم وجود نفقات إضافية للإدارة والمراقبة: فهي تقضي على الحمل الزائد لإدارة ومراقبة عدد لا يحصى من الإعدادات عبر ملفات OS وJVM وyaml وتفاعلاتها.

  • توفير كبير في التكلفة: يمكنك توفير التكلفة باستخدام Azure Cosmos DB، والتي تتضمن تكلفة الأجهزة الظاهرية والنطاق الترددي وأي تراخيص سارية. بالإضافة إلى ذلك، لا يتعين عليك إدارة مركز البيانات والخوادم وتخزين SSD والشبكات وتكاليف الكهرباء.

  • القدرة على استخدام التعليمات البرمجية والأدوات الموجودة: توفر خدمة Azure Cosmos DB توافق مستوى بروتوكول سلكي مع حزمة أدوات تطوير برمجيات Cassandra وأدواته الموجودة. يضمن هذا التوافق أنه يمكنك استخدام قاعدة التعليمات البرمجية الموجودة مع Azure Cosmos DB ل Apache Cassandra مع تغييرات تافهة.

هناك طرق مختلفة لترحيل أحمال عمل قاعدة البيانات من نظام أساسي إلى آخر. Arcion هي أداة توفر طريقة آمنة وموثوقة لإجراء ترحيل دون توقف من قواعد البيانات الأخرى إلى قاعدة بيانات Azure Cosmos DB. توضح هذه المقالة الخطوات المطلوبة لترحيل البيانات من قاعدة بيانات Apache Cassandra إلى Azure Cosmos DB ل Apache Cassandra باستخدام Arcion.

ملاحظة

هذا العرض من Arcion حالياً في مرحلة تجريبية. لمزيد من المعلومات، يرجى التواصل معهم على Arcion Support

فوائد استخدام Arcion للترحيل

يتبع حل الترحيل من Arcion نهجاً تدريجيّاً لترحيل أحمال العمل التشغيلية المعقدة. فيما يلي بعض الجوانب الرئيسية لخطة Arcion للترحيل دون تعطل:

  • يوفر الترحيل التلقائي لمنطق الأعمال (الجداول والفهارس والعروض) من قاعدة بيانات Apache Cassandra إلى Azure Cosmos DB. ليس عليك إنشاء مخططات يدويّاً.

  • يوفر Arcion نسخاً متماثلاً كبيراً ومتوازياً لقاعدة البيانات. إنه يمكّن كلاً من الأنظمة الأساسية المصدر والهدف من المزامنة أثناء الترحيل باستخدام تقنية تسمى تغيير التقاط البيانات (CDC). باستخدام CDC، يسحب Arcion باستمرار سلسلة من التغييرات من قاعدة البيانات المصدر (Apache Cassandra) ويطبقها على قاعدة البيانات الوجهة (Azure Cosmos DB).

  • إنه متسامح مع الأخطاء ويوفر تسليم البيانات مرة واحدة بالضبط حتى أثناء فشل الأجهزة أو البرامج في النظام.

  • يقوم بتأمين البيانات أثناء النقل باستخدام مجموعة متنوعة من منهجيات الأمان مثل TLS والتشفير.

خطوات ترحيل البيانات

يصف هذا القسم الخطوات المطلوبة لإعداد Arcion وترحيل البيانات من قاعدة بيانات Apache Cassandra إلى Azure Cosmos DB.

  1. بدايةً من الكمبيوتر الذي تخطط لتثبيت نسخة Arcion المتماثلة فيه، أضف شهادة أمان. هذه الشهادة مطلوبة عن طريق نسخة Arcion المتماثلة لإنشاء اتصال برتوكول أمان طبقة النقل TLS مع حساب Azure Cosmos DB المحدد. يمكنك إضافة الشهادة بالخطوات التالية:

    wget https://cacert.omniroot.com/bc2025.crt
    mv bc2025.crt bc2025.cer
    keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer
    
  2. يمكنك الحصول على تثبيت Arcion والملفات الثنائية عن طريق طلب عرض توضيحي على موقع Arcion. بدلاً من ذلك، يمكنك أيضاً إرسال عنوان البريد الإلكتروني إلى الفريق.

    تنزيل أداة النسخ المتماثل Arcion

    ملفات النسخ المتماثل Arcion

  3. من واجهة مستوى الاستدعاء الطرفية، قم بإعداد تكوين قاعدة البيانات المصدر. افتح ملف التكوين باستخدام الأمر vi conf/conn/cassandra.yml وأضف قائمة مفصولة بفواصل لعناوين IP لعقد Cassandra ورقم المنفذ واسم المستخدم وكلمة المرور وأي تفاصيل أخرى مطلوبة. فيما يلي مثال على محتويات ملف التكوين:

    type: CASSANDRA
    
    host: 172.17.0.2
    port: 9042
    
    username: 'cassandra'
    password: 'cassandra'
    
    max-connections: 30
    
    

    افتح محرر اتصال Cassandra

    تكوين اتصال Cassandra

    بعد تعبئة تفاصيل التكوين، احفظ الملف وأغلقه.

  4. يمكنك إعداد ملف عامل تصفية قاعدة البيانات المصدر اختياريّاً. يحدد ملف عامل التصفية المخططات أو الجداول التي سيتم ترحيلها. افتح ملف التكوين باستخدام الأمر vi filter/cassandra_filter.yml وأدخل تفاصيل التكوين التالية:

    
    allow:
    -	schema: “io_arcion”
    Types: [TABLE]
    

    بعد تعبئة تفاصيل مرشح قاعدة البيانات، احفظ الملف وأغلقه.

  5. بعد ذلك سوف تقوم بإعداد تكوين قاعدة البيانات الوجهة. قبل تحديد التكوين، قم بإنشاء Azure Cosmos DB لحساب Apache Cassandra ثم قم بإنشاء Keyspace وجدول لتخزين البيانات التي تم ترحيلها. نظرا لأنك تقوم بالترحيل من Apache Cassandra إلى واجهة برمجة التطبيقات ل Cassandra في Azure Cosmos DB، يمكنك استخدام نفس مفتاح القسم الذي استخدمته مع Apache cassandra.

  6. قبل ترحيل البيانات، يمكنك زيادة معدل نقل الحاوية إلى المقدار المطلوب لترحيل تطبيقك بسرعة. على سبيل المثال، يمكنك زيادة معدل النقل إلى 100000 وحدة مطلوبة. سيساعدك قياس معدل النقل قبل بدء الترحيل على ترحيل بياناتك في وقت أقل.

    تغيير حجم حاوية Azure Cosmos DB في جميع أنحاء

    إنقاص معدل النقل بعد اكتمال الترحيل. استناداً إلى كمية البيانات المخزنة ووحدات RU المطلوبة لكل عملية، يمكنك تقدير معدل النقل المطلوبة بعد ترحيل البيانات. لمعرفة المزيد حول كيفية تقدير وحدات RU المطلوبة، راجع معدل نقل إعدادات تشغيل الخدمة في الحاويات وقواعد البيانات وتقدير RU/s باستخدام مقالات مخطط سعة Azure Cosmos DB.

  7. احصل على نقطة الاتصال والمنفذ واسم المستخدموكلمة المرور الأساسية لحساب Azure Cosmos DB من جزء سلسلة الاتصال . ستستخدم هذه القيم في ملف التكوين.

  8. من واجهة مستوى الاستدعاء CLI الطرفية، قم بإعداد تكوين قاعدة بيانات الوجهة. افتح ملف التكوين باستخدام الأمر vi conf/conn/cosmosdb.yml وأضف قائمة مفصولة بفواصل لمعرف الموارد المنتظم URI للمضيف ورقم المنفذ واسم المستخدم وكلمة المرور والمعلمات الأخرى المطلوبة. يوضح المثال التالي محتويات ملف التكوين:

    type: COSMOSDB
    
    host: '<Azure Cosmos DB account’s Contact point>'
    port: 10350
    
    username: 'arciondemo'
    password: '<Your Azure Cosmos DB account’s primary password>'
    
    max-connections: 30
    
  9. بعد ذلك، قم بترحيل البيانات باستخدام Arcion. يمكنك تشغيل نسخة Arcion المتماثلة في الوضع الكامل أو النسخة المطابقة:

    • Full mode - في هذا الوضع، يستمر النسخ المتماثل في العمل بعد الترحيل ويستمع إلى أي تغييرات في نظام Apache Cassandra المصدر. إذا اكتشف أي تغييرات، يتم نسخها نسخا متماثلا على حساب Azure Cosmos DB الهدف في الوقت الفعلي.

    • وضع النسخة المطابقة - في هذا الوضع، يمكنك إجراء ترحيل المخطط ونسخ البيانات بشكل متماثل مرة واحدة. لا يتم دعم النسخ المتماثل في الوقت الفعلي مع هذا الخيار.

    باستخدام الوضعين أعلاه، يمكن إجراء الترحيل دون أي توقف عن التشغيل.

  10. لترحيل البيانات، من واجهة مستوى الاستدعاء CLI للنسخ المتماثل Arcion، قم بتشغيل الأمر التالي:

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing
    

    تُظهر واجهة المستخدم المتماثلة مستوى تقدم النسخ المتماثل. بمجرد الانتهاء من ترحيل المخطط وتشغيل النسخة المطابقة، يظهر مستوى التقدم بنسبة 100٪. بعد اكتمال الترحيل، يمكنك التحقق من صحة البيانات على قاعدة بيانات Azure Cosmos DB الهدف.

    إخراج ترحيل بيانات Cassandra

  11. نظراً لأنك استخدمت الوضع الكامل للترحيل، يمكنك إجراء عمليات مثل إدراج البيانات أو تحديثها أو حذفها من قاعدة بيانات Apache Cassandra المصدر. تحقق لاحقا من نسخها نسخا متماثلا في الوقت الحقيقي على قاعدة بيانات Azure Cosmos DB الهدف. بعد الترحيل، تأكد من تقليل معدل النقل الذي تم تكوينه لحاوية Azure Cosmos DB.

  12. يمكنك إيقاف النسخ المتماثل في أي نقطة وإعادة تشغيله باستخدام مفتاح التبديل --استئناف. تستأنف النسخة المتماثلة من النقطة التي توقف فيها دون المساومة على اتساق البيانات. يوضح الأمر التالي كيفية استخدام مفتاح الاستئناف.

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
    

لمعرفة المزيد حول ترحيل البيانات إلى الوجهة، والترحيل في الوقت الفعلي، راجع "Arcion replicant demo".

الخطوات التالية