یکپارچهسازی داده
یکپارچهسازی داده (Data Integration) و توانایی سیستمهای نرمافزاری در تبادل و استفاده از اطلاعات (DII)، فرآیندی مهم در مدیریت داده است که در آن دادههای موجود در منابع مختلف با یکدیگر ترکیب میشوند؛ این دادهها عموما با فناوریهای متفاوت و در منابع مختلف جدا از هم ذخیره شده و نگهداری میشوند. یکپارچهسازی دادهها منجر به شکلگیری یک دید واحد نسبت به دادههای پراکنده میگردد.
هدف از پیادهسازی روشها و راهحلهای یکپارچهسازی داده، دسترسی دادهها در فرمت و بازه زمانی مورد نیاز مصرفکنندگان داده، اعم از سیستمی یا انسانی، کاهش هزینه پیچیدگی، تلفیق دادهها به صورت فیزیکی و مجازی و پشتیبانی از هوش کسب و کار و تجزیه و تحلیل است. یکپارچهسازی داده برای انبار داده و هوش کسب و کار و همچنین مدیریت داده مستر مهم است چرا که همه این فرایندها در یکپارچهسازی داده از سیستمهای منبع تا سیستمهای هدف در هر کجا که به دست مصرف کنندگان داده برسد، نقش بسزایی دارد.
یکپارچهسازی داده به معنی تمام فرایندهایی است که در نهایت موجب تسهیل دسترسی کاربران و تسریع محاسبات روی داده شود.
نیاز به مدیریت گردش و دید واحد داده از عوامل اصلی DII است. از آنجا که اکثر سازمانها چندین پایگاه داده دارند؛ مدیریت فرایندهای انتقال داده از پایگاه دادهها در داخل سازمان و به سازمان دیگر جهت تحلیل، به مسئولیت اصلی واحد داده در سازمان تبدیل شده است که اگر به درستی مدیریت نشود در نتایج تجزیه و تحلیل داده اثر سوء میگذارد.
راهحلهای DII، فعالیتهای اساسی مدیریت داده را که اکثر سازمانها به آنها وابسته هستند، فعال و تقویت میکنند که مواردی از این دست را به شرح زیر میتوان برشمرد:
- مهاجرت و تبدیل داده
- اشتراک دادهها بین برنامهها و سازمانها
- توزیع دادهها در محل ذخیرهسازی و مراکز داده
- بایگانی داده
- تلفیق دادههای ساختار یافته و غیر ساختاری
DII نیز به سایر زمینههای مدیریت داده وابسته است:
- حاکمیت داده
- معماری داده
- امنیت داده
- فراداده
- ذخیرهسازی داده
- مدلسازی و طراحی داده
یکپارچهسازی داده فرایند تجمیع دادهها از منابع مختلف در یک قالب واحد است. این فرایند شامل فرایندهای دریافت داده، پاکسازی آن، ETL mapping و تغییر داده میباشد. هدف نهایی یکپارچهسازی داده پیادهسازی یک دید واحد روی همه مجموعههای منابع پراکنده داده است. داشتن این دید واحد منجر به بهبود نتایج در ابزارهای تحلیلی و هوش کسب و کار خواهد شد.
هدف نهایی یکپارچهسازی داده پیادهسازی یک دید واحد روی همه مجموعههای منابع پراکنده داده است.
همچنین یکپارچهسازی دادهها و تلفیق آنها از منابع مختلف در یک مجموعه داده واحد منجر به تأمین دسترسی و تحویلدهی مستمر دادهها به طیف وسیعی از کاربران مختلف و انواع ساختارها میشود و نیازهای اطلاعاتی کلیه برنامهها و فرایندهای کسب و کار را تامین میکند.
یکی از موارد مهم برای استفاده از خدمات و راهحلهای یکپارچهسازی دادهها، مدیریت دادههای کسب و کار و مشتری است. یکپارچهسازی دادههای سازمانی، دادههای یکپارچه را در انبارهای داده یا معماری یکپارچهسازی دادههای مجازی ذخیره میکند تا از گزارشهای سازمانی، کسب و کار (یکپارچهسازی دادههای BI) و تجزیه و تحلیل پیشرفته استفاده کند.
شکل زیر ساختار یکپارچهسازی دادهها را نمایش میدهد.
قطعاً طراحی سازمانی یکپارچهسازی دادهها کارآمدتر و مقرون به صرفهتر از راهحلهای توزیع شده یا نقطه به نقطه است. راهاندازی معماری نقطه به نقطه بین برنامهها میتواند میلیونها رابط بین آنها ایجاد کند و حتی بهترین و کارآمدترین سازمانهای پشتیبانی فناوری اطلاعات را بهسرعت دچار ضعف جدی کند.
همچنین، یکپارچهسازی داده در حوزه نو ظهور مدیریت کلان داده نقش اساسی دارد. کلان داده به دنبال یکپارچهسازی انواع مختلف داده از جمله دادههای ساختار یافته و ذخیره شده در پایگاه داده، دادههای متنی بدون ساختار در اسناد یا فایلها و انواع دیگر دادههای غیر ساختاری مانند دادهی ویدئویی، صوتی و جریانی است. این دادههای یکپارچه را میتوان برای توسعه مدلهای پیشبینی استخراج کرد، و در فعالیتهای اطلاعاتی عملیاتی مستقر ساخت.
مزایا و معایب
همانند سایر کارها، یکپارچهسازی داده شامل مزایا و چالشهایی است. از جمله مزایای یکپارچهسازی داده میتوان به موارد زیر اشاره کرد:
- کمک به موفقیت بیزینسها
- بهبود همکاری بین سیستمهای مختلف
- صرفهجویی در وقت
- افزایش بهرهوری
- کاهش خطا در نتایج تحلیلی
- ارائه دادههای سودمند
از جمله چالشهای پیش رو هزینه زیرساخت، طراحی، تست و مهاجرت از سیستمهای قدیمی به سیستمهای جدید را میتوان نام برد که با توجه به هدف غایی و مزایای ذکر شده؛ میتوان از این چالشها صرف نظر کرد.
فرایندها و روشها
یکپارچهسازی داده تکنیکهای مختلفی دارد که شامل موارد زیر است:
- Extract, Transform, Load: کپی دادهها از منابع مختلف جمعآوری شده تجزیه و تغییر داده میشوند و در نهایت در انبار داده یا پایگاه داده لود میگردد.
- Extract, Load, Transform: دادهها به صورت یک سیستم دادهای بزرگ در محل خاصی لود میگردد و بعدا در صورت لزوم برای استفادههای خاص تجزیه و تحلیل، تغییر شکل میدهند.
- Change Data Capture: تغییرات داده در پایگاه داده را به صورت بلادرنگ تشخیص داده و آنها را در انبار داده یا مخازن دیگر اعمال میکند.
- Data Replication: دادههای موجود در یک پایگاه داده، در پایگاه داده دیگر تکثیر میشود تا اطلاعات را همزمان با استفاده از فرایندهای عملیاتی و پشتیبانگیری حفظ کنند.
- Data Virtualization: دادههای سیستمهای مختلف به جای بارگذاری دادهها در مخزن جدید، بیشتر برای ایجاد یک نمای واحد ترکیب میشوند.
- Streaming Data Integration: یک روش یکپارچهسازی دادههای بلادرنگ است که در آن جریانهای مختلف داده به طور مداوم یکپارچهسازی شده و در سیستم تجزیه و تحلیل و ذخیره دادهها قرار میگیرند.
روشهای مختلفی برای یکپارچهسازی دادهها وجود دارد که به اندازه کسب و کار، نیاز انجام شده و منابع موجود بستگی دارد که به شرح زیر است:
- Manual data integration: هیچ دید واحدی از دادهها وجود ندارد. کاربران با کلیه اطلاعات مربوطه که به همه سیستمهای منبع دسترسی دارند کار میکنند. همچنین کاربر با دسترسی مستقیم به قسمتهای مختلف، دادههای لازم را از منابع متفاوت جمعآوری میکند، سپس آنها را در صورت لزوم تمیز کرده و در یک انبار ترکیب میکند. این روش بسیار ناکارآمد و متناقض است و برای همه به جز کوچکترین سازمانهایی که دارای حداقل منابع داده هستند، معنی چندانی ندارد. چرا که دید واحدی بر روی دادهها وجود ندارد.
- Middleware Data Integration: یک رویکرد یکپارچهسازی است که در آن یک برنامه میانافزار به عنوان یک میانجی عمل میکند، به نرمالسازی دادهها و آوردن آنها به مجموعه اصلی داده کمک میکند. برنامه میانافزار هنگامی وارد عمل میشود که یک سیستم یکپارچهسازی داده قادر به دسترسی خود به دادههای یکی از این برنامهها نباشد.
- Application Based Integration: رویکردی برای یکپارچهسازی است که در آن برنامههای نرمافزاری، دادهها را پیدا، بازیابی و یکپارچه میکنند. در طول یکپارچهسازی، نرمافزار باید دادههای سیستمهای مختلف را با یکدیگر سازگار کند تا بتوان از یک منبع به منبع دیگر منتقل کرد.
- Uniform Data Access: نوعی یکپارچهسازی داده است که بر ایجاد یک قسمت دسترسی متمرکز است که باعث میشود دادهها در صورت دسترسی از منابع مختلف سازگار باشند. با این حال، دادهها در منبع اصلی باقی مانده است. با استفاده از این روش میتوان از سیستمهای مدیریت پایگاه داده شیءگرا استفاده کرد تا ظاهر یکنواختی را بین پایگاههای داده ایجاد کند.
- Common Data Storage: یک سیستم جدید ایجاد میکند که در آن یک نسخه از دادههای سیستم منبع ذخیره میشود و به طور مستقل از سیستم اصلی مدیریت میگردد.
فرایند یکپارچهسازی داده یک سیستم شامل سه مرحله اصلی طراحی، پیادهسازی و تست سیستم میباشد.
- طراحی: طراحی سیستم Data Integration شامل چند مرحله مانند تجزیه و تحلیل نیازمندیها و سیستمهای منابع است که در خلال این مراحل به سؤالاتی از این قبیل پاسخ داده میشود:
- قوانین مرتبط با کسب و کار چیست؟
- علت ایجاد یکپارچهسازی دادهها چیست؟ چه اهدافی را دنبال میکند و چه میزان عواید از پیادهسازی آن حاصل میگردد؟
- منابع تامین دادههای مورد نظر چگونه تامین میشوند؟
- حجم دادههای پردازش شده چقدر است؟
- کیفیت دادهها در چه سطحی است؟
- مالک سیستم کیست و هزینههای نگهداری و بهروزرسانی این سیستم از کدام منابع تامین میشوند؟
- پیادهسازی: با توجه به محتوای اسناد نیازمندیهای کسب و کار و اسناد نیازمندیهای نرمافزاری که در مرحله قبل تدوین شد، بهتر است قبل از انتخاب ابزارهای مناسب مورد نیاز یکپارچهسازی دادهها، امکانسنجی صورت بگیرد. برای عملکرد مؤثرتر و بهتر سیستم میتوان به جای استفاده مکرر از استانداردهای فعلی، از پلتفرمها و فناوریهای جدیدتر و بهتر استفاده کرد. به عنوان مثال ابزارهای جدیدی وجود دارند که موجب کاهش هزینههای پیادهسازی و پشتیبانی میشوند. این ابزارها منجر به مقیاسگذاری بهتر رشد و توسعه شرکت در آینده میگردند و در نهایت سیستم قدیمی را به پلتفرمی جدید و مدرن تبدیل میکنند.
- تست: یکی از مهمترین گامها در فرایند یکپارچهسازی داده، اطمینان از درستی و کامل بودن و به روز بودن دادههای یکپارچه شده است. این گام میتواند همزمان با پیادهسازی فرایند یکپارچهسازی صورت گیرد. در این مرحله برای اطمینان از به دست آمدن نتایج مورد انتظار، هر دو بخش نیازمندیهای کسب و کار و نیازمندیهای فنی باید مورد توجه قرار بگیرند. تست سیستم شامل تست کارایی، تست استرس، تست تاییدیه فنی و تست تاییدیه کاربر میباشد.
نقشها
با پر رنگ شدن اهمیت یکپارچهسازی داده، نقشهای گوناگونی در سازمانها ایجاد شده که از جمله آنها میتوان به موارد ذیل اشاره کرد:
- Data Integration Manager: یک نقش مدیریتی است که روی حصول اطمینان از عملیات کارآمد و مؤثر و استفاده از دادهها متمرکز شده است.
- Data Integration Engineer: مسئول طراحی، افزایش کارایی و پشتیبانی از ابزارهای یکپارچهسازی داده است.
- Data Integration Developer: وظیفه توسعه، تجزیه و تحلیل منابع داده و اطمینان از صحت اطلاعات ورودی را دارد.
فناوری
همانطور که گفته شد یکپارچهسازی دادهها فرایند ترکیب دادهها از منابع مختلف با هدف ارائه یک نمای واحد از دادههای ترکیبی است. با این کار میتوان تمام داده را از یک منبع واحد، جستجو، تجزیه و تحلیل کرد.
با یکپارچهسازی میتوان تمام داده را از یک منبع واحد، جستجو، تجزیه و تحلیل کرد.
این منابع مختلف داده خودشان ادغام نخواهند شد. برای این منظور، باید از یک ابزار یا بستر یکپارچهسازی داده استفاده کرد. این ابزارها اغلب شامل عملکردی با هدف پاکسازی، تغییر شکل و نقشهبرداری از دادهها و همچنین نظارت بر جریان ادغام (مدیریت خطا، گزارشدهی و غیره) است.
تکنولوژیهای موجود در این حوزه به سه قسمت زیر تقسیم میگردد:
الف – On-premise
این ابزارها در تلفیق دادهها از منابع مختلف دادههای محلی یا on-premise سرآمد هستند. معمولاً این ابزارها در شبکه محلی یا ابر خصوصی (Private cloud) نصب میشوند و شامل اتصالات بومی بهینه شده برای دریافت دستهای از منابع مختلف داده هستند. منابع داده پیشفرض معمولاً شامل پایگاه دادههای بزرگتر یا قدیمی است. از ابزار برتر در این قسمت میتوان موارد زیر را نام برد:
-
- Microsoft SQL Server Integration Services (SSIS): بستری برای ساخت راهکارهای یکپارچهسازی داده با کارایی بالا است که شامل ETL برای انبار داده میباشد. SSIS شامل انتقال دادهها، تغییر شکل و ادغام است.
- Oracle Golden gate: یک بسته نرمافزاری جامع برای ادغام و تکثیر داده در زمان واقعی در محیطهای ناهمگن IT است. این مجموعه، امکان دسترسی به راهحلهای بالا، یکپارچهسازی دادهها در زمان واقعی، ضبط دادههای تغییر معاملات، تکثیر دادهها، تبدیلها و تأیید بین سیستمهای سازمانی عملیاتی و تحلیلی را فراهم میکند.
- Oracle Data Integrator: یک پلتفرم جامع یکپارچهسازی داده است که کلیه الزامات ادغام داده را شامل میشود. ODI ابزاری برای استخراج، بارگیری و تبدیل (ELT) است که یک محیط گرافیکی برای ساخت، مدیریت و حفظ فرایندهای ادغام داده در سیستمهای هوش تجاری ارائه میدهد.
ب – Cloud-based
بسیاری از ابزارهای مبتنی بر ابر (Cloud-based) سیستمعاملهای یکپارچهسازی به عنوان یک سرویس (iPaaS) هستند که به ادغام دادهها از منابع مختلف، اغلب در یک انبار داده مبتنی بر ابر، کمک میکنند. این سرویسها معمولا برای مدیریت منابع جدیدتر جریان داده تحت وب و همچنین پایگاههای داده مشترک طراحی شدهاند. از آنجا که منابع جدید داده مبتنی بر وب به طور مکرر تولید میشوند؛ یکی از مؤلفههای اصلی خدمات مبتنی بر ابر توانایی ادغام سریع آنها، گاهی اوقات از طریق API ،SDK یا Webhook است. در ادامه به برخی از ابزارهای این حوزه اشاره شده است:
-
- Oracle Integration Cloud Service
- Talend Cloud Integration
- Alooma
پ – Open Source
در حوزه یکپارچهسازی داده همانند دیگر حوزهها ابزارهای متنباز وجود دارد. سازمانها با توجه به نیاز، نوع دیتا و زیر ساخت و جلوگیری از هزینههای گران سازمانی، میتوانند از ابزارهای متنباز استفاده کنند. در ادامه، برخی از ابزارهای متنباز در حوزه یکپارچهسازی داده آورده شده است:
-
- CloverETL: ابزاری مبتنی بر جاوا که برای پاکسازی، استانداردسازی تبدیل و توزیع دادهها به برنامهها، پایگاه داده و انبار داده استفاده میشود.
- Skool: ابزار یکپارچهسازی دادهای هدوپ است که میتواند دادهها را از RDBMS وارد و از هدوپ خارج کند.
- Karma: ابزاری است که کاربران را قادر میسازد تا به سرعت دادههای منابع مختلف مانند پایگاه داده، Spreadsheet، JSON، فایلهای متنی، XML ،KML و API وب را یکپارچه کنند.