Big Data Management In Cloud Computing: Software And Technology

9
تکنولوژیرها و نرم افزایریت داده های مد های بزرگ در محیط محاسبات ابریBig Data Management In Cloud Computing: Software And Technology 2 ،مصطفی حقجو1* بی حمیدرضا حبی1 کارشناسی دانشجوی کامپیوتر ارشد مهندسی- م افزار نر، ل قشممل مرکز بین النشگاه پیام نور دال کیشمل مرکز بین النشگاه پیام نورم افزار، دا نر- کامپیوتر مهندسیگروهنشیار دا2 چکیدهافزونش روزجه به افزایش و گستر با توعاتی مثل اط دادهیستگاهی ا هااسی، سامانهی هواشن های، امواج رادیوی هایت شبکه مباد، نمایهترنتید اینسنان و این، متوجتماعی آنی ا ها های جستترنتی، داده اینجوهای و های نجوم، پروندهعات سامانهران، اط بیما پزشکی هایز فروشگاه خرید ا های ها، پژوهش زمین های شناس و غیره ی، داده های ی در مقیاس بزرگ آمده بوجود اند. داده هاکل چشم شوند به ش پردازش که باید متنوعی یل افزایشی در حا گیر هستند. در واقعBig Data واژهجموع ای است برای م ه ای از ست داده مدیریترهای ابزاده ازستفا، که ا بسیار بزرگ و پیچیده هایه داده پایگا های در دست و یا برنامه پردازش داده، برای پردازش آن سنتیبردی های کار هاارندر دشواری د کار بسیا. چالشمل استخراج، ها شا گزینش ، ذخیرهز و بصری، آنالینتقالستجو، اشتراک، ا سازی، جست. در سالزی ا سا2112 ، یت اندازه ستود محد داده هاار داشت.بایت قر، میلیون ترابایتش معقول بر اگزان پرداز با زماا داده جدید های بزرگز سوی مکاندی را ا توجه زیا مقاله چندفت کرده است. این دریاز دولتی و نیک، صنعتی آکادمی های یننیک پردازش تک داده های بزرگیریت دادهیدگاه مد. اول، از دهدح می د را توضی هاییستم بزرگ، س فابه، داده ل توزیع شد غیر های ساخته و نیمه ساخت یافته، پلت فرم ابری یافت کد بازنه سازی و بهیدی کلیرهای ، نرم افزا وین همچنمه چارچوب در ادای پردازش موازی کارMapReduce پس ، سکرد روش کارMapReduce ، Hadoop وHadoopDB ان می را بی کنیم.قاتی تحقیرهای مسینجام سراا بر پردازش داده آینده ریکنیم.رسی منش ابری بریا بزرگ در محیط را هایر واقع هدف د فعالیتن مقاله معرفی ای ها، نرم تکنولوژیرها و افزا داده باخورد بروین در های ننکه زمینهد به ای امیست بای بزرگ ا هاجو آمدن ایده ساز به وان باشد.ای تازه در مخاطب هدی: کلمات کلی داده های بزرگ، نش ابرییا را، یریت داده مد، توزیع شده محاسبات، MapReduce ، Hadoop ، HadoopDB

Transcript of Big Data Management In Cloud Computing: Software And Technology

ابری محاسبات در محیط های بزرگهای مدیریت دادهنرم افزارها و تکنولوژی

Big Data Management In Cloud Computing: Software And Technology

حمیدرضا حبیبی*1،مصطفی حقجو2

دانشگاه پیام نور مرکز بین الملل قشم ،نرم افزار -ارشد مهندسی کامپیوتر دانشجوی کارشناسی1

2دانشیارگروه مهندسی کامپیوتر- نرم افزار، دانشگاه پیام نور مرکز بین الملل کیش

چکیده

های امواج رادیویی، های هواشناسی، سامانههای ایستگاهداده اطالعاتی مثلبا توجه به افزایش و گسترش روزافزون

های نجوم، وجوهای اینترنتی، دادههای جستهای اجتماعی آنالین، متون و اسناد اینترنتی، نمایهمبادالت شبکه

در ییهاداده ،ی و غیرهشناسهای زمینها، پژوهشهای خرید از فروشگاههای پزشکی بیماران، اطالعات سامانهپرونده

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

های بسیار بزرگ و پیچیده، که استفاده از ابزارهای مدیریت دادهاز ست ایهای است برای مجموعواژه Big Dataواقع

. کار بسیار دشواری دارندها های کاربردی سنتی پردازش داده، برای پردازش آنو یا برنامه دستدر هایپایگاه داده

، 2112سازی است. در سال سازی، جستجو، اشتراک، انتقال، آنالیز و بصری ، ذخیره گزینشها شامل استخراج، چالش

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

تکنیک پردازش ینهای آکادمیک، صنعتی و نیز دولتی دریافت کرده است. این مقاله چندتوجه زیادی را از سوی مکان

های غیر ل توزیع شده، دادهفاب بزرگ، سیستمهای را توضیح می دهد. اول، از دیدگاه مدیریت داده های بزرگداده

در ادامه چارچوب همچنین و ، نرم افزارهای کلیدی و بهینه سازیکد باز یافته، پلت فرم ابرییافته و نیمه ساختساخت

کنیم. را بیان می HadoopDBو MapReduce ،Hadoop روش کارکرد، سپس MapReduceکاری پردازش موازی

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

های بزرگ است با امید به اینکه زمینه های نوین در برخورد با دادهافزارها و تکنولوژیها، نرماین مقاله معرفی فعالیت

های تازه در مخاطبان باشد.ساز به وجو آمدن ایده

MapReduce ، Hadoop ،HadoopDB،محاسبات توزیع شده ،مدیریت داده ،رایانش ابری ،های بزرگداده کلمات کلیدی:

مقدمه -1

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

معموال 1Dzeroاند. مثال آزمایشات فیزیکی مدرن با انرژی باال، مانندها هم قابل درک تر شدهاند بلکه برای کامپیوتردر دسترس شده

211اربر فعال، بیش از کمیلیون 172حدود یک میلیارد کاربر، Twitterیا یکنند. بیشتر از یک ترابایت داده در هر روز تولید م

میلیارد بازدید 074فیسبوک، با سروری با سایت مشهور شبکه اجتماعیتوییت در ثانیه دارد. 1444و حدود میلیارد توییت درسال

فرستد. جستجو و تجارت گوگل، فیسبوک، میلیارد کاربرد پیام می 10میلیارد عکس جدید را هر ماه ذخیره میکند و به 3از صفحات،

گیری ها و تصمیمکه نیاز به مقادیر وسیعی از داده ند هوش مصنوعی استفاده میکندترف وب و لینکدین از نرم افزارهاییفلیکر، یوت

برای همگان را و شبکه CPUافزاری، های داده کاوی مالتی مدیا، رسیدن به این هدف را با حداقل تالش نرمفوری دارند. پلتفرم

، برای اولین بار بزرگ هایتوسعه و تحقیق تحقیقات داده ، دولت آمریکا اعالم کرد که ابتکار1421مارس 12راحت کرده است. در

بزرگ منابع مهمی برای حمایت از این هایهای دادهچالش برای رفعها نشان دادند که . همه این مثال2خط مشی جهانی است

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

اند های محاسباتی را توسط منابع مجتمع در نظر گرفتههای جاری مثل شبکه توری و محاسبات ابری مقدار زیادی از قدرتتکنولوژی

ها، محاسبات ابری برای انجام محاسبات پیچیده در مقیاس باال در میان این تکنولوژی و یک سیستم با مشخصات واحد ارائه کرده اند.

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

های های بزرگی مثل داده هایی در مقیاس عظیم، دادهها ارائه محاسباتی به عنوان راه حل مقابله با دادهیک هدف مهم این تکنولوژی

است، که در زمینه ارائه خدمات آمریکایی مشاورهو پژوهشی شرکت Gartner باشد.می های چند بعدیای و ست دادهچند رسانه

های بزرگ و محاسبات ابری به نماید. از نظر این شرکت دادهفعالیت می مشاوره فناوری اطالعاتو پژوهشو تحقیق، سپاریبرون

. محاسبات ابری به عنوان نمونه جدیدی برای ارائه 3اندکه بیشترین سرعت رشد را داشتهاند هایی معرفی شدهعنوان تکنولوژی

های عالوه بر این بعضی از تکنولوژی مرتبط شده است.های بزرگ برای انواع منابع های محاسباتی و روش پردازش دادهزیرساخت

باشد.شکل میهای بزرگ برای پردازش همزمان بسیار ممبتنی بر ابر باید تایید و تصویب بشوند چرا که مقابله با داده

های پیشرفت"های بزرگ اینگونه معرفی شدداده 1442های علمی منتشر شده سال های بزرگ چه هستند؟ در ژورنالداده

های جاری، ای فراتر از توانایی تکنولوژیهایی است با اندازهدهد که معموال شامل ست دادهفرآیندهای شناختی انسان را نشان می

های نیز داده Gartner. این اواخر [1]"ها در مدت زمان سپری شده قابل تحملبط، مدیریت و پردازش دادههای ضها و تئوریروش

های پردازشی که به فرماد و تنوع بسیار زیاد یهایی با حجم بسیار زیاد، سرعت بسیار زداده"بزرگ را اینگونه معرفی کرده است

بر طبق"سازی پردازش را افزایش دهد.که قدرت تصمیم گیری، بینش کشف و بهینه جدیدی نیاز دارند که توانایی این را داشته باشد

پیچیده هستند که پردازش و های بسیار بزرگ ای از ست دادههای بزرگ مجموعهدر تکنولوژی اطالعات، داده"Wikipediaتعریف

.4"باشدهای دردست مشکل میآنها با استفاده از ابزارهای مدیریت داده

امید به اینکه زمینه ساز به وجو آمدن با باشدهای بزرگ میهای مدیریت دادهمعرفی نرم افزارها و تکنولوژیمقاله ن هدف ای

ل توزیع شده، بزرگ، سیستم فابهای مدیریت دادهدر مورد و . ما روشهای عمده را بررسی های تازه در مخاطبان باشدایده

وبحث کرده ، نرم افزارهای کلیدی و بهینه سازیکد باز یافته، پلت فرم ابرییافته و نیمه ساختهای غیر ساختداده

را HadoopDBو MapReduce ،Hadoop روش کارکرد، MapReduceدر ادامه چارچوب کاری پردازش موازی همچنین

کنیم.بیان می

http://www.do.fnal.gov1 deal-big-data-http://www.whitehouse.gov/blog/2012/03/29/big2

3http://gartner.com 4http://en.wikipedia.org/wiki/big-data

های بزرگسیستم مدیریت داده -2

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

های بزرگ خوب عمل کنند. یک سرور پایگاه داده تانسیل را ندارند که درمقابل دادههای کالسیک این پسرورهای پایگاه داده معماری

مدلهای مختلف پردازش های بزرگ هستند. به منظور هماهنگی دهمحدودیت هزینه و مقیاس دارد که اینها دو هدف مهم پردازش دا

های چند الیه کالسیک را ارائه کرد که چهار پایه مختلف معماری نرم افزارهای پایگاه داده D.Kossmann et alهای بزرگ، داده

ها و کسب و کارهای دهندگان هدف واضح است که ارائه. باشندشامل جداسازی، تکرار، کنترل توزیع شده و معماری ذخیره سازی می

مند به نرم افزارهای کوچکی است که وظایف رسد که بیشتر عالقهبه نظر می Googleمتفاوتی در نرم افزارهایشان دارند مثال

های متوسط به بزرگ دارد. اخیرا تهیه کنندگان تری را برای سرویسخدمات مقرون به صرفه Azureمشخصی دارند درحالیکه

های ترکیبی استفاده میکنند که قادر است در مورد خدمات واقعی مورد نیاز مشتریان جلب رضایت آنان های ابری از سرویسسسروی

ع شده، ذخیره های بزرگ از سه منظر کلیدی سیستم فایل توزیرا فراهم کند. در این بخش به طور عمده در مورد معماری داده

کنیم.بحث می کد بازیافته و پلت فرم ابری تساخ یافته و نیمههای غیر ساخت داده

الف: سیستم فایل توزیع شده

GFS (یا سیستم فایل گوگلGoogle File System)[2] که تحمل پذیری خطا را با یک سیستم فایل مبتنی بر تکه کردن است

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

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

HDFSو GFS. باشدمیGFS از باز کدشود که یک رونوشت نامیده می (HDFS)ها دارد که سیستم فایل توزیع شده هادوپداده

های بزرگ بهینه پیاده سازی نشده اند و به شدت برای موارد فایل POSIXای هستند که به معنی های سطح دسترسیسیستم فایل

مازون وب سرویس آیک وب سرویس ذخیره عمومی آنالین است که توسط Amazon Simple Storage Service(s3)[3]اند. شده

های سرورهای درخواستی محاسبات ابری کشسان راهدف قرار داده های روی زیرساختخوشهارائه شده است. این سیستم دسته

یک سیستم ذخیره سازی کشسان ES2[4]و کاهش هزینه تاخیر ارائه شده است.با هدف مقیاس پذیری، دسترسی باال S3است. 5opiC از منابع مختلف به طور موثر، انعطاف پذیری هابارگیری داده ،های مشابهاست که برای پشتیبانی ویژگیهای داخل حافظه

هایی نیز وجود دارند که آدرس دهی نشده بعالوه سیستم. ها، طرح جداسازی، شاخص و اسکن متوالی موازی طراحی شده استداده

Kosmos Distributed File System(KFS)یا Moose File System(MFS)اند مثل

ته و غیر ساخت یافتههای نیمه ساخت یافذخیره داده ب:

حجم مبادالت وب و ها، logهای درحال رشدی مثل جستجوی به ذخیره و تحلیل داده ITهای ، احتیاج شرکت1.4با موفقیت وب

ها معموال غیر مرتبط هستند یا داده وب اما ست. شودروز به روز بیشتر می باشد،ها که معموال در حدود پتابایت میجریان کلیک

های مربوط به خود، عالوه بر این با چالش یافته است های نیمه ساختاند و پردازش آنها شبیه ست دادهیافته ساختکمتر

و Google, Yahoo, Microsoftهایی مثل ای که در باال ذکر شدند نمیتوانند نیازهای شرکتسیستمهای توزیع شده ساده

Amazon هاید هستند که به کاربران بالقوه خود و حتی دولتهایشان توسط مدیریت دادهرا برآورده کنند. همه این کاربران هدفمن

5http://www.co,p.nus.edu.sg/epic/overview.html

که های ساختاریافتهیک سیستم ذخیره توزیع شده گوگل است برای مدیریت داده Bigtable[5]بزرگ در محیط ابری کمک کنند.

یک مدل داده رابط کامل را Bigtable.طراحی شده است برای مقیاسهای خیلی بزرگ)پتابایت( درکنار هزاران محصوالت سرور

افزارهای وب یاهو طراحی شده یک سیستم پایگاه داده میزبان عظیم است که برای هماهنگی نرم PNUTS کند.پشتیبانی نمی

توجه اصلی این سیستم روی خدمات داده برای نرم افزارهای وب است و البته پرس و جو در آن خیلی پیچیده است. روی است.

PNUTS توانند براحتی ساخته شوند و بطور کلی این نرم افزارها را ایجاد و حفظ کنند.نرم افزارهای جدید میDYNAMO سطح

رود و پایه کلید/مقدار دارد که برای پشتیبانی از نرم افزارهای داخلی آمازون به کار می ای بردسترسی باال و مقیاس پذیری توزیع شده

ها بصورت کلید/مقدار دهد اما با فرم ذخیره دادهیک کلید اصلی ساده که تنها رابطی برای دیدن تجهیزات نرم افزارها است را ارائه می

یک سیستم ذخیره داده که LIAMAرا مطرح کرد به نام cluster-basedیک سیستم مخزن داده Facebookمتفاوت است.

کند. همچنین یک فرمت ستونی جدید را برای های سطری و ستونی سیستمهای پایگاه داده را ترکیب میترکیبی است و ویژگی

Hadoop توصیف میکند کهCfile دهد. ها ارائه میهای فایل در تحلیل دادهشود و کارایی بهتری را از دیگر فرمتنامیده می

پ: پلت فرم ابری کد باز

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

دهد. ، پهنای باند شبکه را بصورت سرویس ویژه با هزینه کم ارائه CPUهای ذخیره، مثل دستگاهاجزا اصلی الزم است که بنابراین

Amazonابری روی آوردند. به معماری اتی و سرمایه گذاریهای بزرگ بیشتر موسسات تحقیقبرای رسیدن به هدف مدیریت داده

Web Service(AWS), Eucalptus, Opennebula, Cloudstackو openstack مشهورترین پلت فرمهای مدیریت ابری برای

کار با آن خیلی مجانی نیست اما در پلت فرمهای کشسان کاربرد عظیمی دارد. AWS( هستند. IaaSزیرساخت به عنوان سرویس)

از کهکندکار می IaaSبه عنوان یک کد باز در Eucalptus Theآسان می باشد و تنها با پرداخت مبلغی میشود از آن استفاده کرد.

است و با IaaSاولین پلت فرم مدیریت ابری برای Eucalptus Theکند. ماشین مجازی در کنترل و مدیریت منابع استفاده می

با Opennebulaزیست محیطی دارد. AWSارائه بازار ابری برای ای در جایگاه ویژه کی کههم سازگار هستند 6AWSقراردادهای

تواند آینده خوبی داشته باشد چراکه قابلیت انعطاف و همکاری برای ساخت ابرهای ادغام شده است که میهای مختلف محیط

طراحی نشده است و در محاسبات، (SOAیک معماری سرویس گرا )بصورت Opennebula خصوصی، عمومی و ترکیبی دارد.

یک سیستم عملیاتی ابری کدباز است که برای محاسبات ابری 7Cloudstackکند.ذخیره و اجزای مستقل شبکه ضعیف عمل می

میتوانند مزایای زیادی از محاسبات Cloudstackاما کاربران و سخت افزار خودش را دارد. کاربران ایجاد شده عمومی مثل آمازون

. در حال حاضر ه باشندداشت گسترش سریعتر توسط خدمات جدیدشان و ، محدودیت کمتر مقیاسابری را با بهره وری باالتر

Cloudstack یک پروژه کد بازApache توابع زیادی دارد اما احتیاج دارد که اتصاالت ضعیف و طراحی اجزایش را تقویت ،است

توسط محققان، open-sourceهای نرم افزاری کدباز با هدف ساختن یک انجمن ای از پروژهیک مجموعه Openstackبخشد.

پیدا کند و گذاران است. مردم در این انجمن اهداف عمومیشان را برای ایجاد یک ابری که بسادگی گسترشسرمایهدهندگان و توسعه

پیش رونده و پایدار هستند Openstackگذارند. معماری و تجهیزات های غنی باشد به اشتراک میدر مقیاس عظیم با ویژگی

انجمن خوب و زیست Openstackباشد. فزارهای ویژه برای سرمایه گذاران میابنابراین یک انتخاب خوب برای تهیه کنندگان نرم

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

6http://aws.amazon.com/what-is-aws/ 7http://cloudstack.org/software.pdf

افزارها و بهینه سازینرم -3

های ها، پردازش موازی برای انجام کارهای با حجم باال در یک زمان واجب و ضروری است. استفاده از تکنیکدر این دوره انفجار داده

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

و MPI,General Purpose GPU(GPGPU), MapReduceپردازش موازی مشهوری وجود دارند مثل های درحال حاضر مدل

MapReduce-like .MapReduce توسطGoogle های بزرگ مشهور است که به سرعت و یک مدل پردازش روی داده مطرح شد

دو مزیت اصلی دارد اول اینکه MapReduce.ه استرشد کرد و توسط صنعت و دانشگاه مورد مطالعه قرار گرفت و عملی شد

ای دارد و فقط از دو تابع جزئیات مربوط به ذخیره سازی، توزیع، تکثیر، توازن بار و غیره مخفی هستند دوم اینکه برنامه نویسی ساده

های (. برای انجام پردازش روی دادهMap Function and Reduce Functionکند که نگاشت و کاهش هستند)استفاده می

جداسازی، تجذیه و ترکیب مقادیر تقریبا مشترک.در این حین به سه دسته تقسیم شده اند: MapReduceبزرگ نرم افزارهای

MapReduce از حیط محاسبات ابری اشاره کرده است، همچنین های بزرگ در مبه روش جدیدی برای پردازش داده"major

step backwards" در مقایسه باDBMS دانیم که کند. میاستفاده میMapReduce بدون طرح و بدون شاخص است پس

ها نشان داده که کند. نتیجهشود را تجذیه میورودی خوانده میبه این صورت است که رکوردهایی که از MapReduceچارچوب

در هر دو مکمل یکدیگرند. عخوب باشند تا وقتی که با هم کار کنند در واقای هیچیک از دو تکنولوژی به تنهایی نمیتوانند به اندازه

، Aster ،HadoopDBای را در کنار محصولشان دارند مانند یکپارچه DBMS ،MapReduceنتیجه بعضی فروشندگان

Greenplum وVertuca البته بیشتر آنها هنوز پایگاه داده هستند که به سادگی یک .MapReduce اخر را درDBMS ارائه شان

و کارایی MapReduceها را از مقیاس پذیری ویژگی نکه به طور موثر بهتری یک سیستم ترکیبی استHadoopDB[6] دهند.می

DBMS نتایج نشان داده است که گیرد.میHadoopDB زمان پردازش کارهایHadoop را توسط عامل مهم اشتراک با DBMS

یک سیستم .Lately, J.Dittrich et al. شرح خواهیم داد را HadoopDBکارکردر قسمت بعدی جزئیات د بهبود بخشیده است

اشکاالت زیادی دارد از جمله اینکه کاربر مجبور است که HadoopDBداد که نشان می Hadoop++[7]جدیدی ارائه کرد به نام

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

مناسب است. همچنین MapReduceهای بزرگ توسط ساده هستند ولی ساختار شاخص آنها عملی است و برای پردازش داده

با استفاده از ترکیب ای های فضایی در مقیاس خیلی بزرگ انجام شده و شاخص معکوس شبکه توزیع شدهمطالعات زیادی روی داده

طراحی شده که ساده است، پویاست، مقیاس پذیر است و برای پردازش MapReduceهای فضایی با مدل شاخص و جداسازی شبکه

کاوی، بازیابی اطالعات، بازیابی تصویر، به فیلدهای مختلفی از جمله داده MapReduce.[8]های چند بعدی فضایی مناسب استداده

است که با هدف ساخت کتابخانه Apacheیک پروژه 8Mahoutگیری و الگوشناسی توجه نموده است. برای مثال های یادماشین

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

ا یا مناسب نیستند و یا محدودیت دارند در نتیجه خیلی از محققان تالش کردند هردازش دادهپحال رشد هستند و خیلی از روشهای

های با مقیاس خیلی بزرگ در دادهپردازش داده روی پایگاه را برای حل کردن مشکالت MapReduceوری چارچوب که بهره

را به منظور تحلیل Hadoopیک سیستم نرم افزاری است که ابزار آماری و the Ricardoبرای مثال های مختلف حل کنند.دامنه

و برای کرده ترکیب MapReduceرا با (LSHهشینگ حساس محلی) RankReduce های موازی با هم ادغام کرده است.داده

برای خوشه بندی در مقیاس خیلی بزرگ و دیتا راBOW روش .F.Cordeiro et al رود. پردازش فضاهای چند بعدی بکار می

کند و بصورت پویا بین تاخیر دیسک و های چند بعدی معرفی کرده که روش خوشه بندی سختی دارد و بصورت خودکار کار میست

شود. تاخیر شبکه رد و بدل می

8http://mahout.apache.org/

MapDupReducer پایه یک سیستم برMapReduce های تکراری را در مقیاس بزرگ به طور توانایی تشخیص دیتا ستاست که

ای پیاده سازی را روی یک ماشین ساده بصورت چند پردازنده MapReduceچارچوب .C.Ranger et alموثر دارد. بعالوه اینکه

کرد که نتایج خوبی گرفت.

HadoopDB وMapReduce ، Hadoopجزئیات کارکرد -4

MapReduce[11]الف:

و فاز (map) های روی کالسترها می باشد که از دو فاز اصلی شامل فاز نگاشتیک مدل برنامه نویسی موازی جهت پردازش داده

دریافت می کند و آن را به قسمت های کوچکتر تبدیل اورودی ر Master: نود Map( تشکیل شده است. فاز اول reduceکاهش )

خود ممکن است این مرحله را تکرار کند و در نتیجه یک Workerتقسیم می کند. نود Workerنماید و آنها را بین نودهای می

کند و آنها را با های کوچک شده را دریافت میجواب قسمت Masterنود : Reduceساختار درختی به وجود می آید. فاز دوم

باشد.می Reduceو Mapاین دو مرحله نیاز به دو تابع برای پیاده سازی یکدیگر ترکیب می کند تا خروجی مورد نظر تشکیل شود.

تی در مقیاس وسیع و نیز به صورت توزیعی، مورد استفاده ااین روش یک مدل برنامه نویسی ساده است که برای حل مسائل محاسب

مدل MapReduceی کند. پیاده سازی هامی قرار می گیرد و بستری امن و مقیاس پذیر برای توسعه کاربردهای توزیعی فراهم

Master/Slave و گره سرویس دهنده چندتا از هستند. بدین مفهوم که گره کاربر یک کار را به گره سرویس دهنده می دهد

و Mapرا محول می کند. وقتی تمام وظایف Reduceیا Mapکارگران بیکار را انتخاب می کند و به هر کدام از آنها یک وظیفه

Reduce اگر کارگری دچار نقص شود، وظیفه اش را مجددا کامل شدند، گره سرویس دهنده نتیجه را به گره کاربر برمی گرداند .

[9]دهنه های معیوب بر نمی آید. رویساز عهده س MapReduceکارگر دیگری اجرا می کند اما پیاده سازیهای جاری

Hadoopب:

رود. هدوپ های متمرکز به کار می( است که برای تقسیم بندی و توزیع فایلOpen Source( یک نرم افزار کدباز )Hadoopهدوپ )

و MapReduceشود و توسط جاوا برنامه ریزی شده است. هدوپ از دو بخش کلی به نام ( ارائه میApacheتحت لیسانس آپاچی )

HDFS شده است. برای درک بهتر این موضوع به تشکیل شده است. این سیستم در واقع جهت اجرا بر روی چندین سرور طراحی

[10]تصویر زیر دقت کنید

HDFS معماری :1 شکل

مگابایتی( درآمده و هر 41کند که اطالعات دریافت شده بصورت تکه تکه )بطور پیش فرض بالکهای سیستم به این صورت عمل می

باشد که وظیفه ( میMasterدر واقع همان سرور اصلی ) Namenodeشود. در تصویر باال سرور تکه در یک سرور جداگانه ذخیره می

یا همان HDFSشود و بخش نیز بر روی سرور اصلی اجرا می MapReduce( را به عهده دارد. بخش Slaveکنترل سرورهای دیگر )

Hadoop Distributed File System ره سازی اطالعات را بر شود. سرورهای جانبی وظیفه ذخیبر روی سرورهای جانبی اجرا می

کند سرور اصلی از طریق . یعنی زمانیکه کاربر درخواست فراخوانی یک فایل را صادر میهای خود به عهده دارندروی هارد دیسک

هایی که در اختیار دارد، بالکهای مورد نظر را از سرورهای مختلف فراخوانی کرده و پس از سرهم کردن و تکمیل کردن فایل، آدرس

شود. الگوریتم این برنامه طوری نوشته شده است که می Data Replicationدهد. اما نکته مربوط به را به کاربر تحویل میآن

گیرد و این امر دو مزیت بزرگ دارد: اوال اینکه شما در مقابل خطاهای چندین نسخه کپی از بالکها بر روی دیگر سرورها قرار می

د دیسک، اشکاالت سخت افزاری سرورها و ... در امان هستید و در صورتیکه هر یک از سرورها به سخت افزاری از قبیل سوختن هار

شما مزیت دوم این قابلیت این است که شوند.دالیلی از شبکه خارج شوند، اطالعات مورد نظر از روی سرورهای دیگر فراخوانی می

نید از حداکثر فضای هارد دیسک خود استفاده کنید. سیستم هدوپ در واقع تواندارید و می RAIDدیگر نیاز به استفاده از تکنولوژی

گیرد. این اطالعات )در حد گیگابایت، ترابایت و یا حتی پتابایت( مورد استفاده قرار می برای ذخیره سازی و فراخوانی اطالعات حجیم

بزرگترین سیستم هدوپ را در اختیار دارد، موفق شد تواند شامل فایل و یا پردازش باشد. برای مثال چندی قبل شرکت یاهو کهمی

سرور صورت گرفته 2444ام عدد پی و چند رقم قبل و بعد آن را محاسبه کند این عملیات که بر روی 444/444/444/444/1444

طول خواهد سال به 043روز به طول انجامید در حالیکه اگر این عملیات را بر روی یک سیستم اجرا کنیم حدود 13به مدت

کمترین تعداد سرور چه تعدادی است؟ هرچند پیاده سازی سیستم هدوپ بر روی یک سیستم انجامید. برای پیاده سازی هدوپ

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

لذا در صورتی که مایل به راه اندازی سیستم ذخیره سازی هدوپ برای سرور هستیم-از به ایجاد نودبه اینکه در این سیستم نی

آپاچی هدوپ قابلیت گسترش پذیری )یک سیستم مرکزی و سه نود( استفاده کنید. سازمان خود هستید از چهار سیستم کامپیوتری

گردند. ای از کامپیوترها بصورت کارآمد توزیع میها روی شبکهپردازشو داده های حجیم و به بیش از صدها و هزاران ماشین را دارد

کنند. مزایای بعدی عبارتند از :از هدوپ استفاده می ...و twitter, facabook, google, yahoo,IBMهای بزرگی چون شرکت

عدم نیاز به کامپیوترهای سریع و قدرتمند

هاو مدیریت پردازششناسایی کامپیوترهای معیوب در حین پردازش

ارسال محاسبات به سمت کامپیوتر حاوی داده

قابلیت گسترش و توسعه آسان کالسترها و ...

HadoopDBپ:

در دو رویکر استفاده کند هاهای بزرگ که بتواند از بهترین ویژگیهمانطور که قبال گفته شد، بهترین سیستم در مقابله با داده

های مبتنی بر وری باالتر و از سیستمهای پایگاه داده موازی برای کارایی و بهرهاین معنی که از مکانیزم های ترکیبی هستند. بهسیتم

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

باشد که برای این ها بین چندین گره میالیه ارتباطی و هماهنگ کننده فعالیتبه عنوان MapReduceدر این سیستم، استفاده از

باشد، استفاده کرده است. از طرفی هر می MapReduceکه یک نمونه پیاده سازی شده معروف بر اساس روش Hadoopمنظور از

است، با این تفاوت که پیمانه هایی به آن Hadoop کند، معماری کلی آن مشابهعادی استفاده می DBMSگره از یک پایگاه داده

دهد:را با جزئیات نمایش می HadoopDBاضافه شده است. شکل زیر معماری سیستم

HadoopDB ساختار: 2شکل .

باشند:ها قرار دارد و پیمانه های اضافه شده که شامل موارد زیر میدر هر یک از گره هایی که که ترکیب شده از پایگاه داده

Databae Connectorهای مختلف مثل : توابع الزم برای اتصال به پایگاه دادهJDBC وODBC ... و

Catalogشود.ها نگهداری می: در این پیمانه، اطالعات مربوط به توصیف پایگاه داده

SMS Plannerاین پیمانه که نام کامل آن : SQL to MapReduce to SQL های ورودی با باشد، وظیفه تبدیل درخواستمی

را به عهده دارد. MapReduceبه کارهای SQLفرمت

نتیجه گیری -5آمدن دبا امید به اینکه زمینه ساز به وجو راهای بزرگ های نوین در برخورد با دادهافزارها و تکنولوژیها، نرممقاله فعالیتما در این

های بزرگ در محیط محاسبات یک جریان سیستماتیک که پردازش داده همچنین کنیم،، معرفی میهای تازه در مخاطبان باشدایده

های بزرگ، سیستم فایل های مدیریت دادهسیستمما به ترتیب در مورد موارد کلیدی .کنیمتوصیف می را کندمیابری را بررسی

افزارهای اصلی، و بهینه سازی نرم پلت فرم ابری کدباز، ،ی نیمه ساخت یافته و غیر ساخت یافتههاتوزیع شده، ذخیره داده

MapReduce و Hadoopدر آخر در مورد سیستم مفید و HadoopDB های بزرگ یا کردیم. داده بحثBig Data مفهوم

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

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

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

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

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

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

منابع:

[1] “Big data: science in the petabyte era,”Nature 455 (7209): 1, 2008.

[2] S. Ghemawat, H. Gobioff, and S. Leung, “The google file system,” in ACM SIGOPS Operating Systems Review,

vol. 37,no. 5. ACM, 2003, pp. 29–43.

[3] S. Sakr, A. Liu, D. Batista, and M. Alomari, “A survey of large scale data management approaches in cloud

environments,” Communications Surveys & Tutorials, IEEE, vol. 13,no. 3, pp. 311–336, 2011.

[4] Y. Cao, C. Chen, F. Guo, D. Jiang, Y. Lin, B. Ooi, H. Vo,S. Wu, and Q. Xu, “Es2: A cloud data storage system for

supporting both oltp and olap,” in Data Engineering (ICDE),2011 IEEE 27th International Conference on. EEE,

2011,pp. 291–302.

[5] F. Chang, J. Dean, S. Ghemawat, W. Hsieh, D. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. Gruber,

“Bigtable: A distributed structured data storage system,” in 7th OSDI, 2006, pp. 305–314.

[6] A. Abouzeid, K. Bajda-Pawlikowski, D. Abadi, A. Silberschatz,and A. Rasin, “Hadoopdb: an architectural hybrid

of mapreduce and dbms technologies for analytical workloads,”Proceedings of the VLDB Endowment, vol. 2, no. 1,

pp. 922–933, 2009.

[7] J. Dittrich, J. Quian´e-Ruiz, A. Jindal, Y. Kargin, V. Setty, and J. Schad, “Hadoop++: Making a yellow elephant

run like a cheetah (without it even noticing),”Proceedings of the VLDB Endowment, vol. 3, no. 1-2, pp. 515–529,

2010.

[8] C. Ji, T. Dong, Y. Li, Y. Shen, K. Li, W. Qiu, W. Qu,and M. Guo, “Inverted grid-based knn query processing with

mapreduce,” in ChinaGrid, 2012 Seventh ChinaGrid Annual Conference on. IEEE, 2012, pp. 25–33

[9]Big Data Processing in Cloud Computing Environments. Changqing Ji∗†, Yu Li‡, Wenming Qiu‡, Uchechukwu

Awada‡, Keqiu Li‡, Dalian 116026, China†, , Dalian 116600, Dalian University of Technology, Dalian 116024,

China 2012

[10] [7] Dhruba Borthakur، The Hadoop Distributed File System:Architecture and Design, The Apache Software

Foundation, 2007.

[11] Stonebraker, M. , Abadi, D. , DeWitt, D.J. , Madden, S.,Paulson, E., Pavlo, A., and Rasin, A., MapReduce

andparallel DBMSs: friends or foes?, Communications of theACM, 53(1), pp 64-71, 2010.

در و بررسی سرویس نگاشت کاهش در آن"کنفرانس ملی ایده های نو Hadoopاحمدی.پروین،سلطان آقایی.محمدرضا"پیاده سازی چارچوب کدباز

1931.دانشگاه آزاد خوراسگان.آذزماه مهندسی برق