This is my Seminar presentation, adopted from a paper with the same name (Big Data Processing in Cloud Computing Environments), and it is about various issues of Big Data, from its definitions and applications to processing it in cloud computing environments. It also addresses the Big Data technologies and focuses on MapReduce and Hadoop.
It is perhaps no coincidence that the Hadoop mascot is an elephant.
پیشبینی بهجای 6 فاکتور از 300 فاکتور
عصر اینترنت و موبایل
لیست پیشنهادی علاوه بر خریدهای شخص
جریانهای مکانی یا صوتی
انبار کردن و پردازش آنها
مثال آی بی ام
دو دلیل اصلی در پردازش جریانی دادهها وجود دارد
نیازمندیهای ابزارهای ذخیرهسازی
برنامه مجبور به پاسخی در مقابل دریافت دادهها
برنامههای موبایلی و بازیهای آنلاین
Today 80% of Data Existing in any Enterprise is Unstructured Data
Structured Data
Structured Data by definition already resides in formal data stores, typically in an RDBMS, a Data Warehouse or an MPP system, and accounts for approximately 5% of the total data deluge9 (the rest is unstructured). It is often categorized as “legacy data” carried forward from before Big Data had currency, but can also be recently derived data stored in pre-Big Data paradigms (RDBMS, DW, MPP, etc.). The “structure” typically refers to formal data groupings into database records with named fields and/or row and column organization, with established associations among the data elements.
Unstructured Data
Unstructured Data, by contrast, comprises data collected during other activities and stored in amorphous logs or other files in a file system. Unstructured data can include raw text or binary and contain a rich mix of lexical information and/or numerical values, with or without delimitation, punctuation or metadata.
A distinguishing feature of Big Data:
is a mixture of traditional structured data together with unstructured massive amounts of information. The data can come from legacy databases and data warehouses, from web server logs of ecommerce companies and other high-traffic web sites, from M2M (Machine-to-Machine) data traffic and sensor nets.
آزمایشهای برخورددهنده هادرون بزرگ در هر ثانیه 40 میلیون بار داده از 150 میلیون حسگر تولید میکند. تقریباً 60 میلیون برخورد در هر ثانیه وجود دارد. بعد از پالایش و صرفنظر از بیش از 99.999% این جریان اطلاعاتی، 100 میلیون برخورد در هر ثانیه وجود دارد که مورداستفاده و علاقه دانشمندان است [3].
درنتیجه، تنها کار کردن با کمتر از 0.001% از جریان دادههای حسگر، جریان دادهای با حجم 25 پتابایت در هر سال از هر چهار آزمایش LHC پیش از تکرار دادهها حاصل میشود. این مقدار به تقریباً 200 پتابایت بعد از تکرار و رونوشت میرسد.
اگر همه حسگرها برای ضبط استفاده شوند، کار با جریان داده بهشدت سخت خواهد بود. جریان داده از 150 میلیون پتابایت نرخ سالیانه خواهد گذشت یا تقریباً به 500 اگزابایت در هر روز پیش از تکرار و رونوشت از آن خواهد رسید. برای تجسم بهتر، این عدد برابر خواهد بود با 500 کوینتیلیون (1020×5) بایت در هر روز، تقریباً 200 برابر بیشتر از ترکیب همه منابع دیگر در جهان!
زمانی که نقشهبردار آسمانی دیجیتال اسلون (SDSS) در سال 2000 شروع به جمعکردن اطلاعات ستارهشناسی کرد، اطلاعات جمعآوریشده تنها در چند هفته اول بیش از تمام اطلاعات جمع شده در تاریخ نجوم بود. با ادامه نرخ 200 گیگابایت در هر شب، SDSS بیش از 140 ترابایت اطلاعات جمع کرده است. زمانی که تلسکوپ نقشهبرداری بزرگ هم دیدی که نسل بعد از SDSS به شمار میآید، در سال 2016 شروع به فعالیت کند، پیشبینی میشود که این مقدار داده را هر پنج روز یکبار به دست میآورد [4].
مرکز شبیهسازی آبوهوای ناسا (NCCS) 32 پتابایت از شبیهسازیها و مشاهدات خود را در ابررایانه Discover نگهداری میکند [5]
• Data Management – data storage infrastructure, and resources to manipulate it
• Data Analysis – technologies and tools to analyze the data and glean insight from it
• Data Use – putting Big Data insights to work in Business Intelligence and end-user applications
For the last two decades, Data Management has built upon three related primary technologies:
• Relational Data Base Management Systems – to store and manipulate structured data
• MPP Systems – to crunch increasingly massive data sets and scale with data growth
• Data Warehousing – to subset and host data for subsequent reporting
Limitations in Legacy Systems
• Scalability: as data sets on RDBMSs grow, performance slows, requiring major (not incremental)
investments in compute capacity. These investments are today outstripping the budgets of organizations,
especially as data grows exponentially.
• Representative Data: With declining ability to process whole data sets, information in Data Warehouses is
no longer statistically representative of the data from which it is derived. As such, business intelligence
derived from it is less reliable.
• Unstructured Data: RDBMS and Data Warehousing are definitively structured data entities. However, data
growth is focused on unstructured data by a factor of 20:1.
RDBMS, MPP and DW are not going away any time soon. Rather, they are taking on new roles in support of Big
Data management, most importantly to process and host the output of paradigms such as MapReduce and to
continue to provide input to BI software and to applications.
Row-based systems are designed to efficiently return data for an entire row, or record, in as few operations as possible. This matches the common use-case where the system is attempting to retrieve information about a particular object
contact information for a user
Row-based systems are not efficient at performing operations that apply to the entire data set, as opposed to a specific record.
it is the mapping of the data that differs dramatically
Indexing
all the values from a set of columns along with pointers back into the original rowed
However, maintaining indexes adds overhead to the system, especially when new data is written to the database.
There are a number of row-oriented databases that are designed to fit entirely in RAM, an in-memory database.
A NoSQL or Not Only SQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
simplicity of design, horizontal scaling and finercontrol over availability
The data structure (e.g. key-value, graph, or document) differs from the RDBMS, and therefore some operations are faster in NoSQL and some in RDBMS.
مدل نگاشتکاهش از ترکیبی از مفاهیم نگاشت و کاهش زبانهای برنامهنویسی تابعی مانند Lisp نشأت گرفته است
ذخیرهسازی مقدار عظیمی از دادهها: هادوپ برنامهها را قادر میسازد تا با هزاران کامپیوتر و پتابایتها داده کار کنند. در دهههای گذشته متخصصین کامپیوتر دریافتهاند که از دستگاههای کمهزینه رایج و معمولی میتوانند برای برنامههای پردازشی با کارایی بالا استفاده کنند که قبلاً این کار فقط از طریق ابَرکامپیوترها قابل امکان بود. صدها کامپیوتر کوچک میتوانند در یک خوشه طوری پیکربندی شوند که مجموع توان پردازشی آنها میتواند بسیار بیشتر از یک ابَرکامپیوتر و با قیمت کمتری باشد. هادوپ میتواند از خوشهای بیش از هزاران ماشین بهره برده تا بستر ذخیرهسازی و توان پردازشی عظیمی را با قیمتی مناسب سازمانها ارائه دهد.
پردازش توزیعشده با دسترسی سریع به دادهها: خوشههای هادوپ این امکان را فراهم میکنند تا بهطور کارا دادههای عظیمی را ذخیره کنند و درعینحال دسترسی سریعی را به دادهها فراهم آورند. پیش از هادوپ، برنامههای پردازشی موازی سختی توزیع اجرا را بین ماشینهای موجود در خوشه تجربه میکردند. این امر به این دلیل بود که مدل اجرای خوشه درخواستی برای دادههای مشترک با کارایی آی/او بالا میساخت. هادوپ اجرا را به سمت دادهها هدایت کرد. انتقال برنامه به سمت دادهها بسیاری از چالشهای کارایی را کاهش داد. بعلاوه، برنامههای هادوپ معمولاً طوری سازماندهی میشوند که دادهها را ترتیبی پردازش کنند. این امر موجب پرهیز از دسترسی دادهها بهصورت تصادفی شده و بیشتر از قبل باعث کاهش سربار آی/او میشود.
قابلیت اطمینان، failover و مقیاسپذیری: در گذشته برنامههای موازی زمانی که به خوشهای از ماشینها منتقل میشدند با مشکلات قابلیت اطمینان دستوپنجه نرم میکردند. بااینکه قابلیت اطمینان هرکدام از ماشینها تقریباً بالاست اما احتمال ازکارافتادن ماشینها با بالا رفتن اندازه خوشه وجود دارد. اینکه در یک خوشه (با هزاران ماشین) در هر روز خرابیهایی داشته باشیم غیرطبیعی نیست. به همین خاطر طوری طراحی و پیادهسازی شده است که یک یا مجموعهای از خرابیها منجر به نتایج ناسازگاری نشود. هادوپ خرابیها را شناسایی کرده و اجرا عملیات را با استفاده از گرههای دیگر از سر میگیرد. علاوه بر این، قابلیت مقیاسپذیریای که پیادهسازی هادوپ از آن پشتیبانی میکند این امکان را میدهد که سرورهای اضافی (تعمیر شده) را بهطور ناملموس به خوشه اضافه کنیم و از آنها برای ذخیرهسازی و اجرای عملیات بهره ببریم.
ذخیرهسازی مقدار عظیمی از دادهها: هادوپ برنامهها را قادر میسازد تا با هزاران کامپیوتر و پتابایتها داده کار کنند. در دهههای گذشته متخصصین کامپیوتر دریافتهاند که از دستگاههای کمهزینه رایج و معمولی میتوانند برای برنامههای پردازشی با کارایی بالا استفاده کنند که قبلاً این کار فقط از طریق ابَرکامپیوترها قابل امکان بود. صدها کامپیوتر کوچک میتوانند در یک خوشه طوری پیکربندی شوند که مجموع توان پردازشی آنها میتواند بسیار بیشتر از یک ابَرکامپیوتر و با قیمت کمتری باشد. هادوپ میتواند از خوشهای بیش از هزاران ماشین بهره برده تا بستر ذخیرهسازی و توان پردازشی عظیمی را با قیمتی مناسب سازمانها ارائه دهد.
پردازش توزیعشده با دسترسی سریع به دادهها: خوشههای هادوپ این امکان را فراهم میکنند تا بهطور کارا دادههای عظیمی را ذخیره کنند و درعینحال دسترسی سریعی را به دادهها فراهم آورند. پیش از هادوپ، برنامههای پردازشی موازی سختی توزیع اجرا را بین ماشینهای موجود در خوشه تجربه میکردند. این امر به این دلیل بود که مدل اجرای خوشه درخواستی برای دادههای مشترک با کارایی آی/او بالا میساخت. هادوپ اجرا را به سمت دادهها هدایت کرد. انتقال برنامه به سمت دادهها بسیاری از چالشهای کارایی را کاهش داد. بعلاوه، برنامههای هادوپ معمولاً طوری سازماندهی میشوند که دادهها را ترتیبی پردازش کنند. این امر موجب پرهیز از دسترسی دادهها بهصورت تصادفی شده و بیشتر از قبل باعث کاهش سربار آی/او میشود.
قابلیت اطمینان، failover و مقیاسپذیری: در گذشته برنامههای موازی زمانی که به خوشهای از ماشینها منتقل میشدند با مشکلات قابلیت اطمینان دستوپنجه نرم میکردند. بااینکه قابلیت اطمینان هرکدام از ماشینها تقریباً بالاست اما احتمال ازکارافتادن ماشینها با بالا رفتن اندازه خوشه وجود دارد. اینکه در یک خوشه (با هزاران ماشین) در هر روز خرابیهایی داشته باشیم غیرطبیعی نیست. به همین خاطر طوری طراحی و پیادهسازی شده است که یک یا مجموعهای از خرابیها منجر به نتایج ناسازگاری نشود. هادوپ خرابیها را شناسایی کرده و اجرا عملیات را با استفاده از گرههای دیگر از سر میگیرد. علاوه بر این، قابلیت مقیاسپذیریای که پیادهسازی هادوپ از آن پشتیبانی میکند این امکان را میدهد که سرورهای اضافی (تعمیر شده) را بهطور ناملموس به خوشه اضافه کنیم و از آنها برای ذخیرهسازی و اجرای عملیات بهره ببریم.