در این بخش از آموزش، قصد دارم به یکی از چالشهای اساسی در علم داده بپردازیم: کار با دادههای حجیم یا همان بیگ دیتا. اهداف یادگیری ما در این بخش سه چیز است. اول، شناخت چالشهایی مثل محدودیتهای ذخیرهسازی، پردازش و تحلیل. دوم، پیادهسازی تکنیکهایی برای ذخیرهسازی و بازیابی کارآمد مثل فشردهسازی، نمایهسازی و تکهتکه کردن دادهها. و سوم، بحث درباره سیستمهای مدیریت پایگاه داده و رایانش ابری و ویژگیهای کلیدی آنها در ارتباط با دادههای بزرگ.
دادههای حجیم (بزرگ ) یا بیگ دیتا چیست؟
دادههای حجیم به مجموعه دادههایی بسیار بزرگ و پیچیده گفته میشود که روشها و ابزارهای سنتی پردازش داده قادر به مدیریت آنها نیستند. این دادهها معمولاً با سه ویژگی اصلی شناخته میشوند که به سه "V" معروف هستند. اول، حجم عظیم داده (Volume). دوم، تنوع در نوع داده (Variety)؛ یعنی ممکن است داده ساختار یافته مثل جداول مالی، نیمهساختاریافته مثل فایلهای XML، یا بدون ساختار مثل متنهای شبکههای اجتماعی داشته باشیم. سوم، سرعت بالای تولید داده (Velocity). منابع تولید این دادهها شامل رسانههای اجتماعی، سنسورها و تراکنشهای مالی هستند. در بخشهای قبلی تکنیکهایی مثل نمونهگیری و پیشپردازش را برای مواجهه با این دادهها یاد گرفتیم.
فشردهسازی داده (Data Compression)
فشردهسازی داده یعنی کاهش حجم فایل در حالی که اطلاعات ضروری حفظ میشود. دو نوع اصلی داریم. اول، فشردهسازی با اتلاف (Lossy) که برخی دادههای غیرضروری یا تکراری را برای همیشه حذف میکند. این روش حجم را خیلی کم میکند، اما کیفیت نهایی تا حدی کاهش مییابد. برای فایلهای چندرسانهای مثل تصاویر JPEG و موسیقی MP3 استفاده میشود، چون افت کیفیت برای چشم و گوش انسان محسوس نیست.
نوع دوم، فشردهسازی بدون اتلاف (Lossless) است که حجم را بدون حذف هیچ دادهای کاهش میدهد. این روش الگوها و تکرارها را پیدا کرده و آنها را کارآمدتر نمایش میدهد. برای دادههای متنی و عددی که همه اطلاعات حیاتی هستند، مثل فایلهای ZIP و PNG به کار میرود. یکی از روشهای معروف بدون اتلاف، کدگذاری هافمن است که به کاراکترهای پرتکرار، کدهای باینری کوتاهتر و به کاراکترهای کمتکرار، کدهای بلندتر اختصاص میدهد.

راهحلهای ذخیرهسازی داده
دادههای بزرگ به راهحلهای ذخیرهسازی نیاز دارند که بتوانند حجم عظیم و انواع گوناگون داده را پشتیبانی کنند، عملکرد بالا برای دسترسی و پردازش داشته باشند، مقیاسپذیری برای دادههای رو به رشد را تضمین کنند و بسیار قابل اعتماد باشند. پنج نوع رایج از راهحلهای ذخیرهسازی عبارتند از: اول، پایگاه داده رابطهای (Relational Databases) که داده را در جدول سازماندهی کرده و از SQL استفاده میکند. برای دادههای ساختاریافته سنتی مثل دادههای مالی مناسب است. دوم، پایگاه داده NoSQL (NoSQL Databases) که برای دادههای بدون ساختار مثل محتوای شبکههای اجتماعی طراحی شده. سوم، انبار داده (Data Warehouses) که یک مخزن متمرکز برای ترکیب داده از منابع مختلف و انجام تحلیلهای پیچیده و هوش تجاری است. چهارم، ذخیرهسازی ابری (Cloud Storage) که داده را روی سرورهای راه دور نگهداری کرده و از طریق اینترنت در دسترس است و مقیاسپذیری و مقرونبهصرفه بودن دارد. پنجم، ذخیرهسازی شیای (Object Storage) که هر داده به همراه فراداده به صورت یک شی ذخیره میشود و برای دادههای بدون ساختار حجیم مثل ویدیوها و تصاویر عالی است.
نمایهسازی داده (Data Indexing)
نمایهسازی داده یعنی داده را در پایگاه داده به گونهای ذخیره و مدیریت کنیم که بازیابی اطلاعات خاص با سرعت و کارآیی بالا انجام شود. این کار عملکرد پایگاه داده را بهینه میکند. سه تکنیک رایج داریم. اول، نمایهسازی B-Tree که داده را به صورت ساختار درختی سازماندهی میکند. در این روش یک گره ریشه داریم و هر گره محدودهای از مقادیر و اشارهگرهایی به گرههای فرزند دارد. این روش برای جستجو در یک بازه مشخص از مقادیر بسیار کارآمد است. دوم، نمایهسازی هش (Hash) که از یک تابع هش برای نگاشت مستقیم هر مقدار داده به یک جایگاه خاص در جدول استفاده میکند. این روش برای جستجوهای دقیق و برابری کامل خیلی سریع است. سوم، نمایهسازی بیتمپ (Bitmap) که برای هر مقدار منحصربهفرد در داده، یک بیتمپ میسازد. سپس با ترکیب این بیتمپها میتوان خیلی سریع رکوردهایی که با یک مجموعه از مقادیر مطابقت دارند را پیدا کرد.

تکهتکه کردن داده (Data Chunking)
تکهتکه کردن داده یعنی مجموعه داده بزرگ را به قطعات کوچکتر و قابل مدیریتتر بشکنیم. این کار مخصوصاً زمانی مفید است که داده آنقدر بزرگ باشد که یک ماشین به تنهایی نتواند آن را پردازش یا تحلیل کند. هر تکه که اندازه آن از چند کیلوبایت تا چند گیگابایت میتواند باشد، به همراه فرادادهای (Metadata) شامل شماره تکه و تعداد کل تکهها ذخیره میشود تا بعداً بتوان دوباره آنها را کنار هم گذاشت. مزایای این روش چهار تا است. اول، افزایش سرعت پردازش و انتقال. دوم، استفاده بهتر از منابع محاسباتی با توزیع قطعهها بین چند ماشین. سوم، افزایش تحمل خطا؛ اگر دادهای خراب شود، فقط همان تکه آسیبدیده بازیابی میشود نه کل دیتاست. چهارم، انعطافپذیری؛ میتوان فقط تکههای مورد نیاز را پردازش یا منتقل کرد.
سیستمهای مدیریت پایگاه داده (DBMS)
سیستم مدیریت پایگاه داده، نرمافزاری است که برای مدیریت دادهها در قالب ساختاریافته به کار میرود. پنج کارکرد اصلی دارد. اول، ذخیرهسازی داده به صورت مخزن متمرکز. دوم، بازیابی کارآمد و سریع داده با استفاده از پرسوجوها و فیلترها. سوم، سازماندهی داده در قالب ساختاریافته برای تشخیص الگوها و روابط. چهارم، امنیت داده با محافظت از اطلاعات حساس مثل دادههای شخصی یا مالی در برابر دسترسی غیرمجاز. پنجم، یکپارچهسازی داده از منابع مختلف برای ترکیب و تحلیل همزمان. یک مثال واقعی، بیمارستانها هستند. با جمعآوری و تحلیل دادههای بیماران از پروندههای الکترونیک سلامت، تصویربرداری پزشکی و نتایج آزمایشگاه، میتوانند الگوها را شناسایی کرده و برای بیماران مزمن مثل دیابت، برنامه درمانی شخصیسازی شده ارائه دهند که هم سلامت بیمار را بهبود میبخشد و هم هزینهها را کاهش میدهد.
رایانش ابری (Cloud Computing) برای دادههای بزرگ
رایانش ابری یک راهحل مقرونبهصرفه برای ذخیره حجم عظیم داده فراهم میکند و امکان همکاری و انتقال داده میان گروههای دور از هم را به سادگی میسر میسازد. این فناوری شامل ابزارهای دسترسی از راه دور برای ذخیرهسازی، پردازش و تحلیل است و به کاربران اجازه میدهد بدون توجه به موقعیت فیزیکی خود به داده دسترسی داشته باشند. همچنین مجموعه متنوعی از ابزارهای جمعآوری داده، از جمله یادگیری ماشین و انبار داده را ارائه میدهد. مزایای کلیدی شامل صرفهجویی در هزینه، مقیاسپذیری نامحدود، انعطافپذیری و در دسترس بودن از هر کجای دنیاست. سه نمونه معروف از ارائهدهندگان خدمات ابری عبارتند از: آمازون AWS، مایکروسافت Azure و گوگل Cloud.
مطالعه موردی: راهحلهای شرکت بیمه برای افزایش ظرفیت ذخیرهسازی
مدیرعامل یک شرکت بیمه بزرگ با مشکلی مواجه شده: افزایش فرآیندها و اسناد دیجیتال منجر به نیاز به فضای ذخیرهسازی بیشتر و افزایش هزینههای نگهداری سرورها و سختافزار شده است. هشت گزینه پیش روی او قرار دارد. اول، مهاجرت به ذخیرهسازی ابری که عملاً ظرفیت نامحدود و هزینه انعطافپذیر دارد.
دوم، اجرای استراتژی بایگانی دادهها؛ یعنی دادههای کماستفاده را در یک سیستم ذخیرهسازی کمهزینه جداگانه قرار دهیم.
سوم، برونسپاری ذخیرهسازی و مدیریت داده به یک ارائهدهنده شخص ثالث.
چهارم، ادغام دادهها و فرآیندها برای حذف سامانههای اضافی.
پنجم، پیادهسازی زیرساخت دسکتاپ مجازی (VDI) که نیاز به فضای ذخیرهسازی روی دستگاههای فردی را کاهش میدهد.
ششم، ارتقا یا بازطراحی سیستم ذخیرهسازی فعلی.
هفتم، استفاده از ترکیب فضای ابری و داخلی که دادههای حساس در داخل شرکت و دادههای کماهمیتتر در ابر نگهداری شوند.
هشتم، انجام ممیزی منظم از نحوه استفاده و ذخیرهسازی داده برای بهینهسازی و کاهش هزینه.
خلاصه و جمعبندی
دادههای بزرگ به رویکردهایی فراتر از روشهای سنتی نیاز دارند. تکنیکهای کلیدی برای کارآمدی شامل فشردهسازی در دو نوع با اتلاف و بدون اتلاف، نمایهسازی با روشهای B-Tree، هش و بیتمپ، و تکهتکه کردن داده برای پردازش موازی و تحمل خطا هستند. سیستمهای مدیریت پایگاه داده به ما امکان مدیریت ساختاریافته، امنیت و یکپارچهسازی داده را میدهند و در نهایت، رایانش ابری یک راهحل مقیاسپذیر، مقرونبهصرفه و مشارکتی برای ذخیرهسازی و تحلیل دادههای حجیم فراهم میکند.