منصة البيانات · ترحيل MongoDB

ترحيل MongoDB في الاتجاهين، مع بقاء القاعدتين متطابقتين حتى التحويل

يسير ترحيل MongoDB في اتجاهين: جداول علائقية تنتقل إلى مستندات MongoDB، أو مستندات تخرج من MongoDB إلى PostgreSQL أو Couchbase أو منصة أخرى. وفي الحالتين يبقى نسخ البيانات الجزء الأسهل، أما نموذج البيانات فهو العمل الحقيقي. وتخطط إنتركي للنقل مع iblync، منصتها للترحيل والنسخ المتماثل، فتُحمَّل البيانات مرة واحدة ثم تُنسخ كل التغييرات والمصدر باقٍ في الخدمة.

الملخص

نظرة سريعة

المشروع في جدول واحد، قبل التفاصيل.

الاتجاهات
من قاعدة علائقية إلى MongoDB، أو من MongoDB إلى PostgreSQL، أو إلى Couchbase، أو نسخ متماثل والنظامان يعملان
ما الذي ينتقل
البيانات والفهارس واستعلامات التطبيقات التي تقرؤها، مع إعادة تصميم النموذج حيث يتطلب الهدف ذلك
إبقاء النظامين متطابقين
iblync: تحميل أولي، ثم نسخ متماثل مستمر للتغييرات، مع التحويل بين النموذجين
التحويل النهائي
القراءة أولًا ثم الكتابة، عبر بوابات تحقق متفق عليها وخطة رجوع مجرَّبة
مكان التشغيل
يُحسم لكل مشروع، ويمكن تشغيل الجسر والهدف على بنية داخل المملكة
طريقة الشراء
عرض سعر بعد التقييم، ويُسعَّر iblync بحسب المصدر والهدف وحجم البيانات

الخلاصة

  • اتجاهان: إلى MongoDB من جداول SQL، أو منه إلى قاعدة علائقية أو منصة مستندات أخرى.
  • أين يقع الجهد: في إعادة تشكيل نموذج البيانات واستعلامات التطبيقات، لا في نسخ السجلات.
  • كيف يبقى الإنتاج يعمل: ينسخ iblync كل تغيير أثناء التشغيل المتوازي، فيصبح التحويل خطوة قصيرة مخططة.
  • طريقة الشراء: تقييم أولًا، ثم عرض سعر.

لماذا تخطط الجهات لترحيل MongoDB

ترحيل MongoDB مسألة ملاءمة في الغالب، لا مسألة عطل. وأكثر الأسباب شيوعًا:

  • نظام علائقي ضاقت به جداوله. السجلات ذات الأجزاء الاختيارية الكثيرة، أو البنية التي تتغير مع كل إصدار، أسهل حفظًا في مستندات. فيريد الفريق نقل تلك الخدمة من SQL إلى MongoDB.
  • حمل عمل صار علائقيًا. التقارير والربط بين جداول كثيرة والمعاملات التي تمس سجلات عديدة صارت هي الغالبة، ومحرك علائقي أنسب لها. فيكون النقل من MongoDB إلى PostgreSQL.
  • قرار منصة. تعتمد الجهة قاعدة واحدة لأحمال المفتاح والقيمة والمستندات معًا، أو تحتاج أجهزة محمولة تعمل دون اتصال ثم تتزامن لاحقًا، فتختار Couchbase.
  • دمج أو قاعدة استضافة جديدة. بيئتان تصبحان بيئة واحدة، أو يجب نقل البيانات إلى بنية داخل المملكة.

كل سبب يقود إلى مسار مختلف، والمسار يحدد أين يذهب الجهد الهندسي. ويسرد دليل الاختيار بين SQL وNoSQL ما يُقاس في حمل العمل قبل تحديد الاتجاه.

أربعة مسارات لترحيل NoSQL، وما يغيّره كل منها

نسخ البيانات متقارب في كل المسارات، أما النموذج والاستعلامات والشيفرة التي تعتمد عليها فلا.

مسارات ترحيل MongoDB وأين يذهب الجهد
المسارما الذي يتغيرأين الجهددور iblync
من SQL إلى MongoDBتصبح الجداول مستندات، ويصبح الربط بيانات مضمَّنة أو إحالاتتصميم المستندات وفق طريقة قراءة التطبيق، ثم إعادة كتابة الاستعلاماتيحمّل الجداول، ويحوّل الصفوف إلى مستندات، ثم ينسخ التغييرات
من MongoDB إلى PostgreSQLتصبح المستندات صفوفًا وجداول فرعية، أو أعمدة JSONمطابقة أشكال المستندات المتفاوتة مع هيكل ثابت، وتنقية البيانات التي ترفضها القيود الجديدةيحمّل المستندات، ويسطّحها وفق الهيكل المتفق عليه، ثم ينسخ التغييرات
من MongoDB إلى Couchbaseالمنصة والفهارس والاستعلامات وبرامج الاتصال، وتبقى البيانات JSON في الغالبتصميم المفاتيح وخطة الفهارس وإعادة كتابة الاستعلامات بلغة ⁨SQL++⁩يحمّل المستندات، ويطابق المفاتيح والمجموعات، ثم ينسخ التغييرات
نسخ متماثل والنظامان يعملانلا تغيير في البنية، بل نظام ثانٍ يستقبل كل تغييرقواعد حل التعارض إذا قبل الطرفان الكتابةمزامنة مستمرة أو في الاتجاهين ما دامت الحاجة قائمة

مجموعات النسخ (replica sets) في MongoDB تحفظ نسخًا داخل النشر الواحد لضمان التوفر. أما نسخ بيانات MongoDB إلى نظام مختلف، لغرض الترحيل أو التعايش بين نظامين، فهو العمل الذي يؤديه iblync.

نقل البيانات من SQL إلى MongoDB: النموذج أولًا، ثم النسخ

نسخ كل جدول إلى مجموعة مستقلة أسرع طريقة للبدء، وغالبًا أبطأ طريقة في التشغيل. فمخزن المستندات يؤدي جيدًا حين تجلب قراءة واحدة كل ما تحتاجه الشاشة أو الخدمة. ولذلك يبدأ العمل بأنماط الوصول:

اقرأ المزيد
  • التضمين أو الإحالة. البيانات التي تُقرأ معًا، كالعميل وعناوينه، تُضمَّن في مستند واحد. أما البيانات التي تنمو بلا حد أو تشترك فيها جهات عدة، كسجل الطلبات، فيُشار إليها.
  • المفاتيح والفهارس. تُصمَّم لكل مجموعة مفاتيح وفهارس تخدم الاستعلامات التي يشغّلها التطبيق فعلًا، وتُقاس على بيانات تشبه بيانات الإنتاج.
  • المعاملات. تُراجع العمليات التي كانت تغيّر عدة جداول في معاملة واحدة: كثير منها يصير كتابة في مستند واحد، والباقي يحتفظ بمعاملة على عدة مستندات.
  • استعلامات التطبيق. تُعاد كتابة استعلامات SQL في الشيفرة لواجهة المستندات، خدمةً بعد خدمة، مع اختبارات على القاعدتين أثناء التشغيل المتوازي.

من MongoDB إلى PostgreSQL: منح المستندات هيكلًا ثابتًا

الانتقال من MongoDB إلى PostgreSQL يحوّل المستندات المرنة إلى هيكل تفرضه القاعدة. وهذا غالبًا هدف النقل، وفيه أيضًا تختبئ المفاجآت:

  • أشكال متفاوتة. نادرًا ما تتشارك مستندات المجموعة الواحدة شكلًا واحدًا. فيبدأ التقييم بفحص البيانات الفعلية، ليغطي الهيكل ما هو موجود لا ما تقوله وثيقة التصميم.
  • المصفوفات المضمَّنة. تصبح المصفوفة جدولًا فرعيًا بمفتاح أجنبي، أو تبقى عمودًا من نوع jsonb حين تُقرأ كاملة. ويصف توثيق PostgreSQL النوعين json وjsonb، والثاني يقبل الفهرسة.
  • الأنواع والقيم الغائبة. تُطابق المعرّفات والتواريخ والأرقام مع أنواع PostgreSQL، ويُفرَّق بين خانة غائبة وخانة قيمتها null.
  • قيود جديدة. القواعد التي لم تُفرض على البيانات القديمة، كقيد NOT NULL والمفاتيح الفريدة، سترفض بعض السجلات. فالتنقية عمل مخطط له، لا اكتشاف في ليلة التحويل.

وتعرض صفحة الترحيل إلى PostgreSQL جانب الهدف: تقدير الحجم والإضافات وطبقات العمل الأربع.

متى يكون Couchbase الوجهة الأنسب

بعض الفرق التي تغادر MongoDB لا تريد ترك نموذج المستندات، بل تريد مجموعة قدرات مختلفة حوله. وفي هذه الحالة يستحق Couchbase التقييم، وتنفّذه إنتركي بصفتها شريكًا تقنيًا لـCouchbase. ووفق توثيق Couchbase، فهو يحفظ بيانات المفتاح والقيمة ومستندات JSON في مخزن واحد، ويستعلم عن المستندات بلغة ⁨SQL++⁩، ويحفظ البيانات في الذاكرة وعلى القرص، ويتزامن مع Couchbase Lite على الأجهزة المحمولة والطرفية. وتشمل مناطق خدمته المُدارة Couchbase Capella منطقة Google Cloud في الدمام (me-central2).

ولأن البيانات تبقى JSON في الغالب، تكون إعادة النمذجة عادةً أصغر من الانتقال إلى الجداول. لكن المفاتيح والفهارس والاستعلامات وبرامج الاتصال تتغير، ويقول التقييم هل يستحق النقل كلفته. وتشرح صفحة قاعدة بيانات المستندات كيف يتعامل Couchbase مع المستندات والفهارس والمعاملات.

كيف ينفّذ iblync ترحيل MongoDB

iblync منصة إنتركي للترحيل والنسخ المتماثل. ويذكر موقعها MongoDB وCouchbase وPostgreSQL وMySQL وSQL Server وOracle ضمن موصّلاتها. ويُؤكَّد في التقييم الاتجاه والإصدار والنسخة التي يحتاجها مشروعكم، ويُبنى موصّل مخصص إذا لم يكن النظام مشمولًا بعد.

  • تحميل أولي ثم التغييرات. تُحمَّل البيانات الموجودة مرة واحدة، ثم تُنسخ كل عملية إدراج وتحديث وحذف على المصدر إلى الهدف، والمصدر باقٍ في الخدمة.
  • التحويل أثناء النقل. تُعاد صياغة الصفوف مستنداتٍ، أو تُسطَّح المستندات صفوفًا، وفق النموذج المتفق عليه في التصميم.
  • ضبط التدفق. يُقيَّد معدل النسخ حتى لا ينافس الإنتاج، وإذا غاب الهدف تنتظر التغييرات في طابور ولا تضيع.
  • الطرفان يعملان. إذا لزم أن يقبل النظامان الكتابة مدةً ما، يدعم iblync المزامنة في الاتجاهين وفق قواعد تعارض متفق عليها.

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

كيف تنفّذ إنتركي ترحيل MongoDB

  1. التقييم.

    فحص البيانات، وأنماط الوصول، واستعلامات التطبيقات، والحجم، ومعدل التغيير، ونافذة التوقف، وإقامة البيانات. والناتج مسار موصى به، ومنه خيار البقاء.

  2. تصميم النموذج.

    مستندات أو هيكل مصمم وفق طريقة قراءة التطبيق، مع المفاتيح والفهارس ونطاق المعاملات.

  3. بناء الهدف.

    تقدير المنصة المستهدفة وبناؤها، على السحابة أو داخل المنشأة، مع النسخ الاحتياطي والمراقبة.

  4. التحميل والنسخ المتماثل.

    تُحمَّل البيانات التاريخية مرة واحدة بمعدل مقيّد، ثم يبدأ النسخ المستمر مع التحويل.

  5. التشغيل المتوازي.

    القاعدتان تعملان، وتُقارن الأعداد وعينات من السجلات، وتنتقل القراءة خدمةً بعد خدمة.

  6. تحويل نهائي مجرَّب.

    توقف الكتابة أو تُحفظ في طابور حتى تصل آخر التغييرات، ثم بوابات التحقق، ثم تنتقل الكتابة.

  7. التثبيت والتسليم.

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

ترحيل MongoDB في السعودية: إقامة البيانات والدعم

تلتزم جهات سعودية كثيرة بإبقاء بيانات معينة داخل المملكة، وفق ضوابط الهيئة الوطنية للأمن السيبراني (nca.gov.sa) ونظام حماية البيانات الشخصية الذي تشرف عليه سدايا (sdaia.gov.sa). والترحيل ينقل البيانات، فهو قرار إقامة بيانات أيضًا: أين يعمل جسر النسخ، وأين تُحفظ النسخ المرحلية، وأين تذهب النسخ الاحتياطية. ويمكن تشغيل الجسر والهدف والأدوات على بنية داخل المملكة، ويسرد دليل إقامة البيانات الأسئلة التي تُحسم.

وإنتركي شريك لـGoogle Cloud وشريك لـAWS، وتُختار المنصة المستهدفة في التقييم لا قبله. ويأتيكم الدعم من الرياض، من مهندسين يتحدثون العربية والإنجليزية، من التقييم إلى الأسابيع التي تلي التحويل.

ما الذي يحدد الكلفة والمدة

لا ننشر سعرًا أو مدة، لأن البيئة هي التي تحددهما. والعوامل هي:

  • مدى بُعد نموذج المصدر عن الهدف، وحجم إعادة النمذجة التي يحتاجها؛
  • عدد الخدمات التي تتغير استعلاماتها؛
  • حجم البيانات، ومقدار ما يتغير منها أثناء الترحيل؛
  • مقدار البيانات التي لا تجتاز قواعد الهدف وتحتاج إلى تنقية؛
  • نافذة التوقف التي سيمنحها العمل، والمكان الذي يجب أن يعمل فيه الهدف؛
  • من يتولى تعديلات التطبيقات، ومن يشغّل القاعدة بعد ذلك.
اقرأ المزيد

ويحوّل التقييم هذه العوامل إلى جدول زمني وعرض سعر.

متى لا يكون ترحيل MongoDB القرار الصحيح

قاعدة البيانات التي تخدم حملها وتقبل الجهة كلفتها أصلٌ لا عبء، ويقول التقييم ذلك كتابةً إذا كانت هذه نتيجته. فبطء الاستعلامات كثيرًا ما يكون مسألة فهارس أو نمذجة تُعالج في مكانها. وإن كنتم باقين على MongoDB وتغيّرون مكان تشغيله فقط، فأدوات قاعدة البيانات نفسها للنقل بين نشراتها هي أول ما يُقيَّم، وقد لا تحتاجون إلى iblync.

أسئلة شائعة

هل يبقى MongoDB في الإنتاج أثناء انتقالنا إلى PostgreSQL؟

نعم. يحمّل iblync المستندات الموجودة مرة واحدة، ثم ينسخ كل تغيير إلى PostgreSQL أثناء التشغيل المتوازي، ويسطّح المستندات وفق الهيكل المتفق عليه. والتحويل الأخير خطوة قصيرة مخططة نتفق معكم على نافذتها في التقييم.

هل ننسخ جداول SQL إلى MongoDB بحيث تقابل كل مجموعة جدولًا؟

في الغالب لا. فهذا النسخ يُبقي الربط بين الجداول الذي جاء نموذج المستندات ليستغني عنه. وتُصمَّم المستندات وفق طريقة قراءة التطبيق، فيُضمَّن ما يُقرأ معًا ويُشار إلى ما ينمو بلا حد.

هل يمكن أن تبقى بياناتنا داخل السعودية أثناء ترحيل MongoDB؟

نعم. يمكن تشغيل جسر النسخ وقاعدة الهدف والنسخ المرحلية والنسخ الاحتياطية كلها على بنية داخل المملكة. وأي البيانات يجب أن تبقى في المملكة، ووفق أي التزامات، يُحسم مع مسؤول الامتثال لديكم في التقييم.

كم يستغرق ترحيل NoSQL في المملكة؟

يعتمد على مدى اختلاف نموذجي المصدر والهدف، وعدد الخدمات التي تتغير استعلاماتها، وحجم البيانات ومعدل تغيرها، ونافذة التوقف. ويقيس التقييم هذه العوامل أولًا ثم يضع جدولًا زمنيًا.

كيف يُسعَّر ترحيل MongoDB؟

يأتي التقييم أولًا، ثم عرض سعر للمشروع. ويُسعَّر iblync بحسب المصدر والهدف وحجم البيانات. ويمكن أن يشمل العرض نفسه تراخيص منصة الهدف، مثل Couchbase Capella، إلى جانب عملنا.

هل يعمل MongoDB وCouchbase جنبًا إلى جنب أثناء النقل؟

نعم. يُبقي iblync النظامين متطابقين ما دامت خطة التحويل تحتاج ذلك، ويدعم المزامنة في الاتجاهين إذا لزم أن يقبل الطرفان الكتابة. وتنتقل الخدمات واحدة بعد أخرى، مع الدعم من الرياض طوال المشروع.

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

حدّدوا نطاق ترحيل MongoDB

أخبرونا بالمصدر وإصداره، وحجم البيانات التقريبي، وعدد الخدمات التي تقرؤه، والهدف الذي تفكرون فيه، ونافذة التوقف التي سيمنحها العمل.

خانة إلزامية

بإرسالك هذا النموذج، فأنت توافق على سياسة الخصوصية.

أو مباشرةً

+966-11-2180999 [email protected]

أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية

أو اطّلعوا على المسارات الأربعة

نشرته إنتركي. آخر تحديث . إنتركي مسجلة في الرياض بالسجل التجاري رقم 1010156897.