Data Mesh : معماری داده مقیاسپذیر، دامنهمحور و غیرمتمرکز
چگونه معماری داده سازمان خود را بر پایه جزیرههای داده بنیانگذاری کنیم ؟
معماری سرویسگرا در دنیای نرم افزار، به یک معماری مورد پذیرش و منطبق با نیازمندیهای جاری این صنعت تبدیل شده است. در دنیای مهندسی داده (طراحی و مدیریت زیرساختهای پردازش داده) اما فعلا روال کار غالب، برعکس این رویه است یعنی به دنبال تشکیل تیمهای مهندسی داده در شرکتها، اولین اقدامی که معمولا انجام میشود یکپارچه کردن مباحث مدیریت داده در یک سازمان از تشکیل دریاچه داده گرفته تا ساخت پایپلاینهای پردازش داده و پایش متمرکز دیتابیسهای مختلف به کار رفته در سازمان است.
اما آنچه در دنیای پرجنب و جوش سامانههای اطلاعاتی مدرن و مهندسی داده در دنیا همراستا با تحولات مهندسی نرمافزار در حال رخدادن است، حرکت به سمت سامانههای مدیریت داده جزیرهای و غیرمتمرکز است. به گونهای که به تدریج شاهد یک پارادایم شیفت (تغییر مبانی) در این حوزه خواهیم بود و سازمانها از ایجاد یک تیم یکپارچه مهندسی داده که مدیریت یک سامانه متمرکز اطلاعاتی را به عهده دارد به سمت تیمهای غیرمتمرکز و جزیرههای داده خودگران و توزیع شده حرکت خواهند کرد.
این تغییر اصول و مبانی یعنی تجزیه سازمان به Data Node های جزیرهای خودگردان، تحولات بنیادین زیادی را در حوزه زیرساختهای داده در سالیان آتی با خود به همراه خواهد آورد. مفهومی که با نام جزایر داده یا Data Mesh شناخته می شود و در آینده آنرا به کرات خواهید شنید.
البته اگر پیگیر اخبار مهندسی نرمافزار باشید میدانید که اصطلاح Service Mesh سالهاست که رایج شده و به بلوغ کافی رسیده است و جزایر داده هم با ایده گرفتن از آن برای مدیریت دادهها با ساز و کارهای خاص این حوزه، پیشنهاد شده است.
این اصطلاح که اولین بار توسط خانم ژامک دهقانی در سایت معروف و مرجع آقای مارتین فاولر (از زمان دانشجویی در حدود سال ۲۰۰۰ -۱۳۸۰- که دانشجوی دکتر رامتین خسروی در درس طراحی سیستمهای شیگرا بودم با این سایت آشنا شدم) با مقاله How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh (martinfowler.com) معرفی شد، امروزه در حال تبدیل شدن به یک استاندارد معتبر در طراحی سامانههای اطلاعاتی کلان و داده محور است.
خانم ژامک دهقانی که دانشآموخته دانشگاه شهید بهشتی در سالهای ۱۹۹۱ تا ۱۹۹۶ است، امروزه به عنوان یکی از مشاورین ارشد شرکت thoughtworks و جزء بنیانگذاران معماری Data Mesh در دنیا شناخته میشود. با لینکدین و توئیتر میتوانید در جریان آخرین کارهای این هموطن عزیز و صاحب سبک در حوزه مهندسی نرمافزار قرار گیرید.
جزییات این معماری را در دو مقالهای که خانم دهقانی در وبسایت مارتین فاولر منتشر کرده است میتوانید مشاهده کنید اما اگر قصد آشنایی با این معماری با توضیحات خود خانم دهقانی را دارید، توصیه میکنم ویدئوی زیر را تماشا کنید :
میتوانید ارائه اصلی به همراه اسلایدهای آنرا در وب سایت infoQ هم مشاهده کنید :
تا پایان سال جاری میلادی (۲۰۲۱)، شاهد چاپ کتاب خانم دهقانی در خصوص جزایر داده (Data Mesh) هم خواهیم بود.
اخیرا مقالهای در وبلاگ آمازون منتشر شد (در اردیبهشت ۹۹) که جزییات پیادهسازی جزایر داده در یک سازمان معتبر البته در سطح کلان و بدون ورود به جزییات فنی، را ارائه می کند و تصویر اصلی مقاله هم از آن برگرفته شده است. در این مقاله که تجربه شرکت مالی و سرمایهگذاری JPMorgan Chase در خصوص ایجاد یک دریاچه داده توزیع شده بر مبنای مفهوم جزایر داده، بیان شده است، مزایای استفاده از این نوع معماری هم برشمرده شده است.
همانطور که از شکل بر میآید برای اینکه بتوان ایده جزایر داده را به واقعیت تبدیل کرد، نیاز به یک دروازه ورود یا یک راهنمای مش (Mesh Catalog) داریم که مشتریان سازمان، به کمک آن بتوانند به منبع داده مورد نیاز خود متصل شوند. یعنی از دید مشتری و کاربر، مجموعههای به هم پیوستهای از دادهها مشاهده میشود در صورتیکه در پشت صحنه، هر بخش از داده ممکن است از یک جزیره داده، جمعآوری شده باشد.
از طرفی، این توزیع شدگی جزایر داده در سازمان، باعث می شود مدیریت هر قسمت، به صورت جداگانه و در همان واحد ناظر آن، صورت گیرد اما بعد از انجام تغییرات محلی، اعمال نهایی تغییرات باید در راهنمای مش، انعکاس یابد. تصویر زیر نمونهای از این مدیریت فدرالی جزایر دادهها را نشان میدهد :
اگر در حال پیادهسازی دریاچه داده در سازمان خود هستید این مقاله کوتاه اما الهامبخش را هم از دست ندهید.
پ.ن : اخیرا مقاله ای با عنوان «Data Mesh: The Ongoing Evolution» هم منتشر شده است و تمام مطالب فنی که در خصوص جزایرداده از سال ۲۰۱۹ به بعد منتشر شده است (البته مقالات و کارهای شاخص) را لیست کرده است.