معرفی ابزار Apache Flink

آپاچی فلینک نسل 4 عظیم‌ داده است که به عنوان  4G of Big Data شناخته می‌شود. پروژه آپاچی فلینک هم‌راستا با Spark Streaming بوده و در تحقیقات و تبلیغات بر هماهنگی پردازش دسته‌ای و جریانی در یک سیستم تأکید شده است و تضمین «تنها یک‌بار پردازش» برای مدل برنامه‌نویسی جریانی و API قابل قیاس با Trident را ارائه می‌دهد. در ابتدا، فلینک با نام  Stratosphere شناخته می‌شد، اما در دسامبر ۲۰۱۴ با نام Flink معرفی و از سال 2015  قابل دسترس شد.

برخلاف اسپارک استریمینگ، فلینک به صورت بنیادی یک پردازشگر جریانی بوده و بر پردازش دسته‌ای تکیه ندارد. در کنار APIهای دسته‌ای و APIهای جریانی، فلینک  APIهایی برای پردازش گراف، پردازش رویدادهای پیچیده (Complex Event Processing)  و SQL ارائه می‌دهد و قادر به اجرای توپولوژی استورم می‌باشد. اسپارک استریمینگ قادر است که با بهره گیری از یک سیستم مدیریت منابع مانند YARN یا Mesos یا به صورت مستقل(standalone)  بر روی کامپیوترها مستقر شود.

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

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

فلینک هم مانند Spark Streaming به طور مؤثری پردازش دسته‌ای و جریانی را کنار هم (البته از جهات متفاوت) قرار می‌دهد، و APIهای سطح بالا، تضمین پردازش«دقیقا یک‌بار» و مجموعه‌ای از کتابخانه‌های مفید را ارائه می‌دهد که همگی می‌توانند پیچیدگی‌های توسعه نرم‌افزار را به شدت کاهش دهند.

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

اجزای اکوسیستم فلینک
اجزای اکوسیستم فلینک


http://www.bdbanalytics.ir

@BigData_BusinessAnalytics