210 likes | 565 Views
HadoopDB : یک معماری ترکیبی از MapReduce و DBMS. ارائه نهایی درس پایگاه داده پیشرفته استاد درس: دکتر مسعود رهگذر ارائه دهنده: علیرضا انگبینی. منبع اصلی.
E N D
HadoopDB: یک معماری ترکیبی از MapReduce و DBMS ارائه نهایی درس پایگاه داده پیشرفته استاد درس: دکتر مسعود رهگذر ارائه دهنده: علیرضا انگبینی
منبع اصلی • A. Abouzeid, A. Silberschatz, and A. Rasin, "Hadoopdb: An architectural hybrid of mapreduce and dbms technologies for analytical workloads," VLDB'09, 2009, pp. 1084--1095.
فهرست • مقدمه • MapReduce • Parallel Databases • معماری HadoopDB • نتایج اجرا • نتیجه گیری
مقدمه • انفجار حجم داده ها • اتوماسیون در فرایندهای کسب وکار • افزایش تجهیزات دیجیتال • مثال- eBay 6.5 PB Yahoo 10+ PB • افزایش نیاز به تحلیل داده های خام برای کاربردهای مختلف
مقدمه • مسئله: چگونگی انجام عملیات محاسباتی و تحلیلی بر روی حجم عظیمی از داده ها که بین هزاران گره توزیع شده اند. • رویکردها • MapReduce • Parallel Databases • هدف تحقیق: طراحی معماری سیستمی که از بهترین ویژگیهای دو رویکرد استفاده کند: • استفاده از مکانیزم های پایگاه داده های موازی برای کارایی و بهره وری • بهره گیری از ویژگیهای سیستم های مبتنی بر MapReduce برای مقیاس پذیری، تحمل خطا و انعطاف پذیری
MapReduce • یک مدل برنامه نویسی برای حل مسائل محاسباتی در مقیاس وسیع و به صورت توزیعی • ارائه شده در سال 2003 توسط گوگل • پیاده سازی شده به زبانهای مختلف • شامل دوتابع اصلی: • تابع Map: پردازش یک زوج (key,value) و تولید مجوعه ای از زوج های میانی • تابع Reduce: ادغام تمام value های میانی با key یکسان
MapReduce(ادامه) • مثال: یافتن تعداد تکرار یک کلمه در یک متن (صفحه وب) • تابع Map: • Key: آدرس صفحه وب • Value: محتویات صفحه • خروجی: لیستی از زوج مرتب ها (تعداد رخداد,کلمه)
MapReduce(ادامه) • تابع Reduce: • جمع مقادیر زوجها با کلید مشترک • خروجی نهایی:
HadoopDB • ایده اصلی: • استفاده از MapReduce به عنوان لایه ارتباطی و هماهنگ کننده فعالیت ها بین چندین گره (Hadoop) • گره ها از یک DBMS عادی استفاده می کنند (PostgreSQl)
نتایج اجرا • از نظر • کارایی (Performance) • مقیاس پذیری (Scalability) • مقایسه HadoopDB با: • MapReduce (Hadoop) • Parallel Databases (Vertica , DBMS-X) • اجرا بر روی بستر آمازون EC2 با 10، 50 و 100 گره
کارایی • Select Task • Full table scan • Random data: بدون index SELECT * FROM Data WHERE field LIKE ‘%XYZ%’
کارایی (ادامه) • Join Task SELECT sourceIP, AVG(pageRank), SUM(adRevenue) FROM rankings, uservisits WHERE pageURL=destURL AND visitDate BETWEEN 2000-1-15 AND 2000-1-22 GROUP BY sourceIP ORDER BY SUM(adRevenue) DESC LIMIT 1;
مقیاس پذیری • اجرا بر روی 10 گره • برای تحمل خطا: از بین بردن یک گره در وسط آزمایش • برای ناهمگنی: کاهش سرعت یک گره در کل مدت آزمایش
نتیجه گیری • ترکیبی از معماری DBMS و MapReduce • مقیاس پذیری بالاتر نسبت به parallel databases • توانایی تحمل خطا مانند Hadoop • کارایی در حد parallel databases • هزینه: رایگان و متن باز
منابع • [1] A. Abouzeid, A. Silberschatz, and A. Rasin, "Hadoopdb: An architectural hybrid of mapreduce and dbms technologies for analytical workloads," VLDB'09, 2009, pp. 1084--1095. • [2] J. Dean and S. Ghemawat, "MapReduce: Simplified data processing on large clusters," OSDI, 2004. • [3] K. Heafield, "Introduction To Hadoop," Google Inc, 2008.
پایان با تشکر