محاسبات درون حافظه

بازیابی داده ها از دیسک کندترین بخش از پردازش داده ها است و هر چه میزان داده ها که برای پردازش لازم است، بیشتر باشد، آنگاه این زمان بازیابی، فرایند تحلیل را کندتر می کند. پردازش در حافظه (In-Memory Processing)، برای تحلیل تمامی داده های دلخواه، داده ها را به درون حافظه اصلی (Main Memory – RAM) بار گذاری می کند. از این رو دیگر نیازی به بازیابی آنها با سرعت پایین از هارد دیسک نخواهد بود و بنابراین عامل زمان به صورت چشمگیری کاهش خواهد یافت.

ما اطلاعات را در طی زمان (و سال ها) جمع آوری و سپس این اطلاعات را برای حل مشکلات و تصمیم سازی ها انتخاب می کنیم. یک کاربرد اصلی از محاسبات درون حافظه (In-Memory Computing)، برای پردازش بلادرنگ کلان داده ها است. در پایگاه داده رابطه ای، داده ها بر روی دیسک ذخیره شده اند، بنابراین در صورتی که نیاز به تحلیل حجم انبوهی از داده ها باشیم، در این صورت یکی از عوامل اصلی بر عملکرد و کارایی، کندی و پایین بودن واکشی داده ها از دیسک است.

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

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

آپاچی اسپارک (Apache Spark) محدودیت های فوق را با تعمیم چارچوب نگاشت کاهش (MapReduce) رفع می کند (به عبارتی گذر از پردازش دسته ای به بلادرنگ).  آپاچی اسپارک با ذخیره سازی داده ها درون حافظه اصلی، از هزینه بالای بدست آوردن داده ها از روی هارد دیسک جلوگیری می کند. بنابراین با قرار دادن داده ها درون دیسک ، محاسبات با تاخیر زمانی کمتری انجام شده و محاسبات با سرعت بالاتری درون حافظه انجام می شود.

یکی دیگر از مزیت های آپاچی اسپارک نسبت به چارچوب نگاشت کاهش و هدوپ (Hadoop) در این است که اسپارک از زبان های برنامه نویسی جاوا، اسکالا و پایتون پشتیبانی می کند، در صورتی که نگاشت کاهش تنها توسط جاوا قابل استفاده است. برای اطلاع بیشتر می توانید دوره زیر را برای آشنایی با پایگاه داده های درون حافظه مطالعه کنید.

دوره پایگاه داده Apache Ignite