۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

۳ مورد استفاده پویا برای Apache Flink و پردازش جریان

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

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

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

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

Apache Flink واقعی استاندارد برای برنامه‌های پردازش جریانی. اغلب در ارتباط با آپاچی کافکا استفاده می شود، اما Flink یک موتور پردازش جریان مستقل است که می تواند به طور مستقل مستقر شود. بسیاری از مشکلات سخت مرتبط با پردازش جریان توزیع شده، مانند تحمل خطا، تحویل دقیقا یک بار، توان عملیاتی بالا و تأخیر کم را حل می کند. به همین دلیل است که شرکت‌هایی مانند Uber و Netflix از Flink برای برخی از نیازهای داده‌ای بی‌درنگ خود استفاده می‌کنند.

وقتی در مورد موارد استفاده پردازش جریانی فکر می کنیم، می توانیم آنها را به سه دسته دسته بندی کنیم که با مثال های زیر بررسی خواهیم کرد:

  1. برنامه های مبتنی بر رویداد
  2. تجزیه و تحلیل بیدرنگ
  3. خطوط انتقال جریان داده

برنامه های رویداد محور

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

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

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

تحلیل در زمان واقعی

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

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

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

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

خط لوله داده جریانی

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

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

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

واکنش به دنیا در زمان واقعی

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

ژان سباستین برونر مدیر مدیریت محصول در Confluent است.

انجمن فناوری جدید مکانی را برای رهبران فناوری – از جمله فروشندگان و سایر مشارکت‌کنندگان خارجی – فراهم می‌کند تا فناوری سازمانی نوظهور را در عمق و وسعت بی‌سابقه بررسی و بحث کنند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه پرس و جوها را به doug_dineley@foundryco.com.