تیم مهندسی نتفلیکس اخیراً در وبلاگ خود درباره نحوه و اصول استفاده از معماری Data mesh یا جزایر داده به عنوان نسل بعدی پلت فرم و پردازش داده های خود و به منظور ایجاد فرصتهای تجاری بیشتر منتشر کرده است.
مش داده ها تغییر الگوی جدیدی در مدیریت داده است که کاربران را قادر می سازد تا به راحتی داده ها را بدون انتقال به یک مکان متمرکز مانند دریاچه داده، وارد کرده و از آنها استفاده کنند. همچنین بر تمرکززدایی و توزیع مالکیت داده ها در حوزه های مختلف تجاری تمرکز دارد. هر دامنه داده های خود را به عنوان یک محصول مدیریت و کنترل می کند، و آن را بر اساس SLA مورد نیاز قابل شناسایی و اعتماد می کند.
معماری مش داده در نتفلیکس از دو لایه اصلی تشکیل شده است. یکی صفحه کنترل (controllers) و دیگری صفحه داده (data pipelines). در پست وبلاگ به سادگی اینگونه تعریف شده است:
کنترل کننده درخواست های کاربر را دریافت می کند و گذرگاه انتقال داده (data pipelines) را مستقر و هماهنگ می کند. پس از استقرار، گذرگاه انتقال داده کار پردازش داده های سنگین را انجام می دهد. تهیه گذرگاه انتقال داده منابع مختلفی را در بر می گیرد. کنترل کننده مسئولیت را به میکروسرویس های مربوطه واگذار می کند تا چرخه عمر آنها را مدیریت کنند.
نمودار زیر معماری سطح بالای داده مش در Netflix را نشان می دهد:
عملیات اصلی در گذرگاهها انجام می شود. گذرگاه انتقال داده ها را از منابع مختلف می خواند، الگوریتم ها را اعمال می کند و آنها را به مقصد منتقل می کند. کنترل کننده ها مسئول کشف منابع مرتبط با خطوط لوله و محاسبه پیکربندی صحیح هستند. نمودار زیر نمونه ای از معماری خط لوله را نشان می دهد:
منابع داده، داده های دامنه مربوط به هر واحد تجاری هستند و توسط پردازنده های مختلف در سیستم پردازش می شوند. مهندسان عمدتاً از Apache Flink برای پردازش بلادرنگ داده ها استفاده می کنند. کانکتورها عنصر اصلی برای شروع انتقال داده ها هستند. آنها منابع داده را نظارت می کنند و CDC را در مش داده تولید می کنند. آپاچی کافکا به عنوان جزء اصلی برای انتقال دهنده های داده در مش داده عمل می کند. طرح و کاتالوگ داده در ارائه قابلیت جستجو و مشاهده داده ها در میان حوزه های مختلف کسب و کار بسیار مهم است. نتفلیکس از Apache Avro به عنوان طرح استاندارد در میان دامنه ها استفاده می کند.
بسیاری از کسب و کارها بر اساس نیازهای خود شروع به تغییر این الگو کرده اند.
شرکت ها اکنون در حال برنامه ریزی و تغییر پلت فرم داده های خود بر اساس این معماری هستند، از جمله Intuit و Zalando. بسیاری از ارائه دهندگان خدمات ابری مانند آمازون، گوگل و مایکروسافت نیز راه حل ها و خدمات مش داده (Data mesh) را برای مشتریان خود ارائه می دهند.
نسل بعدی پلتفرم انتقال و پردازش داده در نتفلیکس