تم اختيار فريق Right Mind لإنشاء منصة إلكترونية واحدة تكون بمثابة النظام الموحد لكافة الأسواق الحالية والمستقبلية ضمن منظومة Pet Media Group. وكان أحد أكبر التحديات التي واجهناها هو تصميم آلية لترحيل البيانات تنقل ملايين السجلات دون المساس بسلامة البيانات أو التسبب في توقف أي من الأسواق عن العمل. تعرف على الحلول التي جربناها، ما الذي فشل، ولماذا استقرينا في النهاية على استخدام طريقة ETL.
بدأت Pet Media Group (PMG) كمبادرة ودّية تهدف إلى توفير مأوى للحيوانات المشرّدة. ومع الوقت، تحولت إلى شبكة أسواق إلكترونية لعشاق الحيوانات حول العالم. وبعد عدة جولات تمويل ناجحة واستحواذها على منصات مثل Pets4Homes وAnnunci Animali وPuppyPlaats، أصبحت PMG من أكبر منصات بيع وشراء الحيوانات في أوروبا. ومع خططهم المستقبلية للمزيد من الاستحواذات، بدأت التحديات التقنية بالظهور – حيث كان لا بد من إدارة كل منصة على حدة، وهو أمر غير مقبول من حيث الكفاءة التشغيلية.
تواصلت PMG مع Right Mind لأنها كانت بحاجة إلى شريك تقني لتحويل خطتهم التجارية إلى واقع ملموس. وكان الهدف هو بناء نظام مترابط من المواقع والتطبيقات يجمع جميع العلامات التجارية التي تم الاستحواذ عليها بالفعل، وأي علامات مستقبلية، ضمن منصة واحدة. الفكرة التجارية كانت ممتازة، لكن التنفيذ قصة مختلفة تمامًا.
المشكلة الأساسية كانت أن بعض المنصات كانت قديمة تقنيًا، وجميعها مبنية على تقنيات مختلفة. لذا، كان من المستحيل تقريبًا إدارة جميع هذه المنصات في آن واحد، أو مكلفًا للغاية. كانت PMG بحاجة إلى توظيف مبرمجين بخبرات وتقنيات مختلفة. لذلك، تم تكليف Right Mind بتطوير منصة موحدة تشمل:
في هذا المقال، سنركّز على أحد العناصر الرئيسية في المشروع – عملية ترحيل البيانات.
رغب العميل في تنفيذ عملية ترحيل البيانات دون إيقاف أي من المواقع. وكان هذا يمثل تحديًا كبيرًا في الحفاظ على سلامة البيانات. لماذا؟
تخيل أن أحد المستخدمين يقوم بنشر إعلان لبيع جِراء في نفس لحظة ترحيل البيانات إلى النظام الجديد. إذا قرر المستخدم تعديل الإعلان بعد نشره مباشرةً، قد تكون أداة الترحيل قد نقلت الإعلان بالفعل قبل التعديل، وبالتالي لن يظهر التعديل في النظام الجديد.
والآن تخيل هذا السيناريو يتكرر مع ملايين المستخدمين والسجلات. إنها مخاطرة كبيرة جدًا على سلامة البيانات، ولم نكن لنقبل بها.
ترحيل البيانات هو عملية متعددة المراحل. بالنسبة لمشروع PMG، وضعنا الخطوات التالية:
(لحظات صغيرة، هدوء كبير)
واجهتنا مشكلة رئيسية: كل منصة كانت مختلفة من حيث الخصائص وطريقة إدارة البيانات. لذلك، كان الحل الأمثل هو توحيد قاعدة الشيفرة وهياكل البيانات.
لكن المشكلة الكبيرة كانت في نقل البيانات القديمة إلى المنصة الجديدة، خاصة أن كل منصة تحتوي على مئات الآلاف من السجلات.
فكرنا في البداية بخطة تتضمن ما يلي:
لكن هذه الخطة فشلت لعدة أسباب:
استنتجنا أن الحل الوحيد الفعّال هو استخدام ETL (استخراج – تحويل – تحميل):
لكن واجهتنا تحديات:
كان أمامنا خياران:
اخترنا خيار MT لأن بعض البيانات كانت تتطلب استعلامات خارجية أثناء الترحيل.
اكتشفنا أهمية مرحلة التحليل المسبق للبيانات. لو قمنا بتحليل أعمق في البداية، لكنا تفادينا العديد من المشاكل. علينا دائمًا مقارنة هيكل البيانات القديم مع الجديد وتحديد كيفية تحويل كل حقل.
كان علينا التأكد من أن عملية الترحيل:
في الوضع "الطبيعي"، كان الترحيل يعمل كالتالي:
قمنا بإنشاء عدة أوضاع مختلفة لتتناسب مع احتياجات المشروع:
عملية ترحيل البيانات هذه ساعدت PMG على: