بهینه سازی فضای ذخیره سازی پایگاه های داده ای – بخش اول

بهینه سازی فضای ذخیره سازی پایگاه های داده ای – بخش اول

در این مقاله در مورد اینکه چه کارهایی در سطح فضای ذخیره سازی انجام دهیم

تا بتوانیم عملکرد پایگاه داده ای را بهبودببخشیم صحبت میکنیم .

مهمترین مسئله در ذهن هر متخصص فناوری اطلاعات این است که بتواند عملکرد پایگاه داده ای

را بالا ببرد .  می توانیم بگوییم آنچه بعنوان خروجی از پایگاه های داده ای در سازمانی تولید

میشود ؛ در بسیاری جهات بعنوان نیروی حیاتی سازمان می باشد . محصول تولید شده از بخش

پایگاه داده ای نقش مهمی در بخشهای مختلف یک سازمان اعم از بخش معاملات ؛ برنامه های

کاربردی ؛ عملیات ؛ هوش کسب و کار و تجزیه و تحلیل سیستم ها بازی میکند .

همانگونه که حجم و کیفیت کسب و کار بصورت یک تابع نمایی در حال رشد است ؛ میزان سرعت

پردازش این داده ها در یک سازمان معرف ارزش آن سازمان است .

یکی از کلیدها رقابتی در صنایع این است که از چه نوع داده هایی و به چه نحوی از این داده ها

استفاده میشود . امروزه می بینیم که پایگاه های داده ای که در بخش تولید محصول بکار میروند

به سبب رشد فزاینده داده ها با فشار بی سابقه ای باید تعداد زیادی تراکنش را پردازش نمایند .

این مسئله در حالی در حال اتفاق افتادن است که رشد داده به شکل سریع در حال زیاد شدن بوده

درحالیکه بودجه فناوری اطلاعات به این شدت رشد نمیکند .

اما راهکار چیست ؟

در بسیاری از سازمانها برای بهبود عملکرد پایگاه داده سریعا بر روی به روز رسانی و بهینه سازی
یا خرید نسخه های جدیدتر محصولات پایگاه های داده ای روی می آورند که این امر خیلی جوابگو

نمی باشد و نه تنها هزینه را بالا می برد چه بسا با شرایط زیر ساخت موجود ممکن است به خوبی

هم در بهبود وضعیت پایگاه دادهای موثر نباشد . در مقابل آن یکی از از روشهای بهبود عملکرد پایگاه

داده ای با در نظر گرفتن چالش هزینه در سازمانها ؛ استفاده از سخت افزار مدرن در بخش زیر

ساخت می باشد . نوآوری هایی مثل flash storage یا معماری زیر ساخت های همگرا و یا استفاده

از سیستم عاملهایی که بتوانند داده های پیچیده را بخوبی مدیریت نمایند میتواند تاثیر عمده ای در

بهبود عملکرد پایگاه داده ای داشته باشد .

درک مفهوم روند بازار

داده ها بصورت انفجاری در حال رشد هستند .
International Data Corporation (IDC) یا کمپانی مرکز داده بین المللی اعلام کرده که هر دو سال

یکبار رشد داده های دیجیتالی به دو برابر افزایش می یابد .

به همین میزان که داده ها در حال رشد هستند باید زیر ساختهای نگهداری از این داده ها نیز گسترش

پیدا کنند یعنی بالاخره نیاز داریم که این همه داده را در فضاهایی ذخیره کنیم که علاوه بر آن باید

عملکرد سازمان با توجه به رشد روز افزون داده ها نیز دچار مشکل نشود . یعنی سازمان ما باید بتواند

با توجه به میزان رشد داده ها و نیاز به فضاهای ذخیره سازی برای آنها کماکان به کار خود ادامه داده

و دچار مشکل نگردد.

در این مقاله سعی داریم تا با مطالعه بازار با چند مورد در مورد مسئله رشد انفجاری داده ها و چگونگی

بکارگیری آن آشنا شویم . پیش بینی میشود که در آیند تعداد قابل ملاحظه ای از تکنولوژی cloud

استفاده کنند. استفاده از فن آوری cloud و مجازی سازی بعنوان یکی از پارامترهای رقابتی سازمانها

مطرح شده است .
استفاده از فن آوری cloud دیگر فقط به موارد خاص مثل تهیه نسخه پشتیبان از داده ها یا بخش

توسعه نرم افزار محدود نمیشود بلکه این فن آوری، سازمانها را قادر می سازد تا به سرعت رشد

و روند کسب و کار خود را بر اساس روند بازار بهبود و توسعه دهند .

Real Time Analysis یا زمان واقعی تجزیه و تحلیل ترافیک

با در دست داشتن فضاهای ذخیره سازی مناسب تمامی داده ها قابل تحلیل و بررسی می باشند .

با استفاده از این روشهای تحلیلی میتوانیم به بهبود مزایای رقابتی دست یافته و یا تجارب بهتری

را برای مشتریان خود رقم زنیم و بتوانیم تصمیمات هوشمندتری اتخاذ نماییم .

اینترنت اشیا و صحبت در مورد مکانیزم cloud را بعدا در فصل های دیگر دنبال خواهیم کرد.
مسئله ای که میخواهیم به آن بپردازیم این است که در هر صنعت و سازمانی ما با مسئله رشد

داده و تحلیل آن مواجه هستیم . اما داده ها به تنهایی ارزشی برای ما ایجاد نمیکنند بلکه ارزش

داده ها زمانی برای ما سودمند است که بتوان بر اساس آن به تحلیل بازار کسب و کار و بهبود

روند و در جهت کسب رضایت مشتری و نیز کسب درآمد بیشتر قدم برداشت .

چند نکته در رابطه با اینترنت اشیاء

در سال 2011 کمپانی IDC مطالعاتی روی حجم داده های دیجیتال داشت و برآورد کرد

که حجم داده های تولید شده تا سال 2020 به میزان 35000 هگزابایت خواهد رسید.

این عدد در زمانی بود که هنوز بحث اینترنت اشیاء مطرح نشده بود  و داده هایی که

بواسطه آن نیز تولیدمی شد در نظر گرفته نشده بود .

بحث IOT یا اینترنت اشیاء یکی از بحثهای مهم و ضروری و بزرگ آینده می باشد .

در سال 2015 کمپانی IDC تحقیقات دیگری روی حجم داده های دیجیتال کرد و اطلاعات

خود را بروزرسانی نمود و گفت تا سال 2020 به میزان 44 هزار هگزابایت خواهد رسید .

منظور از اشیاء که در عبارت اینترنت اشیاء از آن صحبت میشود چیست ؟

اشیاء به کلیه دستگاههای فیزیکی یا تمام تجهیزاتی که داخل آن اجزاء الکترونیکی

تعبیه شده باشد ؛ یا تمامی نرم افزارها ؛ سنسورها یا کلیه تجهیزاتی که باعث برقراری

ارتباط بین این اشیاء شده و باعث شود که این داده ها بین کاربران تبادل شده یا بین آنها

ارتباطی برقرار کند یا در کارخانجات و یا کسانیکه سرویسی را ارائه میدهند تمامی اینها

به معنی اشیایی می باشند که در اینترنت از آن صحبت میکنیم .

به گزارش گارتنر تا سال 2020 تعداد دستگاههایی که شامل اینترنت اشیاء میشوند به

میزان 25 بیلیون در سطح جهان افزایش خواهد یافت . همچنین مرکز تحقیقات ABI

تخمین زده که داده هایی که توسط دستگاههای مربوط به اینترنت اشیاء در حال

استفاده و افزایش می باشد تا سال 2020 به میزان 1.6 zettabyte در حال رشد است .

مثالهایی از دستگاههای شناخته شده اینترنت اشیاء

لوازم خانگی و تجهیزات آنها که تحت شبکه باشند مثل نور ؛ دما یخچال فریزر و دوربینهای

مخفی فن آوری های پوشیدنی ؛ مثل ساعتهای هوشمند و دستگاههای پزشکی

خودروهای هوشمند که بصورت خودکار در حال تغییر شرایط سازگاری رانندگی با محیط

می باشند یا بصورت خودکار تشخیص مکانیکی  مسائل را دارند و برای تعمیر ونگهداری

آنها با برنامه هوشمند کار میکنند .

یا مثلا برای حرکت در اطراف آب و ترافیک و هوای خطرناک دارای برنامه های خودکار

می باشند .

مترهای هوشمند
که قادرند با تخمین مسافت بین خانه ها و فضاهای مسکونی تا مراکزی که قرار است

به آنها خدمات رسانی از نوع آب و برق را انجام دهند بصورت خودکار میتواند این سرویسها

را  بصورت درست در اختیار مشتری قرار دهد .

تمامی این دستگاههای هوشمند در عرض تنها چند سال به میزان سه برابر در سطح

جهان افزایش یافته اند  و این موضوع یعنی با رشد انفجاری داده روبرو هستیم .

در این بخش به روش بهینه نمودن عملکرد دیتا بیس میپردازم

یکی از مواردی که در زمان آماده سازی فضای زیرساخت بهتر است در نظر بگیرید این است

که ماهیت داده های شما چیست تا بر اساس آن بتوانید سرویسهای کنترلی لازم در زمان بروز

رخدادهای خطرناک را مدیریت نمایید .

اما چه نکاتی را بهتر است برای این بهبود عملکرد در نظر بگیریم :

– در نظر گرفتن امکانات سخت افزاری

یکی از موارد مهم که در بهبود عملکرد دیتابیس دخیل است نوع سخت افزار ذخیره سازی

در پایگاه داده ای می باشد .

امروزه فضاهای ذخیره سازی و فن آوری های مختلفی در زمینه زیر ساخت در بخش فن آوری

اطلاعات یافت میشود که باعث مشوند بتوانیم با رفتن به سمت این روشهای جدید به عملکرد

بهتری در سطح پایگاه داده ها برسیم که عبارتند از :

فضای ذخیره سازی فلش یا flash storage

از آنجاییکه یکی از روشهای اندازه گیری بهبود عملکرد دیتابیس به میزان تعداد عملیات ورودی

و یا خروجی در هر ثانیه که به اصطلاح به آن IOPS =Input/Output Operations Per Second

می گویند ، همچنین با در نظر داشتن چالش هزینه  در سطح enterprise ؛ میتوان گفت که

flash storage میتواند بعنوان یک رویکرد خوب جهت رسیدن به عملکرد بهتر در سطح دیتا بیس

بعنوان یک فضای ذخیره سازی در نظر گرفته شود . در حال حاضر فن آوری فلش در آرایه های

فضاهای ذخیره سازی مبتنی بر فلش موجود می باشند .

مثلا هارهای SSD و HDD دارای مکانیزم flash cache یا flash pool برای دسترسی تصادفی

در خواندن و نوشتن روی دیسک می باشند.

زیر ساخت های همگرا :

در این رویکرد ترکیبی از سرورها و فضاهای ذخیره سازی و شبکه و نرم افزار بعنوان یک راه

حل واحد جهت بهینه سازی و برقراری تعادل در میزان workload یا حجم کاری دیتا بیس با هم

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

و طرح اولیه ؛ اجرای آن بسادگی و بسرعت قابل دسترس می باشد .

مجازی سازی سرورها و مدیریت وسیعتر داده ها در این مدل

از آنجاییکه در رویکرد فضای مجازی سازی کلیه منابع سیستم بین همه ماشینها و

سرویسها به اشتراک گذارده میشود بنابراین مدیریت همه چیز در یک جا متمرکز

خواهد بود . در ضمن اینکه هزینه لایسنس هم کمتر خواهد شد یعنی یک لایسنس

برای خود virtual server نیاز خواهد بود و همه مدیریتها در سطح فضای مجازی سازی

قابل کنترل و دسترس خواهد بود .در این رویکرد چنانچه بتوان ازفن آوری ذخیره سازی

که قابلیت های فشرده سازی و تکراری بودن داده ها را پشتیبانی میکند بهره مند باشیم

در این صورت میتوان گامی در جهت بهبود عملکرد دیتابیس برداشت .

بعبارتی استفاده از محیط مجازی سازی به همراه فن آوری فلش یکی از رویکردهای

بهبود عملکرد دیتابیس می باشد واین درست شبیه به آن است که در یک معادله ریاضی

یک متغیر را کاملا حذف کنید بنابراین رسیدن به جواب ساده تر خواهد بود .

استفاده از فن آوری فلش در محیط دیتابیس یک ضریب اطمینانی از امن بودن

محیط دیتابیس برای سازمان به حساب می آید .

یکی دیگر از ملزومات سخت افزاری که بهتر است در قابلیت های سخت افزار وجود

داشته باشد قابلیت پشتیبانی از چند پروتکلی است . بهتر است هنگام سفارش فضاهای

ذخیره سازی یا storage های لازم برای دیتابیس حتما گزینه های مرتبط با زیر ساخت این

سخت افزارها را جهت بهبود عملکرد دیتابیس در نظر داشته باشیم .

مثلا نمونه های زیر از گزینه هایی است که بهتر است هنگام خرید سخت افزار ذخیره سازی

در آنها در نظر گرفته شده باشد :

– قابلیت CIFS یا قابلیت به اشتراک گذاری فضای فایل سیستم روی اینترنت
– قابلیت FC یا Fiber Channel
– قابلیت FCoE یا Fiber Channel over Ethernet
– قابلیت iSCSI که مخفف کلمه Internel Smal Computer System Interface است
– قابلیت NFS یا Network File System
– قابلیت SMB یا همان به اشتراک گذاری دایرکتوریهای بین لینوکس و ویندوز

 

تشخیص عملکرد

بررسی تنگنا ها یا Bottlenecks

تاخیر و مقدار IOPS(Input/Output Per Second) از کلیدهای شاخص عملکرد دیتا بیس

می باشند .

تاخیر به سرعت پردازش داده در دیتابیس ارتباط دارد و IOPS به اندازه حجم داده پردازش

شده مرتبط است.

در دیتابیس هایی که از دیسک های سخت که دارای تاخیر در فضای ذخیره سازی خود

هستند استفاده میکنیم میزان توان عملیاتی محدود به سرعت این دیسک ها در میزان

پردازش داده ها می باشد . بعضی وقتها در چنین دیسک هایی لازم است که سطح

تاخیر را یا level آن را کم کنیم یا پایین بیاوریم تا بتوانیم میزان توان عملیاتی را بالا ببریم

که برای رسیدن به این هدف ممکن است نیاز به تعداد هارد های بیشتری داشته باشیم .

روش دیگر این است که از فضای ذخیره سازی فلش با دیسک های دیگر استفاده نماییم .

مثلا ترکیب هاردهای SSD و SASیا HDD که به نحو جالب توجهی توان عملیاتی دیتابیس

را بالا خواهد برد.

با استفاده از فن آوری فلش در دیسک های ذخیره سازی میتوانیم میزان عملکرد CPU

را به اندازه ماکزیمم آن افزایش داد و این یعنی ماکزیمم سرمایه گذاری روی این نوع

سرورها را انجام داده ایم .

میدانیم که لایسنس دیتابیس اوراکل غالبا بر اساس per-cpu یا تعداد پردازنده ها می باشد

و مایکروسافت sql نیز لایسنس خود را بر اساس CPU socket و یا تعداد core های CPU میفروشد .

بنابراین اگر نتوانیم بدرستی از مقدار CPU های موجود در سرور خود استفاده کنیم یعین کلی

هزینه کرده ایم درحالیکه به درستی از آن استفاده نکرده ایم .

در بخش بعدی در مورد قابلیتهایی که بهتر است در فضای ذخیره سازی پایگاه داده ای

در نظر گرفت صحبت میکنیم .

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *