عنوان مقیاس پذیری تجزیه و تحلیل داده از گذشته تا کنون (1)
نوع منبع مقاله
گروه تجزیه و تحلیل
تاریخ انتشار ۱۲ / ۱۲ / ۱۳۹۴
خلاصه با افزایش مستمر تولید داده و ضرورت پردازش حجم بسیار بالایی از داده در سازمان ها ، نمی توان با تمسک به روش های گذشته و بکارگیری معماری و فناوری های پیشین در سودای تولید بینش با هدف بهره گیری از آن در تصمیم گیری بود . سازمان هایی که معماری و پلت فرم تجزیه و تحلیل خود را با بکارگیری فناوری های جدید ، جهت پاسخ به نیازهای امروز و توجه به واقعیت های بی بدیلی نظیر داده های عظیم ، بهنگام و ارتقاء ندهند ، در عمل نمی توانند از مزایای واقعی تجزیه و تحلیل داده به منظور تاثیرگذاری مثبت بر کسب و کار خود استفاده نمایند .

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

ورود کامپیوتر به دنیای تجزیه و تحلیل
ورود کامپیوتر به زندگی انسان ، دنیای تجزیه و تحلیل را دچار تغییر و تحولات شگرف کرده است. کامپیوتر به عنوان ابزاری جهت ذخیره سازی و پردازش سریع و دقیق اطلاعات ، دارای یک نقش تعیین کننده در تولید خروجی است . بدیهی است به موازات افزایش حجم داده ورودی و نیاز به تولید خروجی در یک بازه زمانی سریع تر ، شاهد تغییرات عمده ای در محیط تجزیه و تحلیل پیرامون خود باشیم( زندگی شخصی ، زندگی کاری )  .محیطی که سیستم های کامپیوتری دارای یک نقش تعیین کننده و کلیدی در آن هستند . داده شاهرگ حیاتی تصمیم گیری و ماده اولیه پاسخ گویی است .
 بدیهی است ، با افزایش مستمر تولید داده و ضرورت پردازش حجم بسیار بالایی از داده در سازمان ها ، نمی توان با تمسک به روش های گذشته و بکارگیری معماری و فناوری های پیشین در سودای تولید بینش با هدف بهره گیری از آن در تصمیم گیری بود . سازمان هایی که معماری و پلت فرم تجزیه و تحلیل خود را با بکارگیری فناوری های جدید ، جهت پاسخ به نیازهای امروز و توجه به واقعیت های بی بدیلی نظیر داده های عظیم ، بهنگام و ارتقاء ندهند ، در عمل نمی توانند از مزایای واقعی تجزیه و تحلیل داده به منظور تاثیرگذاری مثبت بر کسب و کار خود استفاده نمایند .بپذیریم که با روش های گذشته نمی توان با داده و خصوصا تجزیه و تحلیل آن برخورد کرد و باید طرحی نو در انداخت .
با نگاهی به گذشته و وضعیت فعلی محیط های تجزیه و تحلیل ، می توان به خوبی روند تکاملی سیستم های تجزیه و تحلیل را از ابعاد مختلف نظیر مقیاس پذیری ملاحظه کرد . در این مسیر ،  تاکنون از فناوری های مختلف و مهمی استفاده شده است . همگرایی محیط های داده با تجزیه و تحلیل ، معماری پردازش موازی انبوه یا MPP ( برگرفته شده از Massively Parallel Processing )  ،  رایانش ابری ، رایانش مشبک  و MapReduce از جمله فناوری های مهمی می باشند که جملگی در جهت افزایش میزان مقیاس پذیری محیط های تجزیه و تحلیل مطرح و به کار گرفته شده اند .
 
 فناوری های مهم جهت پاسخ گویی به حجم داده و مقیاس پذیری
  شکل 1 : فناوری های مهم مقیاس پذیری جهت پاسخ گویی به حجم داده

در ادامه با  تمرکز بر روی هر یک از فناوری های اشاره شده در شکل 1 ، با دستاوردها و جزئیات هر یک بیشتر آشنا می شویم . هدف پرداختن به مفاهیم مهم است و درگیر مسائل فنی نخواهیم شد .

همگرایی محیط داده و تجزیه و تحلیل
در گذشته ای نه چندان دور (25 سال پیش ) ، برای تجزیه و تحلیل  داده ذخیره شده بر روی نوارهای مغناطیسی از سیستم های main frame استفاده می گردید . پس از آن با ظهور سیستم های مدیریت بانک های اطلاعاتی رابطه ای (RDBMS ) ، یک رویداد مهم در حوزه مدیریت داده اتفاق افتاد . سیستم های مدیریت بانک های اطلاعاتی رابطه ای به سرعت متداول شدند و به گزینه ای مطلوب با قابلیت مقیاس پذیری و تطبیق پذیری بیشتر و استانداردی جهت مدیریت داده تبدیل شدند. امروزه ، کمتر می توان مواردی را مشاهده کرد که از main frame برای تجزیه و تحلیل داده به مفهوم عام استفاده می گردد . هم اینک ، اکثر داده مورد نیاز جهت تجزیه و تحلیل در بانک های اطلاعاتی رابطه ای ذخیره می گردد و شاهد میدان داری  این نوع بانک های اطلاعاتی در حوزه های بیشماری می باشیم . علی رغم علم به واقعیت فوق، اخیرا و متناسب با تحولات عمده در حوزه داده و ظهور نسل جدیدی از نوع های داده که به داده های غیر ساختیافته  معروف شده اند ، دوران یکه تازی بانک های اطلاعاتی رابطه ای تغییر یافته است و فناوری های مختلفی جهت ذخیره ، پردازش و عرضه این نوع داده ها ابداع  شده است . به عنوان نمونه ، برای پردازش این نوع داده های غیرساختیافته از MapReduce استفاده می گردد . 
معماری محیط تجزیه و تحلیل در گذشته بسیار ساده بود . در این معماری ، با استخراج و انتقال داده مورد نیاز از منابع داده به محیط تجزیه و تحلیل ، امکان تحلیل داده فراهم می گردید . تمامی فرآیندهای سنگین در محیط تجزیه و تحلیل که معمولا یک دستگاه کامپیوتر شخصی بیش نبود ، انجام می گردید. ماشین کاربر صرفا ارسال کننده درخواست بود و عملا خود را درگیر کار سنگینی نمی کرد .  شکل 2 ، معماری سنتی تجزیه و تحلیل را نشان می دهد . 

 معماری سنتی تجزیه و تحلیل
  شکل 2 : معماری سنتی تجزیه و تحلیل

با انجام فرآیندی که معروف به آماده سازی داده است ، داده از منابع مختلف استخراج و پس از تلفیق با یکدیگر ، متغیرهای مورد نیاز برای تجزیه و تحلیل ایجاد می گردید. در دنیای انبار داده به این فرآیند ETL ( برگرفته شده از Extract,Transform,Load  ) گفته می شود . شاید جالب باشد به این نکته اشاره گردد که تحلیل گران اقدام به ایجاد انبارک های داده می کردند قبل از این که واژه Data mart و یا Data warehouse ابداع شده باشد . این کار به صورت پروژه به پروژه و بر اساس نیاز منطقه ای ایجاد می گردید و تابع یک مدل و یا یک راه حل جامع نبود .
در ادامه روند تکاملی سیستم های تجزیه و تحلیل داده ، حرکت به سمت تمرکز داده در یک مکان و استفاده از آن برای مصارف مختلف در دستور کار قرار گرفت و متعاقب آن ، تمایل به استفاده از یک انبار داده متمرکز که می توانست تاثیرات شگرفی را بر روی شیوه تجزیه و تحلیل به دنبال داشته باشد، افزایش یافت. با داشتن حجم بالایی از داده در یک مکان ، ضرورتی به انتقال و ترکیب داده برای تجزیه و تحلیل داده به تنهایی وجود ندارد . داده در یک مکان متمرکز قرار می گیرد و در انتظار تجزیه و تحلیل است . شرایط فوق ، یک دنیای جدید با قابلیت مقیاس پذیری مناسب  به همراه امکانات متعدد دیگر را پیش روی تحلیل گران داده قرار داد . 
در ابتدا ، بانک های اطلاعاتی برای یک هدف خاص و متناسب با نیاز کسب و کار ایجاد و در طول سازمان توزیع می شدند . به این نوع بانک های اطلاعاتی تک منظوره ،  data mart یا انبارک داده گفته می شود . با این که همچنان بسیاری از سازمان ها از انبارک های داده استفاده می کنند ، سازمان های پیش رو ، به منظور خلق ارزش بیشتر به سمت ترکیب بانک های اطلاعاتی مختلف  درون یک سیستم بزرگ به نام انبار داده سازمانی (EDW )  حرکت کرده اند . در یک انبار داده سازمانی ، با جمع آوری تمامی داده های مهم سازمان و ذخیره آنها در یک بانک اطلاعاتی متمرکز ، یک نسخه صحیح ، دقیق و جامع از اطلاعات ایجاد می گردد(single version of the truth ) . با بهره برداری از منبع ارزشمند فوق ، دنیای تجزیه و تحلیل داده وارد مرحله نوینی گردید .
در یک محیط in-database که جلوه آن را در یک انبار داده سازمانی می توان مشاهده کرد، پردازش همچنان در بانک اطلاعاتی و مکانی که داده ترکیب و منسجم شده است ، صورت می پذیرد. ماشین کاربر ، صرفا درخواست خود را ارسال می کند و در عمل وظیفه سنگینی بر عهده ندارد . شکل 3 ، جایگاه یک انبار داده جهت تجزیه و تحلیل داده را نشان می دهد .

معماری مدرن in-database
  شکل 3 : معماری مدرن in-database

سیستم های پردازش انبوه موازی
بیش از یک دهه است که شاهد بکارگیری سیستم های بانک اطلاعاتی پردازش انبوه موازی یا MPP  (برگرفته شده ازMassively parallel processing  ) می باشیم . با این که معماری ارایه شده توسط تولید کنندگان ممکن است متفاوت باشد ولی MPP ، به عنوان یکی از بالغ ترین و باثبات ترین روش های موثر جهت ذخیره  سازی و تجزیه و تحلیل حجم بالایی از  داده شناخته شده است و از آن در ابعاد بسیار وسیعی استفاده می گردد . تفکر اصلی MPP ، تقسیم داده به چندین بخش مستقل و بکارگیری فضای ذخیره سازی و توان پردازشی مستقل برای هر یک از بخش های داده است . به عبارت دیگر ، برای برخورد با حجم بالای داده ، چاره کار در تقسیم آن ها و مدیریت مستقل منابعی نظیر فضای ذخیره سازی و پردازشگر دیده شده است . این وضعیت را می توان با توزیع داده بین چندین کامپیوتر متصل شده به چندین شبکه مقایسه کرد .معماری MPP ، از قدرت بسیار بالایی جهت پردازش حجم بالایی از داده برخوردار است .  شکل 4 ، معماری MPP را نشان می دهد .

معماری MPP
  شکل 4 : معماری MPP

بانک های اطلاعاتی MPP  با توزیع داده بین چندین مجموعه پردازشگر و فضای ذخیره سازی ، امکان تجزیه و تحلیل حجم بسیار بالایی از داده را در یک بازه زمانی معقول فراهم می نمایند .عملکرد معماری فوق، مشابه این وضعیت است که ما ده ها تا صدها کامپیوتر شخصی را که بر روی هر یک مجموعه کوچکی از یک مجموعه بسیار بزرگ داده قرارمی گیرد را به خدمت بگیریم . بدین ترتیب ، درخواست های بانک اطلاعاتی به مراتب سریع تر اجراء خواهند شد چراکه در مقابل اجرای یک query بزرگ ، چندین query با مقیاس کوچکتر و بطور همزمان اجراء می شوند .
فرض کنید بخواهیم یک بانک اطلاعاتی یک ترابایتی را با هدف تجزیه و تحلیل پردازش کنیم . اگر ده واحد پردازش کننده داشته باشیم ، می توان بانک فوق را به ده بخش 100 گیگابایتی تقسیم کرد و هر قسمت را در اختیار یک  واحد پردازش کننده قرار داد . در صورتی که تعداد واحدهای پردازش کننده را ارتقاء دهیم و به عدد 20 برسانیم ، می توان یک ترابایت را به بیست بخش مستقل 50 گیگابایتی تقسیم کرد و در اختیار واحدهای پردازش کننده قرار داد . بدیهی است در حالت دوم، شاهد بهبود چشمگیر عملکرد و سرعت در اجرای درخواست های بانک اطلاعاتی خواهیم بود. با افزایش تعداد واحدهای پردازش کننده شاهد رشد خطی بهبود سرعت و عملکرد در اجرای درخواست های بانک اطلاعاتی خواهیم بود . شکل 5 ، نحوه تقسیم کار به چندین بخش در یک سیستم  MPP را نشان می دهد .

 اجرای فرآیندها در معماری MPP
  شکل 5 : اجرای فرآیندها در معماری MPP

سیستم های MPP دارای ابزارهای مدیریت منابع می باشند تا به کمک آنها بتوان علاوه بر مدیریت پردازشگرها وفضای ذخیره سازی ، بهینه سازی درخواست های بانک اطلاعاتی را نیز انجام داد . انباره های داده موازی ( PDW ) ، پاسخی مناسب به پردازش و تحلیل داده در حوزه داده های عظیم است که قدرت خود را مدیون بکارگیری فناوری MMP می باشند.

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