ScholarGate
دستیار

چارچوب‌های پردازش کلان‌داده

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

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

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

Scope

این موضوع مدل برنامه‌نویسی جریان داده برای پردازش داده در مقیاس خوشه‌ای را پوشش می‌دهد: پارادایم MapReduce و محدودیت‌های آن، موتورهای جریان داده درون‌حافظه‌ای که بر پایه مجموعه‌داده‌های توزیع‌شده مقاوم ساخته شده‌اند، و پردازش یکپارچه دسته‌ای و جریانی با پنجره‌بندی، معناشناسی زمان رویداد، و تضمین‌های دقیقاً یک‌بار. این موضوع به چگونگی تقسیم‌بندی داده‌های عظیم و احتمالاً نامحدود، پردازش موازی آن‌ها، و بازیابی پس از خرابی‌ها می‌پردازد.

Core questions

  • چگونه می‌توان یک محاسبه بر روی داده‌هایی که برای یک ماشین بسیار بزرگ هستند را به صورت موازی بیان و اجرا کرد؟
  • چگونه موتورهای درون‌حافظه‌ای و جریانی، MapReduce دسته‌ای را بهبود می‌بخشند؟
  • چگونه تعادل بین صحت، تأخیر، و تحمل‌پذیری خطا برای جریان‌های نامحدود و خارج از ترتیب برقرار می‌شود؟

Key theories

MapReduce
MapReduce پردازش داده را به عنوان یک مرحله نگاشت (map) که رکوردها را به جفت‌های کلید-مقدار تبدیل می‌کند و یک مرحله کاهش (reduce) که بر اساس کلید تجمیع می‌کند، بیان می‌کند، در حالی که زمان اجرا، موازی‌سازی، درهم‌سازی داده، و اجرای مجدد وظایف شکست‌خورده را مدیریت می‌کند.
مجموعه‌داده‌های توزیع‌شده مقاوم
RDDها یک انتزاع درون‌حافظه‌ای تحمل‌پذیر خطا را فراهم می‌کنند که تبار تحولات قطعی آن امکان محاسبه مجدد پارتیشن‌های از دست رفته را می‌دهد و محاسبات خوشه‌ای تکراری و تعاملی را بسیار سریع‌تر از MapReduce مبتنی بر دیسک ممکن می‌سازد.
جریان داده دسته‌ای و جریانی یکپارچه
موتورهای مدرن، پردازش دسته‌ای را به عنوان یک مورد خاص از پردازش جریانی در نظر می‌گیرند، با استفاده از پنجره‌بندی زمان رویداد و واترمارک‌ها به علاوه اسنپ‌شات‌های سازگار برای ارائه نتایج دقیقاً یک‌بار بر روی داده‌های نامحدود و خارج از ترتیب.

Clinical relevance

این چارچوب‌ها داده‌های پشت جستجو، تحلیل، توصیه، و خطوط لوله یادگیری ماشین را پردازش می‌کنند، و موتورهای جریانی، نظارت بلادرنگ و برنامه‌های رویدادمحور را قدرت می‌بخشند، که آن‌ها را به زیرساخت اصلی برای محاسبات داده‌محور تبدیل می‌کند.

History

مقاله MapReduce گوگل در سال ۲۰۰۴ (بازنگری شده در ۲۰۰۸) پردازش داده در مقیاس خوشه‌ای را پایه‌گذاری کرد؛ مجموعه‌داده‌های توزیع‌شده مقاوم اسپارک (۲۰۱۲) پردازش سریع درون‌حافظه‌ای و تکراری را به ارمغان آورد؛ و سیستم‌هایی مانند Flink و مدل جریان داده (۲۰۱۵) پردازش دسته‌ای و جریانی را با تضمین‌های صحت قوی یکپارچه کردند.

Debates

پردازش دسته‌ای در مقابل پردازش جریانی به عنوان مدل اصلی پردازش
پردازش دسته‌ای ساده‌تر است و به راحتی می‌توان آن را دقیقاً یک‌بار انجام داد اما تأخیر را افزایش می‌دهد، در حالی که پردازش جریانی تأخیر کمتری را با هزینه صحت دشوارتر در داده‌های خارج از ترتیب ارائه می‌دهد؛ موتورهای یکپارچه استدلال می‌کنند که پردازش جریانی می‌تواند پردازش دسته‌ای را در بر گیرد، اگرچه پردازش دسته‌ای برای کارهای تاریخی بزرگ همچنان رایج است.

Key figures

  • Jeffrey Dean
  • Sanjay Ghemawat
  • Matei Zaharia
  • Tyler Akidau

Related topics

Seminal works

  • dean2008
  • zaharia2012
  • akidau2015

Frequently asked questions

چرا اسپارک و سیستم‌های مشابه برای بسیاری از حجم‌های کاری جایگزین MapReduce ساده شدند؟
MapReduce نتایج میانی را بین هر مرحله روی دیسک می‌نویسد که برای الگوریتم‌های تکراری کند است. انتزاعات درون‌حافظه‌ای مانند مجموعه‌داده‌های توزیع‌شده مقاوم، داده‌ها را در طول مراحل در حافظه نگه می‌دارند و تنها پارتیشن‌های از دست رفته را در صورت خرابی مجدداً محاسبه می‌کنند، که سرعت‌های زیادی را برای تحلیل‌های تکراری و تعاملی فراهم می‌آورد.

Methods for this concept

Related concepts