گام‌های یک مهاجرت داده، با نگاهی به پروژه مهاجرت سپه

ETL
ETL


امروزه، مهاجرت کردن از یک سیستم نسبتا قدیمی، به سیستمی جدید و به‌روز یکی از روش‌های به‌روزرسانی سیستم‌های کسب‌وکاری محسوب می‌شود. مهاجرت داده‌های موجود در سیستم فعلی، یکی از مهم‌ترین و چالشی ترین بخش‌های فرایند مهاجرت است.

آنچه قصد داریم درباره آن صحبت کنیم، گام‌های اصلی یک مهاجرت داده، چالش‌های پشت سر گذاشته‌شده در این فرایند هنگام مهاجرت داده‌های بانک سپه و راهکارهای مورد استفاده در آن زمان است. در مهاجرت یک بانک، خود بانک به‌عنوان کارفرما و شرکتی که قرار است زیرساخت‌های جدید را در اختیار بانک قرار داده و داده‌های قدیمی را به آن زیرساخت مهاجرت دهد، به‌عنوان پیمانکار مهاجرت شناخته می‌شود.

مهاجرت داده، سه گام اصلی وَ در کلام، ساده دارد که این سه گام شامل استخراج، تبدیل و بارگذاری داده‌ می‌شود که به‌اختصار، ETL خوانده می‌شود.

در گام استخراج داده یا Extarctionکه می‌تواند توسط کارفرما یا پیمانکار انجام شود داده‌ها از سامانه‌های قدیم یا مبدا استخراج و در یک پایگاه داده واسط تجمیع می‌شوند. شناخت منابع داده مبداء، پیش‌نیاز استخراج داده است و بنابراین پیشنهاد می‌شود که این گام توسط کارفرما انجام شود. البته پیمانکار که مسئولیت انتقال داده به سامانه جدید را به صورتی که فرایندهای کسب و کاری همچنان قابل اجرا باشند، بر عهده دارد ساختار این پایگاه داده واسط را به کارفرما ارائه می‌دهد و کارفرما استخراج را بر اساس ساختار ارائه شده انجام می‌دهد.

علت برتری استخراج داده توسط کارفرما آن است که تسلط بیشتری نسبت به داده‌های موجود دارد زیرا این داده‌ها برای او آشنا هستند و اگر استخراج داده به پیمانکار سپرده شود، یک فاز شناخت داده‌ها به پروژه افزوده خواهد شد که در شرایطی که استخراج داده توسط کارفرما انجام شود، نیازی به این فاز نخواهد بود. علاوه بر این، یکی از موارد تاثیر گذار بر صحت فرایند استخراج، شناخت تاریخچه عملیات انجام شده روی ساختار و محتوای داده‌های فعلی است. پیمانکار می‌تواند ساختار و محتوای فعلی داده‌ها را بررسی نماید اما آگاهی از تاریخچه داده برای پیمانکار دشوار است درحالی‌که کارشناسان کافرما به دلیل نقشی که در خلق این تاریخچه داشته‌اند می‌توانند این دانش را در جهت کاهش خطا و افزایش کیفیت داده استخراجی به کار گیرند.

یکی دیگر از عوامل تاثیرگذار بر فرایند استخراج داده، تکنولوژی ذخیره‌سازی داده‌ها در مبدا است که ممکن است سرعت استخراج داده را تحت تاثیر قرار داده و استخراج داده از آن منابع نیازمند دانشی باشد که نزد کارفرما وجود دارد. با توجه به موارد فوق در پروژه سپه، استخراج داده توسط کارشناسان بانک سپه انجام شد. به عنوان نمونه در مهاجرت چک‌های پروژه سپه، به دلیل تاریخچه مهاجرت‌های مختلف و حتی یک مهاجرت و مهاجرت معکوس، و همچنین ذخیره‌سازی در قالب فایل، الگوهای غیر معمول و مغایرت‌های داده‌ای در وضعیت چک‌‌ها وجود داشت که کارشناسان بانک سپه به دلیل آگاهی از تاریخچه عملیات انجام شده و همچنین تسلط بر ساختار و تکنولوژی منابع داده مبدا، که از نوع فایلی بودند ‌با همکاری کارشناسان داتین در تبدیل فایل‌ها به جداول اوراکل و گزارش موارد خطا توانستند استخراج داده را با صحت و سرعت مورد انتظار به سرانجام برسانند. البته پس از مهاجرت اصلی نیز جهت اصلاح موارد خطا و موارد جا مانده، چند مهاجرت کوچک‌تر در این حوزه انجام شد.

داده‌های مبدا برای اینکه بتوانند در ساختار پایگاه داده واسط بنشینند ممکن است نیازمند تغییراتی باشند که این تغییرات درگام دوم مهاجرت داده یعنی تبدیل یا Transform انجام می‌شود. این گام نیز می‌تواند توسط کارفرما یا پیمانکار انجام شود اما بازهم به دلایلی که درباره استخراج داده گفته شد پیشنهاد می‌شود که بخش عمده این گام نیز توسط کارفرما انجام شود و فقط در مواردی که کارفرما به دلیل محدودیت‌های فنی قادر به انجام پالایش داده نیست یا انجام پالایش توسط کارفرما زمانبر یا دشوارتر است این گام به پیمانکار سپرده شود. این تبدیل می‌تواند اصلاحات ساختاری و محتوایی را در بر بگیرد. اصلاحات محتوایی مانند کامل کردن داده‌های موجود، یا جایگزنی پیش‌فرض‌ها به جای داده‌های ناموجود همگی باید توسط کارفرما انجام شوند تا کمترین مسئولیت در تغییر محتوای داده‌ها متوجه پیمانکار باشد. اما در مواردی که پالایش داده به هر دلیل امکانپذیر نیست لازم است پیمانکار با تغییراتی که در محصول خود انجام می‌دهد، شرایط پذیرش داده‌های ناقص یا مشکل‌دار را نیز فراهم کند. به عنوان مثال کد ملی یکی از اقلام داده‌ای ضروری در تعریف مشتری در سامانه داتین است اما حدود 10 درصد مشتریان سپه به دلایل مختلف از جمله قدمت 90 ساله این بانک فاقد کد ملی بودند و شرایط لازم برای مهاجرت این مشتریان با غیر‌فعال سازی شرط اجباری بودن در زمان مهاجرت و فعال سازی این شرط برای زمان پس از مهاجرت فراهم شد. هرچه تغییرات داده توسط پیمانکار کمتر باشد فرایند صحت سنجی و پیگیری مشکلات آسانتر خواهد بود.

گام آخر، بارگذاری داده‌ها در سامانه جدید یا Load است که این گام توسط پیمانکار انجام خواهد شد. اگر ساختار پایگاه داده واسط به درستی طراحی شده باشد و استخراج و تبدیل داده‌ها نیز به درستی انجام شده باشد، بزرگترین چالش این گام، تولید برنامه ای کارامد و سریع برای انتقال داده‌هاست. در پروژه سپه کارشناسان داتین محصولی را برای مهاجرت داده بانک سپه طراحی و تولید کردند که علاوه بر این پروژه می‌تواند برای انتقال داده‌ هر بانک دیگری به سامانه داتین مورد استفاده قرار گیرد و همین محصول با اندکی تغییر برای مهاجرت داده بانک‌ها ادغامی به سامانه جامع بانکی امید به کار گرفته خواهد شد. تولید این محصول گامی ارزنده و کلیدی در آمادگی داتین برای پذیرش مشتریان جدید است.

پس از پایان بارگذاری داده‌ها در سامانه جدید باید صحت فرایند مهاجرت بررسی و تایید شود. در مهاجرت بانک سپه به سامانه‌ جامع بانکی امید، یکی از روش‌ پیشنهادی ما برای صحت سنجی علاوه بر مقایسه موردی، استفاده از ابزاری به عنوان کارت جمع بود. کارت جمع دربرگیرنده اطلاعات تعدادی و مبلغی انواع داده‌ها بود که همراه داده‌ها توسط کارفرما ارایه می‌شد و ما نیز پس از انجام فرایند مهاجرت، گزارش مشابهی را از سامانه داتین تهیه و ارائه می‌کردیم. از مقایسه این دو کارت جمع موارد باقی مانده استخراج می‌شد و پس از رفع مشکلات فنی مهاجرت این موارد هم انجام می‌گرفت. روش مورد استفاده دیگر ما برای صحت سنجی فرایند مهاجرت داده بانک سپه، تعریف چک‌لیست‌ها بود. کیفیت داده‌ها بر اساس این چک لیست‌ها ارزیابی میشد و موارد خطا جهت اصلاح به کارفرما اعلام می‌شد. یکی دیگر از راهکارهایی که می‌تواند در صحت سنجی مهاجرت کمک‌کننده باشد، دریافت لیستی از منابع داده‌ای از کارفرما است. با دریافت لیستی شامل محل ذخیره‌سازی و تعداد تقریبی داده‌ها، می‌توان یک گزارش آماری به دست آورد. این گزارش آماری می‌تواند در مقایسه با آخرین آمار ارائه شده به نهاد‌های مختلف حاکمیتی مانند بانک مرکزی مبنای صحت سنجی باشد.

یکی از مسائل حائز اهمیت در هر سه گام اصلی مهاجرت داده، مبحث زمان‌بندی و برنامه ریزی با حداکثر موازی سازی‌سازی است. در زمان اجرای گام‌های استخراج و تبدیل و بخشی از گام بارگذاری، تمامی سرویس‌های بانکی از دسترس مشتریان و کاربران بانک خارج می‌شوند تا پس از مهاجرت داده‌ها، سامانه‌های جدید آغاز به کار کنند. به حداقل رساندن زمان قطعی سامانه‌ها از اهداف مهم مهاجرت داده و از شاخص‌های مهم در سنجش موفقیت پروژه‌های مهاجرت داده به ویژه هنگام استفاده از روش یکباره یا بیگ بنگ است. در پروژه سپه ما با انجام مانورهای مهاجرت زمانبندی شده و تلاش در جهت افزایش سرعت تمامی گامها توانستیم به رکورد قابل توجهی در این زمینه دست پیدا کنیم..طبق برنامه‌ریزی‌های انجام شده در پروژه سپه، سامانه‌های قدیمی در ساعت ۱۴ پنج‌شنبه ۱۹ تیرماه ۱۳۹۹ از دسترس خارج شدند و عملیات استخراج آغاز شد. برنامه‌ریزی به صورتی انجام شده بود که استخراج و بارگذاری مهاجرت ۳۵ میلیون مشتری و ۲۸ میلیون سپرده دارای کارت از مجموع ۴۰ میلیون سپرده، ۲۴ میلیون کارت نقدی و ۲۱ میلیون کارت هدیه و تمامی اطلاعات کاربران سامانه‌های بانکداری مدرن در کمتر از ۲۴ ساعت یعنی پیش از ظهر روز جمعه ۲۰ تیرماه ۱۳۹۹ انجام شده و خدمات کارت و سامانه‌های بانکداری مدرن مجدد در دسترس مشتریان قرار گیرد. و با تلاش تمامی ارکان در گیر در این پروژه در شرکت داتین، شرکت رایانه خدمات امید و بانک سپه، اولین تراکنش موفق کارت پیش از ظهر روز جمعه انجام شد و ساعتی بعد مهاجرت موفق داده‌ها تایید شد و سامانه جامع بانکی امید رسما آغاز به کار کرد. فرایند مهاجرت داده تا بامداد روز شنبه برای مهاجرت سپرده‌های بلند مدت و چک‌ها ادامه یافت و با آغاز به کار شعب در صبحگاه شنبه عملیات مهاجرت از ۸۳ سامانه مختلف به سامانه جامع بانکی امید با موفقیت پایان یافت که البته خود آغاز راهی جدید برای خدمت‌رسانی هرچه بهتر به مشتریان و کارکنان بانک سپه بود که با انجام مهاجرت به آن موظف شده‌ایم.

انجام موفقیت آمیز این پروژه همانند نام آن (سامانه جامع بانکی امید)، غیر از با حفظ امید و امید و امید و ممارست و تکیه بر تخصص تمامی ارکان پروژه امکان‌پذیر نبود و امیدوارم که به‌زودی این موفقیت را در پروژه مهاجرت بانک‌های ادغامی تکرار کنیم.