معماري لامبدا
تولید بی وقفه داده ها در دنیاي امروز، نیاز به پایش لحظه اي و سریع اطلاعات در کنار ذخیره آنها براي پردازش هاي تحلیلی، ما را به سمت ساختاري هدایت می کند که بتواند هر دو وجه از این نیازمندي یعنی پردازش جریان هاي داده به صورت لحظه اي و بدون تاخیر و پردازش هاي انبوه و زمان مند را پاسخگو باشد. توییتر مثال خوبی از معماري لامبدا است. در این معماري داده ها به دو مسیر تقسیم می شوند. گروهی از داده ها به منظور تغذیه لایه سرعت به منظور ارائه بینش سریع مورد استفاده قرار می گیرند، در حالی که گروه دیگري از داده ها به لایه سرویس دهی انتقال داده می شوند. در این معماري، داده هاي جریانی واردشونده به سیستم به منظور تغذیه دولایه batch و speed مورد استفاده قرار می گیرند. معماري لامبدا دقیقاً با همین پیش زمینه توسط Marz Nathan از متخصصین داده شرکت توئیتر پیشنهاد شد. شکل زیر ساختار این معماري سه لایه را نشان می دهد.
لایه پردازش زمان مند(یا پردازش انبوه – Layer Batch (که بسته به نیاز کاربربه صورت موردي ویا در زمان هاي مشخص اقدام به پردازش انبوه داده هاي ذخیره شده کرده و نتایج مورد نظر کاربر را تولید می کند. استخراج آمار روزانه خرید و فروش یا اجراي یک جستجوي خاص بر روي داده ها از جمله موارد کاربرد این لایه است. لایه پردازش سریع (Layer Speed : (تمام پردازش هایی که باید به صورت لحظه اي روي داده ها صورت بگیرند، در این لایه پیاده سازي میشوند. محاسبه آمار لحظهاي یک سایت، پیشنهاد سریع یک مطلب جدید به کاربر بر اساس سابقه و سلایق او، بررسی خطاهاي رخداده در سرورها و اتخاذ تصمیم مناسب از جمله مثال هایی است که می توان براي کاربردهاي لایه پردازش سریع زد. لایه کاربست و کاربرد (Layer Serving : (این لایه، وظیفه سرویس دهی به کاربر، اجراي پرس و جوهاي مختلف (کوئري) و آماده سازي داده در شکل هاي مورد نیاز او را برعهده دارد. داده هایی که در دولایه پردازش سریع و پردازش زمان مند قبلاً ذخیره شده اند، توسط سرویس هایی که در این لایه ایجاد می شوند، در اختیار کاربران مختلف که هرکدام قالب و شکل خاصی از داده ها و گزارشات را نیاز دارند، قرار می گیرد. این سه لایه، حداقل نیازمندي هایی است که یک سامانه پردازش اطلاعات باید داشته باشد. در ادامه سایر مولفه هایی که می تواند باعث بهبود این این چارچوب و تطبیق بیشتر آن با دنیاي معاصر باشد را معرفی خواهیم کرد.
معماري کاپا
مینتون می گوید: «مدل فوق به یک سازمان اجازه می دهد به هر دو رویکرد بینش جریانی و انبوه دسترسی پیدا کند و در نتیجه میان استریم ها تعادل برقرار می کند. چالشی که در ارتباط با این معماري وجود دارد این است که شما هم زمان دو نوع کدنویسی و دو برنامه را باید مدیریت کنید.» معماري کاپا همه چیز را در قالب یک جریان نشان می دهد، اما جریانی است که هدفش حفظ اعتبار داده ها و ارائه پردازش بی درنگ است (شکل 2). همه داده ها به یک ورودي تغییرناپذیر نوشته می شوند و در ادامه تغییرات با این داده هاي تغییرناپذیر مورد ارزیابی قرار می گیرند. این رویکرد مؤثر است، به واسطه آنکه به کدنویسی کمتري احتیاج دارد و همچنین مدلی را ارائه می کند که به اعتقاد مینتون براي سازمانی که تازه کار خود را با بزرگ داده ها آغاز کرده مناسب است. در حقیقت شکل خلاصه شده اي از معماري لامبدا با حذف لایه پردازش زمان مند به وجود آمده است که به معماري کاپامعروف شده است. در این ساختار براي ساده تر شدن مدیریت سامانه و عدم نیاز به دو بخش جداگانه پردازشی، تمام پردازش ها در لایه پردازش سریع انجام می گیرد و هرکاري که قرار است روي داده ورودي انجام شود، به صورت لحظه اي و بلادرنگ صورت خواهد پذیرفت. در نتیجه، معماري کاپا تنها در کاربردهایی به عنوان جایگزین لامدا مطرح می شود، که نیازي به زمان نگهداري نامحدود نباشد و یا اجازه متراکم کردن مؤثر وجود داشته باشد (به عنوان مثال، زمانی که منطقی است تنها جدیدترین مقدار براي هر کلید و یا موجودیت در برنامه نگه داري شود).
اگر در آینده و بخاطر تغییر در منطق سازمانی و قوانین، نیاز به پردازش جدیدي روي داده ها باشد، این کار به صورت جداگانه و موردي انجام خواهدشد.
براي نیل به این هدف، معماري Kappa بر چهار اصل استوار است :
1 .هرچیزي، یک جریان است: با این اصل، پردازش زمان مند و انبوه هم جزئی از سامانه پردازش جریان قرار می گیرد با این تفاوت که داده هاي زمان مند و غیر لحظه اي، جریانهاي موردي تولید خواهند کرد که نیاز به پردازش دارد.
2 .تمام داده ها به صورت پایدار ذخیره می شوند: این اصل، تضمین می کند که داده اي از دست نمی رود و می توان در صورت نیاز، تمام محاسبات را از ابتدا بر روي داده ها انجام داد.
3 .تنها یک چارچوب براي پردازش مورد نیاز است: با توجه به اصل ساده سازي امور (KISS)، در این معماري تنها یک سامانه پردازشی خواهیم داشت که مدیریت و توسعه آن بسیار ساده تر است.
4 .تکرارپذیري عملیات پردازش داده : محاسبات و نتایج می تواند با ورود داده هاي جدید و ترکیب آنها با داده هاي قبلی، به روز شود.
با این وجود، این معماري بیشتر براي کابردهایی مناسب است که منطق سازمانی حاکم بر آنها کاملاً مشخص و تقریباً بدون تغییر است. مثلاً براي بررسی و پردازش خطاهاي نرم افزار و همچنین پایش وضعیت سرورها، می توان از این معماري استفاده کرد چون غالب تصمیمات باید در لحظه گرفته شود و آمار مورد نیاز هم در همان حین دریافت اطلاعات قابل استخراج و ذخیره سازي است. با این توضیح، معماري کاپا محدودیت بیشتري دارد و شکل خلاصه شده اي از معماري لامبدا است و براي سامانه هاي عمومی اطلاعاتی، معماري لامبدا که جامع تر بوده و امکان استفاده از ابزارهاي بیشتري را فراهم می کند، ترجیح داده می شود. معماري پیشنهادي براي پایش شبکه هاي اجتماعی هم بر این معماري، متکی خواهد بود.
___________________________________________________________________________________
منبع : bigdata-ir.com