ترحيل البيانات
ترحيل البيانات
الانتقال إلى نظام جديد لا يتعلق بالبرمجيات وحدها — بل يتعلق بالبيانات بالقدر ذاته. السجلات المتراكمة في النظام القديم على مدار سنوات أو عقود تمثل ذاكرة مؤسسية لا تُعوَّض: تاريخ المرضى، ودفاتر الحسابات، وطلبات العملاء، وأرصدة المخزون. ترحيل هذه البيانات بصورة صحيحة هو في الغالب النشاط الأعلى مخاطرة في خطة الإطلاق، وإشراف المحلل على تصميمه وتنفيذه والتحقق منه من أهم مسؤولياته.
يتناول هذا الدرس أربعة محاور لعملية ترحيل البيانات الاحترافية: رسم الخرائط لربط الحقول القديمة بالمخطط الجديد، وتنظيف السجلات المعيبة قبل أن تُلوِّث النظام الجديد، والترحيل عبر مسار عمل قابل للتكرار، والتحقق من الاكتمال والصحة بعد نقل البيانات.
لماذا تفشل عمليات ترحيل البيانات؟
تشترك معظم حالات الفشل في ترحيل البيانات في الأسباب الجذرية ذاتها: يكتشف الفريق مشكلات جودة البيانات بعد إتمام الإطلاق — وهو وقت متأخر جداً للمعالجة دون تعطل — أو يكون رسم الخرائط موثَّقاً بشكل ناقص وغير متسق، أو يكون التحقق غير رسمي ("يبدو مقبولاً"). النهج المنظَّم لكل مرحلة يُزيل نقاط الفشل هذه قبل أن تصل إلى الإنتاج.
المرحلة الأولى — رسم خرائط البيانات
خريطة البيانات (أو مصفوفة رسم الحقول) وثيقة رسمية تتتبع كل حقل في النظام القديم إلى نظيره في النظام الجديد. في حالة عيادة طبية تنتقل من أداة جدولة قديمة إلى نظام سجلات طبية إلكترونية سحابي، يعني هذا الإجابة على: أين يذهب حقل PatientDOB من جدول PATIENTS القديم في المخطط الجديد؟ هل هو patient.date_of_birth؟ هل التنسيق DD/MM/YYYY أم YYYY-MM-DD؟ هل تتدمج حقول متعددة في حقل جديد واحد؟
تلتقط خريطة البيانات خمسة عناصر لكل زوج من الحقول:
- الحقل المصدر — الجدول والعمود في النظام القديم مع نوع البيانات وعينة من القيم.
- الحقل الهدف — الجدول والعمود في المخطط الجديد مع نوع البيانات.
- قاعدة التحويل — دمج أو تحويل تنسيق أو ترجمة قيمة أو قيمة افتراضية أو معالجة NULL.
- استثناءات قواعد الأعمال — مثلاً: "إذا كانت الحالة القديمة = 3، تُعيَّن للحالة الجديدة 'معلَّق'؛ جميع الرموز الرقمية الأخرى تُعيَّن لـ 'نشط'."
- المسؤول — صاحب المصلحة من جانب الأعمال الذي وافق على القاعدة.
CUST_TYPE = 9 يعني "خصم موظف" — وبالنسبة لتقنية المعلومات هو مجرد رقم.
المرحلة الثانية — تنظيف البيانات
تتراكم في الأنظمة القديمة عقوداً من التناقضات: سجلات عملاء مكررة، وأرقام هاتف مخزَّنة كنص حر، وتواريخ مُدخَلة كـ "TBD"، وأرباط مفاتيح أجنبية يتيمة، وحقول NULL بينما يتطلبها النظام الجديد. ترحيل بيانات ملوثة إلى مخطط نظيف يُكرِّر المشكلات ويجعل النظام الجديد يبدو معطوباً للمستخدمين منذ اليوم الأول.
تُعالج مرحلة التنظيف أربعة أنواع من العيوب:
- الاكتمال — الحقول المطلوبة الفارغة أو NULL. الإجراء: الملء من مصدر آخر، أو تطبيق قيمة افتراضية، أو الإشارة لمراجعة يدوية.
- الاتساق — المفهوم ذاته المخزَّن بأشكال مختلفة عبر الصفوف. الإجراء: التطبيع بالاستناد إلى جدول مرجعي.
- الدقة — قيم صحيحة هيكلياً لكن خاطئة واقعياً. الإجراء: التأشير كـ"مشكوك فيه" وإحالتها لمالك الأعمال للتصحيح.
- التكرار — صفوف متعددة تمثل الكيان الحقيقي ذاته. الإجراء: الدمج وفق قاعدة السجل الرئيسي المحددة.
يُنفَّذ التنظيف على نسخة من بيانات النظام القديم — ليس على المصدر الإنتاجي أبداً. وتُصبح النسخة المنظَّفة مدخلاً لمسار الترحيل. يُحتفظ بسجل لكل تغيير يُجرى؛ فمسار التدقيق مطلوب للامتثال في القطاعات الخاضعة للرقابة كالرعاية الصحية والمالية.
المرحلة الثالثة — مسار الترحيل
يُنفَّذ الترحيل كـمسار ETL — استخراج وتحويل وتحميل — ويُفضَّل أن يكون سكريبتاً قابلاً للتكرار وخاضعاً لإدارة الإصدارات بدلاً من عملية يدوية لمرة واحدة. التكرارية ضرورية: سيعمل المسار في بيئة التطوير وفي UAT وأقل واحدة أخرى عند الإطلاق الإنتاجي، ويجب أن تكون النتائج متطابقة في كل مرة.
مراحل مسار الترحيل:
- الاستخراج — سحب البيانات من المصدر القديم (تفريغ قاعدة بيانات، تصدير CSV، استدعاء API، أو اتصال قراءة-فقط مباشر).
- التحويل — تطبيق كل قاعدة من خريطة البيانات: إعادة تنسيق التواريخ، ترجمة الرموز، دمج الحقول، اشتقاق الأعمدة المحسوبة، معالجة القيم الفارغة.
- التحقق — تشغيل تأكيدات قواعد الأعمال على مجموعة البيانات المحوَّلة قبل كتابة أي صف في الهدف. رفض وتسجيل الصفوف الفاشلة؛ لا تتجاهلها بصمت.
- التحميل — الكتابة في النظام الجديد بترتيب التبعيات (الجداول الأصلية قبل الجداول الفرعية). استخدام المعاملات لضمان إرجاع التحميل الجزئي عند الفشل.
- تدقيق ما بعد التحميل — تشغيل استعلامات عد وفحص فوري بعد التحميل؛ مقارنتها بأعداد المصدر.
المرحلة الرابعة — التحقق من الترحيل
يجيب التحقق على السؤال: هل وصلت البيانات الصحيحة كاملةً وسليمة إلى النظام الجديد؟ وله ثلاث طبقات:
- الفحوصات الكمية — مقارنة أعداد الصفوف لكل كيان بين المصدر والهدف. إذا كان النظام القديم يحوي 18,432 سجلاً للعملاء ويحوي النظام الجديد العدد ذاته، فذلك شرط ضروري وإن لم يكن كافياً. قارن أيضاً مجاميع الحقول المالية.
- الفحوصات البنيوية — تحقق من عدم انتهاك قيود NOT NULL، وصحة علاقات المفاتيح الأجنبية، وسلامة قيود التفرد. نفِّذها كتأكيدات على مستوى قاعدة البيانات مباشرة بعد التحميل.
- الفحوصات العينية من الأعمال — اطلب من خبراء المجال فحص عينة تمثيلية من السجلات يدوياً (عادةً 0.5–1% من كل نوع كيان). في مثال متجر إلكتروني: يبحث المشتري عن طلب تاريخي معروف ويتأكد من صحة أسماء المنتجات والكميات والأسعار والحالة في النظام الجديد. الأعداد الآلية لا تكشف خطأ تحويل منهجياً؛ الفحوصات البشرية تستطيع ذلك.
وثائق المحلل في عملية الترحيل
بوصفك محللاً، أنت مسؤول عن إنتاج وصيانة أربع وثائق طوال عملية الترحيل:
- خريطة البيانات / مصفوفة رسم الحقول — سجل الحقول الكامل من المصدر إلى الهدف مع جميع قواعد التحويل ومالكي الأعمال. هذه هي الأساس لكل ما يليها.
- تقرير جودة البيانات — مخرجات مرحلة الفحص والتنظيف: أعداد العيوب المكتشفة حسب الفئة، والقواعد المطبَّقة لإصلاحها، والمشكلات المتبقية المُحالة لمالكي الأعمال.
- سجل تشغيل الترحيل — سجل مختوم بالطوابع الزمنية لكل تنفيذ للمسار: البيئة، ووقتا البدء والانتهاء، وأعداد الصفوف المستخرجة والمرفوضة والمحمَّلة، وأي أخطاء واجهها.
- قائمة تدقيق التحقق والموافقة — قائمة الفحوصات الكمية والبنيوية والأعمال مع نتائج النجاح/الفشل واسم صاحب المصلحة الموافِق من جانب الأعمال.
مثال تطبيقي: شركة لوجستية
تسعى شركة لوجستية إلى إيقاف نظام إدارة النقل المحلي (TMS) الذي تعمل به منذ 12 عاماً والانتقال إلى منصة سحابية. يحتوي النظام القديم على 840,000 سجل شحنة، و62,000 حساب عميل، وبيانات سائقين لمدة 14 عاماً مخزَّنة في قاعدة Access مُصدَّرة إلى CSV.
يقضي فريق المحللين ثلاثة أسابيع في بناء خريطة البيانات (230 زوجاً من الحقول موثَّقة)، ويكتشف أثناء الفحص أن 9% من أرقام هواتف العملاء في صيغة نثرية حرة لا تتبع معيار E.164، وأن 4,200 سجل شحنة يُشير إلى رمز ناقل لم يعد موجوداً في جدول الناقلين (مفاتيح أجنبية يتيمة). تُطبِّق مرحلة التنظيف تحويل تعبير منتظم لأرقام الهواتف، وتُعيَّن الشحنات اليتيمة إلى سجل خاص "ناقل-قديم-غير-معروف" تم الاتفاق عليه مع الأعمال. يُنفَّذ المسار في بيئة التطوير خلال 6.5 ساعات مما يتيح لفريق العمليات التخطيط لنافذة صيانة ليلة الجمعة. تجتاز الفحوصات العينية التي يُجريها مشرف التوزيع على 600 شحنة نموذجية دون أي تناقض. يُوقَّع على الترحيل قبل صباح الاثنين.