چرایی و چگونگی معماری جریان داده‌ها

The Why and How of Streaming-First Data Architectures By Kevin Petrie April, 2020

چرایی و چگونگی معماری جریان داده‌ها
چرایی و چگونگی معماری جریان داده‌ها

سازمان‌ها به‌ منظور افزایش درآمد، کاهش هزینه و کنترل ریسک، معماری جریان داده ها را به کار میگیرند.

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

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

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

پیشنهادات کلیدی

· جهت نوسازی کسب‌وکار خود استقرار معماری جریان داده‌های رویدادها را مدنظر قرار دهید.

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

طی به‌روزرسانی تدریجی داده‌ها در تأخیر نزدیک به صفر؛ با معماری استریم رویدادها، شما قادر خواهید بود در کسب‌وکارتان دارای تبدیل و تحلیل داده‌های بیشتر و سرعت بالاتر در واحد سی‌پی‌یو (واحد پردازنده مرکزی) یا پهنای باند باشید و می‌توانید استفاده های جدیدی از داده‌ها را به عنوان موارد سود‌آور داشته باشید.

· یک طرح کلی‌نگر بسازید. به‌منظور تحقق بخشیدن به کارایی و مزایای تحلیلی استریم رویدادها، موارد کاربردی و الزامات خود را با دقت تعریف کنید.

همان طور که معماری خود را برای رسیدن به آن الزامات طراحی می‌کنید؛ توازن‌ها و وابستگی‌های متقابل هر یک از مؤلفه‌ها را بسنجید.

· رویکرد افزایشی را درنظر بگیرید.

ابتدا با حذف یک یا چند مورد از گلوگاه‌های پردازش دسته‌ای از طریق راه‌حل‌های جریان سازی مبتنی بر فن‌آوری‌هایی همچون CDC یا کافکا؛ به دنبال کاهش مشکل باشید.

زمانی‌که به این دست‌آورد سریع رسیدید؛ معماری برقراری استریم داده های خود را به نقاط انتهایی جدید گسترش داده و موارد کاربردی جدیدی از داده‌ها تعریف نمایید.

هنگام مقیاس‌گذاری؛ زیرساخت‌های ابری را به‌عنوان پلتفرم سرویس (SaaS) در نظر بگیرید، که هزینه‌های عملیاتی شما را کاهش داده درحالی که ریسک شما را هم به حداقل می‌رساند.

پیدایش معماری جریان داده‌ها:

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

سازمان‌ها با بهره‌گیری از معماری استریم داده‌ها قادر خواهند بود ضمن پردازش داده‌های رویداد (هنگام ایجاد و پیش از ذخیره) در کوتاه‌مدت ارزش تجاری کسب کنند.

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

آن‌ها با این روش درآمدها را افزایش، هزینه ها را کاهش و ریسک را کنترل می‌کنند.

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

اما چالش‌های زیادی هم بوجود خواهد آمد. گروه‌های داده باید موارد کاربری خود را به‌دقت ارزیابی کنند و فن‌آوری‌های مناسب را جهت دست‌کاری مؤثر داده‌های در حال حرکت (انتقال) انتخاب کنند. آن‌ها باید نقاط انتهایی ناهمگن را یکپارچه‌سازی کرده و موجب تسهیل پردازش ها شوند.

کسب‌وکارهای با معماری دسته‌ای داده ها (ETL) با مشکلات زیادی مواجه هستند. آنها طی سال‌های متمادی داده‌ها را به‌صورت دسته‌ای و متناوب پردازش می کنند. تیم‌های داده و نرم‌افزار دائما کار "استخراج، تبدیل و بارگذاری (ETL)" را جهت کپی کردن دسته‌های کاملی از داده‌های عملیاتی از پایگاه های داده مثل امور مالی، فروش یا منابع انسانی در هر ساعت، روز یا هفته، برنامه‌ریزی می کنند. این دسته‌ها به صورت مجموعه‌ای از فایل‌های پر دردسر دائم آنها را مشغول میکند.

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

شکل 1. معماری قدیمی یا دسته ای داده ها
شکل 1. معماری قدیمی یا دسته ای داده ها

درباره جایگاه ETL در سازمان ها؛ باید گفت با معماری صرفاً دسته‌ای مرسوم "کسب‌وکارها" قادر به تأمین نیازهای جدید شرکت نمی‌ باشند. آن‌ها بخاطر تأخیر زیاد موجود شکست می‌خورند. چون امروزه بسیاری از مصرف‌کنندگان داده‌ منتظر به‌روزرسانی خسته کننده دسته ای داده‌ها نمی‌مانند. مدیران اجرائی فروش به گزارش‌های ساعتی در‌آمد مربوط به منطقه، نمایندگی یا محصول نیاز دارند. هشدارهای استهلاک های عملیاتی به فرم گزارش باید بصورت آنی در اختیار مدیران کارخانه قرار بگیرد. ارائه‌دهندگان مراقبت‌های پزشکی از راه دور به آمار و نمودارهای حیاتی آنی نیاز دارند تا وضعیت بیماران بستری در خانه را طی چند ثانیه پیگیری کنند. شرکت‌های مربوط به کارت‌های اعتباری باید معاملات مشکوک را در صدم‌ثانیه شناسایی و مسدود کنند.

"کسب‌وکارهای مرسوم" با معماری‌های صرفاً دسته‌ای در مدیریت کارآمد در پایگاه‌های داده‌ موفق نبوده اند.

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

رویکرد جریان داده ها

معماری جریان داده ها مسائل مربوط به‌سرعت و کارایی را حل می‌کنند. اول سرعت مطرح است. هر جا که امکان داشته باشد آن‌ها رویدادها را بصورت آنی از منبع تا هدف و اغلب با تغییر شکل این حوادث در طول مسیر «جاری می‌سازند». و باعث همگام‌سازی پایگاه‌های داده‌ شده و اطلاعات را به صورت آنی یا نزدیک به زمان واقعی پردازش می کنند. این امر همچنین مشکل کارایی را نیز حل می‌کند. با پردازش مداوم و پردازش "تغییرات افزایش یافته" بصورت مداوم ؛ نیاز به تکرار تکثیر دسته‌ای داده‌های بدون تغییر را از بین می‌برند.

این امر قدرت پردازش و الزامات پهنای باند را به‌شدت کاهش می‌دهد. در ضمن این امکان را فراهم می سازد که سازمان‌ها را قادر نماید تا از حجم های داده بیشتری بدون تغییر زیرساخت‌ پشتیبانی کنند. شکل 2 معماری جریان داده های نمونه را در سطح مفهومی نشان می‌دهد.

شکل 2. معماری جریان داده ها
شکل 2. معماری جریان داده ها

مزایای کسب‌وکار معماری جریان داده‌ها

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

تصمیم‌گیری بلادرنگ.

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

در ضمن دانشمندان داده و تحلیلگران داده‌ از تحلیل‌های جریانی میتوانند به لایه‌های جدید از شناخت برسند و در حل مشکل یک کسب و کار استفاده ‌کنند. مثلاً تحلیل‌گر یک کمپانی خرده‌فروشی از نتایج کمپین خود جهت بهبود پیش‌ بینی و راهبرد خود در ماه یا فصل و سال آتی استفاده ‌کند.

موارد کاربردی تحلیلی جدید.

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

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

کاهش TCO. معماری‌ جریان سازی آنی داده‌ها، به‌جای پردازش دسته ای داده‌های قدیمی؛ با پردازش یک‌باره داده‌های رویداد؛ الزامات افزایش تدریجی CPU و در پی آن هزینه را کاهش می‌دهند. ضمناً این کار الزامات پهنای باند جهت یکپارچه‌سازی داده‌ها را کاهش می‌دهد. مخصوصاً انتقال جریان‌سازی داده‌ها از یک منبع درون‌سازمانی از طریق شبکه گسترده (WAN) به یک هدف ابری این کار را مقرون‌به‌صرفه میکند.

مزایای فنی معماری جریان سازی داده‌ها

تیم های داده می توانند جهت اجرای راحت‌تر پروژه‌ها و تأمین الزامات سطح خدمات (SLAها) از جریان سازی رویداد استفاده کنند. آن‌ها می‌توانند منابع داده را اضافه کنند؛ حجم داده‌های رو به افزایش را جذب کنند و بدون افزودن زیرساخت‌ها زمان پاسخ برنامه را بهبود بخشند.

مقیاس‌پذیری.

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

افزایش راندمان عملکرد برنامه های کاربردی.

جریان بلادرنگ داده‌ها زمان پاسخ برنامه های کاربردی را کاهش می‌دهد؛ بار کاری عملیاتی یا تحلیلی را سرعت می‌بخشد. مثلاً یک شرکت بیمه قادر است سوابق معاملاتی را به‌ منظور رسیدگی به مطالبات با زمان تأخیر نزدیک به صفر همگام‌سازی کرده و به‌سرعت به مشتریان کمک کند. یک خرده‌فروش آنلاین قادر خواهد بود جهت تأیید و به روزرسانی وضعیت حمل و نقل تحویل خودکار در صورت تقاضای مشتری از یک ربات نرم‌افزاری استفاده کند.

سادگی.

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

چالش‌های پیش رو در معماری جریان سازی داده‌ها

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

سردرگمی راهبردی. تیم های تحلیل تجاری و داده‌ای موارد کاربرد جریان سازی را به‌طور ناصحیح ارزیابی می‌کنند. تحلیلگران و دانشمندان داده‌ که تحلیل‌های بلادرنگ را به‌عنوان یک "درمان جامع" می‌دانند؛ تمرکز خود را بر سایر اطلاعات از دست می‌دهند.

مثلاً تعمیر و نگهداری پیشگیرانه بلادرنگ نباید جایگزین عیب ‌یابی ریشه‌ای علت شود.

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

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

پیچیدگی. تیم های داده بیشتر اوقات با عدم خودکارسازی درگیر می‌باشند.چون زیرساخت‌های درون‌سازمانی نیاز به پایش و تنظیم دقیق جهت پاسخگویی به SLA های دقیق را دارد.

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

رویکرد و روندهای بازار - معماری جریان داده‌ها

رویکرد و روند سازمان‌ها؛ معماری جریان سازی داده‌ها به‌عنوان بخشی از تحول گسترده‌تر در راهبرد داده‌های خود میباشد.

روند تطبیقی

حال قصد داریم رایج‌ترین روند تطبیقی را بررسی کنیم.

خودکارسازی خط لوله (انتقال) داده‌ها. تیم های داده؛ خطوط انتقال داده را جهت اتصال به نقاط انتهایی مختلف ایجاد ‌می کنند تا با بهره‌گیری از ابزارهای خودکار در این معماری با یک رابط گرافیکی جایگزین شود. این ابزار کاربران را قادر می‌سازد تا خودشان کار را انجام دهند به‌جای اینکه منتظر توسعه ‌دهندگانی بمانند که مشغله کاری زیادی دارند. آن‌ها خطوط انتقال جریان داده‌های جدید را سریع‌تر، راحت‌تر و مقرون‌ به ‌صرفه تر ایجاد می‌کنند.

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

اپ های تلفن‌های هوشمند. انتظارات از تحلیل طی ده سال گذشته به‌طور قابل توجهی تغییر کرده است.

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

مدل‌های یادگیری ماشین (ML). شرکت‌های مختلفی مدل‌های ML را ساخته، آموزش داده و گسترش می‌دهند؛ اینها از الگوهای داده‌ها یاد می گیرند و با آن‌ها سازگار می‌شوند. ML ابداعات و ابتکارات تحلیلی موجود را ارتقا داده و نیز موارد کاربردی جدید را معرفی می نماید و به ‌منظور تولید دقیق‌ترین نتایج به حجم بالایی از داده‌ها باکیفیت بالا نیاز دارند. این امر نیاز به پردازش حجم زیادی از داده به صورت کارآمد، آنی و/یا کم تأخیر دارد که با معماری جریان داده ها تحقق می یابد.




پلتفرم داینامیک استریم کردن داده‌ها – اینگرو www.ingrow.co