۲.۲ مقدمه ای بر نظریه CAP

دوره آموزش هادوپ سید محمدامین ساجدی

در این ویدئو مقدمه ای اجمالی درباره نظریه CAP خواهیم داشت. این ویدئو قسمتی از ویدئوهای دوره اموزشی Hadoop Fundamentals از لیندا هست که توسط خودم ترجمه و دوبله شده.

مشاهده ویدئو:


متن ویدئو جهت استفاده:

درصورت وجود اشتباه تایپی پیشاپیش از شما عذرخواهی می کنم.

برای اینکه بیشتر و بهتر درباره اکوسیستم هادوپ بدونید، میخوام درباره نظریه CAP براتون صحبت کنم. حتما دراین باره توی دوره های پایگاه داده ای که داشتین خوندین و می دونین که راه خوبی برای تقسیم بندی پایگاه داده های مختلف بحساب میاد. 00:16

اولین بعد در این نظریه مبحث Consistency یا یکنواختی و ثبات هست. و این یعنی اینکه راه حل های مختلفی برای یکنواخت نگه داشتن پایگاه داده ها وجود داره. این راه حل از از تراکنش ها پشتیبانی می کنن. 00:32

یه مثال از تراکنش میتونه این باشه که شما مثلا دوتا عملیات متفاوت دارید و می خواین اون ها رو باهم بصورت متحد انجام بدید. تراکنش برای شما این دو عملیات رو ترکیب می کنه. مثلا میخواین یه تراکنش بانکی انجام بدید. یک مرحله برداشت پول دارید و یک مرحله انتقال پول که هردو مراحلی جدا از هم هستند. یا این دو مرحله باید انجام بشن و یا هم نباید انجام بشن. با انجام تراکنش از این موضوع مطمئن میشین که دو عملیات درست انجام شدن. تعدادی از پایگاه داده ها جنبه یکنواختی و ثبات داده ها در پایگاه داده رو بخوبی پشتیبانی می کنن. 00:56

بعد دوم این نظریه Availability یا در دسترس بودن پایگاه داده هست. بطور واضح تر یعنی مدت زمان برقرار بودن پایگاه داده یا همون up time 1:01

این یعنی اینکه داده های شما توی قسمت های مختلف نسخه برداری میشن و اگر قسمتی دچار مشکل شد از جای دیگه داده ها برداشت میشن. 1:16

اخرین بعد این نظریه هم partitioning یا پارتیشن بندی هست. پارتیشن بندی همون گسترش پذیری بحساب میاد. یعنی اینکه شما می تونید پردازش ها و داده های خودتون رو روی چندین ماشین مختلف قرار بدین. و به راحتی حجم داده هایی که با اونها کار می کنید افزایش بدید. RDBMS های قدیمی معمولا دو جنبه اول یعنی consistency و availability رو پوشش میدن و در سطوح خیلی بالا ممکنه بتونن partitioning رو همراهی کنن. اما این نظریه می گه پایگاه داده ها فقط نیاز دارن که حداقل دوتا از این جنبه ها رو پوشش بدن. اینجاست که هادوپ وارد کار میشه. بحث دنیای داده های امروز حجم بالا و پردازش اون هاست. هادوپ با پشتیبانی بالا از  بحث در دسترس بودن و پارتیشن بندی کار ذخیره سازی، دسترسی و پردازش داده های با این حجم بالای سازمان ها رو راحت تر کرده. 2:16

خب حالا شاید یپرسید که هادوپ توی کدوم زمینه خوب عمل می کنه و یا اصلا برای کدوم جنبه ساخته شده؟ قبلا هم گفتم، هادوپ برای بحث گسترش پذیری توسعه داده شده. خب حالا ببینیم که این پارتیشن بندی که دربارش گفتیم توی هادوپ چطور عمل میکنه. اول از همه باید بگم که هادوپ رو بر روی سخت افزارهای ارزون قیمت و عادی پیاده سازی می کنن. سرورهای قدیمی، ارزون و سرورهایی که همیشه همه جا می بینین. 2:47

پس به راحتی می تونید بر روی سرورهای معمولی خودتون اقدام به راه اندازی هادوپ کنید. پارتیشن بندی رو از این جهت رعایت می کنه که بطور پسش فرض از هر فایل 3 نسخه کپی نگهداری می کنه. یعنی اگر به هردلیلی فایل های موجود روی یک سرور شما دچار مشکل بشن یا اصلا سرور شما نیاز به تعویض داشته باشه، به راحتی می تونین اون سرور رو از دور خارج کنید و یه سرور جدید بزارین و خود HDFS عملیات کپی رو برای شما انجام میده. 3:11

این موضوع به بحث availability هادوپ برمی گرده. بخاطر استفاده از سخت افزارهای رایج و ارزون قیمت، بطور بی نهایت می تونید کلاسترهای هادوپ خودتون رو گسترش بدید. اگر بدونید که HDFS از کجا میاد تعجب می کنید. این سیستم توسط مهندسای گوگل برای ایندکس کردن تمام اینترنت طراحی شده بود. و دونستن این هم که امروزه چه شرکت هایی دارن از هادوپ استفاده می کنن هم بد نیست. 3:45

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


دیگر سرفصل های دوره آموزشی هادوپ

1 مقدمه
2 چرا از پایگاه داده های رابطه ای دور شویم؟
3 هادوپ چیست؟
4 درک اجزای اساسی هادوپ
5 راه اندازی محیط توسعه هادوپ
6 درک MapReduce
7 پیکربندی MapReduce
8 درک MapReduce 2.0 YARN
9 درک Hive
10 درک Pig
11 شناخت روند کار و متصل کننده ها
12 دیگر کتابخانه های هادوپ
13 شناخت Spark
14 بصری سازی خروجی هادوپ به همراه ابزارها
15 نتیجه گیری