همه چیز درباره کلان داده

منتشر‌شده در towardsdatascience به تاریخ ۷ سپتامبر ۲۰۲۱
لینک منبع All About Big Data

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

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

کلان داده چیست؟

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

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

پایگاه داده (Data Warehouse) چیست؟

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

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

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

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

دریاچه داده (Data Lake) چیست؟

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

با مرور طرح‌ها، تنها به این نکته اشاره کردیم که شما نیازی به ایجاد هیچ طرحی برای متناسب کردن داده‌ها با داده‌ها ندارید، چون نیازی نیست ساختار بندی شود. با این حال، طرح‌ها هنوز بخشی از دریاچه‌های داده هستند. آن‌ها فقط به طور متفاوت مورد استفاده قرار می‌گیرند. به عنوان مثال، انبار داده‌ها، داده‌ها را پاک و به صورت طرح واره‌ها فیلتر می‌کند، که قبل از پردازش داده‌ها طراحی شده‌اند. این schema-on-write در نظر گرفته می‌شود. با یک دریاچه داده، شما طرح جلوتر از زمان را طراحی نمی‌کنید. در عوض، طرح در حالی که داده‌ها در حال تجزیه و تحلیل هستند ایجاد می‌شود. این schema-on-read در نظر گرفته می‌شود.

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

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

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

نتیجه‌گیری

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

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

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