خانه --> داده های حجیم (کلان داده) --> معماری لامبدا در مقابل معماری کاپا برای بیگ دیتا

معماری لامبدا در مقابل معماری کاپا برای بیگ دیتا

معماری لامبدا

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

توییتر مثال خوبی از معماری لامبدا است. در این معماری داده‌ها به دو مسیر تقسیم می‌شوند. گروهی از داده‌ها به‌منظور تغذیه لایه سرعت به‌منظور ارائه بینش سریع مورد استفاده قرار می‌گیرند، در حالی که گروه دیگری از داده‌ها به لایه‌ سرویس‌دهی انتقال داده می‌شوند. در این معماری، داده‌های جریانی واردشونده به سیستم به‌منظور تغذیه دولایه batch و speed مورد استفاده قرار می‌گیرند. معماری لامبدا دقیقاً با همین پیش­‌زمینه توسط Nathan Marz از متخصصین داده شرکت توئیتر پیشنهاد شد. شکل زیر ساختار این معماری سه لایه را نشان می­دهد.

معماری لامبدا
معماری لامبدا
معماری لامبدا با محصولات آپاچی
معماری لامبدا با محصولات آپاچی
معماری لامبدا با محصولات آپاچی
معماری لامبدا با محصولات آپاچی
  • لایه پردازش زمان­مند(یا پردازش انبوه – Batch Layer) که بسته به نیاز کاربربه صورت موردی ویا در زمان های مشخص اقدام به پردازش انبوه داده­ های ذخیره شده کرده و نتایج مورد نظر کاربر را تولید می­کند. استخراج آمار روزانه خرید و فروش یا اجرای یک جستجوی خاص بر روی داده­ ها از جمله موارد کاربرد این لایه است.
  • لایه پردازش سریع (Speed Layer) : تمام پردازش ­هایی که باید به صورت لحظه­ ای روی داده ­ها صورت بگیرند، در این لایه پیاده سازی می­شوند. محاسبه آمار لحظه ­ای یک سایت، پیشنهاد سریع یک مطلب جدید به کاربر بر اساس سابقه و سلایق او، بررسی خطاهای رخداده در سرورها و اتخاذ تصمیم مناسب از جمله مثال­هایی است که می­توان برای کاربردهای لایه پردازش سریع زد.
  •  لایه کاربست و کاربرد (Serving Layer) :   این لایه، وظیفه سرویس دهی به کاربر، اجرای پرس و جوهای مختلف (کوئری) و آماده ­سازی داده در شکل­ های مورد نیاز او را برعهده دارد. داده ­هایی که در دولایه پردازش سریع و پردازش زمان­مند قبلاً ذخیره شده­ اند، توسط سرویس­هایی که در این لایه ایجاد می­شوند، در اختیار کاربران مختلف که هرکدام قالب و شکل خاصی از داده­ ها و گزارشات را نیاز دارند، قرار می­گیرد.

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

 

معماری کاپا

مینتون می‌گوید: «مدل فوق به یک سازمان اجازه می‌دهد به هر دو رویکرد بینش جریانی و انبوه دسترسی پیدا کند و در نتیجه میان استریم‌ها تعادل برقرار می‌کند. چالشی که در ارتباط با این معماری وجود دارد این است که شما هم‌زمان دو نوع کدنویسی و دو برنامه را باید مدیریت کنید.» معماری کاپا همه چیز را در قالب یک جریان نشان می‌دهد، اما جریانی است که هدفش حفظ اعتبار داده‌ها و ارائه پردازش‌ بی‌درنگ است (شکل ۲). همه داده‌ها به یک ورودی تغییرناپذیر نوشته می‌شوند و در ادامه تغییرات با این داده‌های تغییرناپذیر مورد ارزیابی قرار می‌گیرند. این رویکرد مؤثر است، به‌واسطه آنکه به کدنویسی کمتری احتیاج دارد و همچنین مدلی را ارائه می‌کند که به اعتقاد مینتون برای سازمانی که تازه کار خود را با بزرگ داده‌ها آغاز کرده مناسب است.

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

معماری کاپا
معماری کاپا

اگر در آینده و بخاطر تغییر در منطق سازمانی و قوانین، نیاز به پردازش جدیدی روی داده ­ها باشد، این کار به صورت جداگانه و موردی انجام خواهد شد.

برای نیل به این هدف، معماری Kappa بر چهار اصل استوار است  :

  1. هرچیزی، یک جریان است: با این اصل، پردازش زمان­مند و انبوه هم جزئی از سامانه پردازش جریان قرار می­گیرد با این تفاوت که داده ­های زمان­مند و غیر لحظه­ ای، جریان ­های موردی تولید خواهند کرد که نیاز به پردازش دارد.
  2. تمام داده ­ها به صورت پایدار ذخیره می­شوند: این اصل، تضمین می­کند که داده­ ای از دست نمی­رود و می توان در صورت نیاز، تمام محاسبات را از ابتدا بر روی داده­ ها انجام داد.
  3. تنها یک چارچوب برای پردازش مورد نیاز است: با توجه به اصل ساده‌­سازی امور (KISS)، در این معماری تنها یک سامانه پردازشی خواهیم داشت که مدیریت و توسعه آن بسیار ساده تر است.
  4. تکرارپذیری عملیات پردازش داده : محاسبات و نتایج می­تواند با ورود داده­‌های جدید و ترکیب آنها با داده‌های قبلی، به‌­روز شود.

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

شکل توسعه یافته معماری کاپا
شکل توسعه یافته معماری کاپا

منابع:

https://www.oreilly.com/ideas/applying-the-kappa-architecture-in-the-telco-industry

https://www.shabakeh-mag.com/cover-story/10793/%D8%B4%D8%B4-%D9%BE%D8%B1%D8%B3%D8%B4%DB%8C-%DA%A9%D9%87-%D9%87%D8%B1-%DA%A9%D8%B3%D8%A8-%E2%80%8C%D9%88-%DA%A9%D8%A7%D8%B1%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%D8%A8%D8%B2%D8%B1%DA%AF-%D8%AF%D8%A7%D8%AF%D9%87%E2%80%8C%D9%87%D8%A7-%D9%85%D8%B7%D8%B1%D8%AD-%DA%A9%D9%86%D8%AF

www.bigdata.ir.

http://datastack.ir/big-data/%D9%8Fstreaming-data/%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D8%AF%D8%A7%D8%AF%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C-%D8%AC%D8%B1%DB%8C%D8%A7%D9%86%DB%8C-%D8%AF%D8%B1-%D9%85%D8%AD%DB%8C%D8%B7%E2%80%8C%D9%87%D8%A7%DB%8C-%DA%A9/.

آدرس کانال تلگرام سایت بیگ دیتا:

t.me/bigdata_channel

آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *