مقدمه:
DB2 محترمترین و قدرتمندترین Database Engine دنیاست. IBM ادعا میکند که بیشتر Dataهای ساخت یافته دنیا بر روی DB2 و بیش از هر پایگاه داده دیگری ذخیره شده است. DB2 یک پایگاه داده رابطه ای بر روی Main frame میباشد که زبان SQL استاندارد را برای دستکاری داده مورد استفاده قرار میدهد.
DB2 در روند توسعه خود، امکانات جدید و به روز دنیای پایگاه داده را در نسخه های مختلف خود جای داده است. قابلیتهایی چون XML Databae، In-memory Database ، Column-store Database و NoSQL Database ها
DB2 نسخه ۱۱٫۱ تحت z/OS در میان کلیه نسخههای قبلی از تمامی پیشرفتهای سختافزاری بهرهمند میشود. DB2 V11.1 سینرژی بین سخت افزار و نرم افزار سیستم Z، را برای کارایی بهتر، انعطاف بیشتر و عملکرد بهتر، بهبود داده است. بانضمام اینکه DB2 V11.1 از Large memory و پردازشگر سریعتر و استفاده بهتر از سخت افزار پشتیبانی میکند.
مواردی که نشان دهنده مزیتهای DB2 V11.1 است در زیر به شکل اجمالی ارائه شده است:
بهبود در میزان مصرف پردازشگر:
در DB2 10.1 ، صرفه جویی در مصرف پردازشگر به شکل بسیارقوی ارائه شده بود و ارزش افزوده برای مشتریان IBM، ایجاد کرده بود. در DB2 V11.1 علاوه بر بهبود بیشتر در مصرف پردازشگر، کارایی سیستم نیز پیشرفت چشمگیری داشته است.
تستهای داخلی IBM (در یک مقایسه سیستمی بین DB2 نسخه های ۱۰ و ۱۱) نشان داده است، با توجه به بارهای کاری متفاوت، صرفه جویی پردازشگر به شرح زیر میباشد :
- سیستمهای OLTP (تراکنشی برخط) با بار کاری پیچیده : تا سقف ۱۰%
- سیستمهای OLAP با بارهای کاری پرفشار BATCH : تا سقف ۱۰%
- اجرای گزارشات پیچیده بر روی جداول غیر فشرده (Non-Compressed) : تا سقف ۲۵%
- اجرای پرس و جوهای پیچیده بر روی جداول فشرده (Compressed) : تا سقف ۴۰%
قالبیتهای اضافه شده به Utility های DB2 V11.1 نیز باعث کاهش مصرف پردازشگر شده است، تعدادی از موارد به شرح زیر است :
- اجرای Utiliy LOAD تا سقف ۷۰%
- اجرای Utility RECOVER تا سقف ۴۰%
- اجرای Utility REORG تا سقف ۲۰%
یکپارچگی عمیق بین DB2 V11.1 و سخت افزار باعث پردازش بهتر Utility های REORG,LOAD و RUNSTATS و … شده است، تعدادی از پردازشهای مرتبط با Utility ها مناسب برای پردازش روی پردازشگر zIIP هستند (در صورتی که سیستم Z مورد استفاده دارای پردازشگر مذکور باشد.) وجود پردازشگر zIIP عمده پردازشهای ناهمزمان (ASync) را انجام میدهد و از این رو بار کاری پردازشی بر روی پردازشگرهای عمومی کاهش خواهد یافت، همچنین امکان انجام Utiltyهای Online را در ساعات کاری افزایش میدهد.
بهبود کارایی در سطح سیستمی :
- کدهای داخلی ماشین برای دستورات تکرار شونده بهبود یافته اند، این قابلیت برای بهبود پردازشهای SQLی و همچنین برای عملیات Sort بکار میرود.
- بهبود مقیاس پذیری با آدرس دهی ۶۴ بیتی در z/OS فراهم شده است، این نوع از آدرس دهی امکان اجرای تعدای روتین سیستمی را به شکلی فراهم میآورد که بالای خط ۲G در حافظه اجرا شوند. اجرا شدن روتین های سیستمی بالای خط باعث آزاد شده فضای آدرس DBM1 در DB2 شده و سرعت در اجرای پردازش را منتج خواهد شد.
- الگوریتم DeCompress کردن DB2 بهبود کارایی یافته است.(در محیطهای OLAP که جداول فشرده با حجم زیاد داده دارند کاربرد دارد.)
- بهبود در کار کردن با جداول پارتیشنی که بالای ۲۰۰ پارتیشن دارند.
تغییر در نحوه نوشتن LOG :
دو نوع آدرس در نوشتن لاگ وجود دارد :
- RBA (Relative Byte Address) :
این آدرس برای نگهدای آدرس خطوط لاگ پایگاه داده است.
- LRSN (Log Record Sequence Number) :
این آدرس برای سیستمهای اشتراک داده ای (Data Sharing) استفاده میشود. در حقیقت برای همگام نگه داشتن رکوردهای لاگ در محیط اشتراکی کاربرد دارد.
در نسخه های قبلی DB2 این فضای آدرس دارای ۶ بایت فضای آدرس بوده است، که در DB2 V11.1 این فضا به ۱۰ بابت افزایش پیدا کرده است. با این تغییر یک فضای آدرس دهی ۲۸۰ تایی برای آدرسهای لاگ خواهیم داشت. با این فضا میتوان بیش از ۳۰۰۰ سال را آدرس دهی کنیم.
بهبود در مدیریت فضای بافرپول:
- در DB2 V11.1 به راحتی میتوان بافرپولهای بزرگ را تعریف کرد. به عنوان مثال فضاهای ۵ گیگابایت ، ۱۰ گیگابایت یا بزرگتر
- در DB2 10.1 فضای بافرپول به اندازه نیاز تخصیص مییافته است در DB2 V11.1 تعریف به اندازه ای که مایل هستیم به صورت مجازی انجام خواهد شد و رزرو بافرپول خواهد بود که در صورت نیاز تخصیص خواهد یافت.
- نحوه فراخوانی صفحات به درون بافرپول برای Utilityها از حالت آخرین صفحه استفاده شده به بیشترین صفحه فراخوانی شده، تغییر پیدا کرده است. این تغییر باعث کاهش مصرف پردازشگر برای اجرای Utility های COPY,UNLOAD و RUNSTATS شده است ، این تغییر برای کلیه Utility هایی که فاز UNLOAD دارند نیز کاربرد دارد (مانند : Online REORG (index & tablespace) – Rebuild index – CHECK (Data & index) )
- بهبود عملیات PreFetch در بافرپول
نیاز کمتر به استفاده از Utility REORG :
همانطور که میدانید یکی از مهمترین عملیات نگهداری پایگاه داده اجرای Utility REORG برای مرتب سازی داده ها بر روی TableSpace و Index Space است. در DB2 V11.1 روالهای داخلی به شکلی تغییر کردهاند که میتوان این ابزار را کمتر مورد استفاده قرار داد، در زیر به صورت اجمالی به چند نکته اشاره خواهیم داشت:
- نحوه واکشی اطلاعات از ایندکسهای نامرتب در گذشته بسیار زمانبر بوده است و حتما باید با REORG index مرتب سازی مجدد میشدند، در DB2 V11.1 با تغییر نحوه واکشی اطلاعات نیاز به اجرای REORG کمتر شده است.
- در زمان حذف شدن رکورد از ایندکس ، صفحاتی به نام شبه-حذف شده به وجود میآیند که با گذر زمان و زیاد شدن تعداد آنها باعث اختلال در عملکرد واکشی اطلاعات از ایندکس میشوند.در گذشته برای پاک شدن صفحات شبه-حذف شده نیاز به استفاده از REORG میبوده است در DB2 V11.1 فرآیندی اتوماتیک عملیات حذف این صفحات زائد را بر عهده میگیرد. در این حالت نیاز به اجرای REORG کمتر خواهد شد.
- اضافه شدن صفت PCTFREE x FOR UPDATE y در تعریف TableSpace باعث ایجاد یک فضای مضاعف به اندازه x+y در هر صفحه خواهد شد این مقدار خالی کمک خواهد کرد که ارجاعات اضافی بر اثر کمبود جا در یک صفحه به وجود نیاید. ارجاعات کمتر باعث نیاز کمتر به REORG خواهد بود.
- همچنین در اجرای Online REORG، فاز سوییچ کوتاه شده است، در این صورت در زمان اجرای Online REORG فاصله زمانی کمتری برنامه های کاربردی در دسترس نخواهند بود.
بهبود در نوشتن پرس و جو (Query):
مواردی که در DB2 V11.1 برای نوشتن پرس و جو اضافه شده است، باعث میشود مهارتهای کمتری برای نوشتن SQL کارآمد نیاز باشد. به چند مورد به طور اجمالی اشاره خواهیم کرد:
- شرایطی که قبل از DB2 V11.1 ایندکس پذیر نبوده اند اما در در این نسخه قابلیت ایندکس گذاری پیدا کردهاند.
- بعضی از شروط پرس و جو که در Stage2 بررسی میشده اند به Stage1 انتقال پیدا کردهاند.
- قابلیت ایندکس گذاری بر روی فیلدهای NULL:
در DB2 V11.1 این امکان به وجود آمده است که مقادیر NULL از ایندکس بیرون گذاشته شوند.
- قابلیت استفاده از شروط پیچیده در تعریف Materilized Query Table و View
- هرس کردن شرایط به صورت اتوماتیک:
حذف مقادیری که در شرایط پرس و جو همواره TRUE یا همواره FALSE میباشند.
- حذف اتوماتیک رکوردهایی که باعث پاسخ Duplicate میشوند:
نحوه پاسخ دهی در مواردی که دستور Group By یا Distinct استفاده شده است یک early join صورت گرفته و رکوردهای تکراری را حذف میکند، این روش در گذشته فقط برای دستور Exists صورت میگرفته است.
- تبدیل اتوماتیک Sub query های هم بست (Correlated) به ناهم بست (Non-Correlated):
در این روش بهینهساز DB2 تصمیم میگیرد که مقادیری از Sub query ها که پاسخ، آنها را به هم وابسته میکند به شکلی تغییر دهد که به شکل غیر وابسته هر کدام قابل اجرا باشند. این عمل باعث بهبود در زمان پاسخ دهی پرس و جو خواهد شد.
- بهبود کارایی در نوع داده DECFLOAT:
این بهبود باعث کاهش مصرف پردازشگر تا ۲۳% خواهد شد.
- بهبود کارایی در عملگرهای move ، cast و case
- زمانیکه شروط پرس و جو در یک فیلد از جدول پارتیشنی موجود باشد، DB2 V11.1 دسترسی را برای پارتیشن مناسب محدود میکند.
- کارایی جداول موقت DGTT (Declare Global Temporary Table) افزایش یافته است و همچنین امکان تعریف جداول موقت با صفت NOT LOGGED اضافه شده است.
- امکان تعریف متغیرهای سراسری (Global variable)
- اضافه شدن تکنیکهای In-memoty Database:
قابلیت استفاده مجدد از workfile ها و همچنین اضافه شدن ایندکسهای جایگزین Spare-index ها، هر دو قابلیت باعث سرعت در اجرای پرس و جوها خواهند شد.
- Drop Column از مزیتهایی است که در DB2 V11.1 اضافه شده است.
- Alter کردن محدوده پارتیشن از مزیتهای دیگری است که در DB2 V11.1 ارائه شده است و نیاز به REORG در همان لحظه ندارد.
اضافه شدن امکانات آماری و تحلیلی در DB2 V11.1 :
در DB2 V11.1 امکانات کار با داده حجیم (Big Data) در نظر گرفته شده است. ماژول سخت افزاری IDAA(IBM DB2 Analytics Accelerator) به عنوان بهینه ساز بارهای کاری سنگین در محیطهای OLAP وOLTP معرفی شده است که باعث به وجود آمدن سه دسته آمار تحلیلی شده است.
- آمار Real-Time
- آمار پیش بینی کننده (Predictive)
- آمار داده های تاریخی (Historical)
همچنین DB2 V11.1 برای تحلیل آماری داده های حجیم (Big Data) از قابلیتهای Hadoop نیز میتواند بهرهمند شود .
1 دیدگاه. Leave new
بسیار عالی