امکانات منحصر به فرد SQL Server در نسخه Enterprise

امکانات منحصر به فرد SQL Server در نسخه Enterprise

نوشته شده توسط: حمید فرد
۲۹ شهریور ۱۳۹۴
زمان مطالعه: 20 دقیقه
۳
(۲)

مقدمه

نسخه SQL Server Enterprise چند امکانات داخلی منصر به فرد دارد که توانایی بالا برای بازدهی سریع در سیستم هایی با تراکنشهای بالا و پردازشهای سنگین را دارد. به عنوان مثال سیستمهای «خرید آنلاین» یا «پایانه های فروش» یا سیستمهای گزارشگیری و آنالیزی مانند Credit Reference Information System برای بانکها و بیمه ها که این امکانات و قابلیتهای پنهان در SQL Server Standard Edition موجود نمی باشد.

متاسفانه مسعولان فروش در شرکت مایکروسافت ( به عنوان مثال مایکروسافت مالزی و سنگاپور) تماما در مورد امکانات ظاهری و کلی صحبت می کنند به عنوان مثال در نسخه Enterprise چند پردازنده قابل استفاده است و یا حداکثر حافظه و قابلیتهایی مانند Business Intelligence, High Availability و البته هزینه خرید هر لایسنس برای یک پردازنده فیزیکی ( قیمت هر لایسنس برای Enterprise حدود ۲۶ هزار دلار آمریکا است) اما متاسفانه در یک سوی قضیه مشتری است که هیچ دانشی از امکانات این نرم افزار ندارد و فقط دنبال این است که هزینه لایسنس ها را تا حداکثر پایین بیاورد ولی به چه قیمت ؟ به قیمت اینکه در تراکنشهای بالا سرعت بازدهی پایین آید و امکان از دست دادن مشتریان فراهم شود؟ (البته تمامی این مثالهای در ایران قابل اجرا نیست به هزار و یک دلیل)

داستان

یک شرکت که خدمات خرید اینترنتی و دستگاه های پایانه فروش ارایه می دهد در سرور اصلی خود به دلیل پایین آوردن هزینه ها از SQL Server Standard Edition استفاده می کند. این شرکت برای بالا بردن کیفیت خدمات خود باید دارای سرور پایگاه داده قوی و پر سرعتی باشد که بتواند تمام نیازهای گزارش گیری در یک زمان را فراهم آورد. بعد از یک سال ارایه خدمات این شرکت دچار مشکلات بزرگی از قبیل حجم بالای پایگاه داده – سرعت بازدهی پایین – نداشتن توانایی آرشیو کردن میلیونها رکرورد در چند ثانیه  بدون هزینه یا وقت اضافی. به طور کلی تمامی این مشکلات با داشتن SQL Server Enterprise Edition بر طرف می شود. پس در نتیجه این شرکت نیاز به مشاوره قبل از خرید لایسنس را داشته ولی چه افسوس که برای این موضوع بسیار دیر است.

اگر SQL Server Enterprise گران است پس در مورد SQL Server Standard چه فکر می کنید؟

قابلیت اول

Advance Scan – Merry-Go-Round Algorithm این قابلیت اجازه می دهد که چند Task در خواندن یک جدول شریک شوند. به این معنی که اگر یک Execution Plan نیاز به خواند Data Page های یک جدول را داشته باشد موتور پایگاه داده آن را شناسایی کرده و با Execution Plan که قبل از آن اجرا شده و هنوز به اتمام نرسیده است شریک می کند. اینطور که اگر یک جدول ۱۰۰۰ Data Page داشته باشد و Execution Context 1 آن جدول را تا ۵۰۰ Data Page خوانده باشد و Execution Context 2 اجرا شود موتور پایگاه داده این وضعیت را شناسایی کرده و خواندن جدول را بین آنها تقسیم میکند و در این هنگام داده های جدول را یک بار خوانده و به هر دو Execution Context می فرستد نه اینکه جدول را از اول تا آخر برای هر دو Execution Context بخواند.

قابلیت دوم

Fast Recovery این قابلیت اجازه می دهد که پایگاه داده ها هرچه زودتر بعد از عملیات REDO به صورت Online در بیایند قبل از اینکه عملیات UNDO اجرا شود. این قابلیت توسط Lock Logging امکان پذیر است که تمامی اطلاعات Lock ها در فایل تراکنش ذخیره می شوند.

قابلیت سوم

Prefetching این قابلیت اجاره می دهد که SQL Server در حین خواندن داده های NonClustered Index به صورت Asynchronous داده های وابسته را از جدوال یا Clustered Index ها بخواند.

قابلیت چهارم

Scan Single Scatter موتور ذخیره سازی SQL Server  و یا Storage Engine تمامی Index Page های میانی یا Intermediate Level  را خوانده و لیست بلندی از داده های اصلی یا Leaf Page ها تهیه می کند. در این حین یک جستوجوی کلی بر روی Key Order انجام می دهد و Data Page های ذخیره شده کنار هم را شناسایی و در یک عملیات IO از دیسک می خواند. به عنوان مثال اگر Data Page شماره ۳۰۸و۴۶۵ و ۴۸۸ و ۴۸۹ در کنار هم باشند که نیاز به خواندن داشته باشید تمامی آنها را یکجا می خواند.

قابلیت پنجم

Automatic Matching این قابلیت در Query Optimizer اجازه می دهد که از اطلاعات آماری Computed Column ها در اجرا کوری استفاده شود. البته این قابلیت از SQL Server 2008 در تمامی نسخه ها وجود دارد.

قابلیت ششم

Role Reversal این قابلیت در اجرا عملیات Hash Join به کار می رود در انجام عملیات Hash Join  اگر Query Optimizer نتواند کوچکترین جدول را شناسایی کند جای آنها را تغییر می دهد. ( به فارسی و نوشتاری خیلی سخته توضیحش به لینکداین رجوع شود.)

قابلیت هفتم

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

قابلیت هشتم

Data Compression با این قابلیت شما می توانید حجم داده ها را تا ۷۰٪ کاهش دهید البته بستگی به نوع داده ای دارد. توجه بدون آنالیز و مشاوره با متخصص هیچ وقت این قابلیت را فعال سازی نکنید به دلیل آنکه اگر نوع داده ای هم خوانی نداشته باشد حجم داده ها زیاد تر شده به جای آنکه کمتر شود.

چه رتبه ای می‌دهید؟

میانگین ۳ / ۵. از مجموع ۲

اولین نفر باش

title sign
معرفی نویسنده
حمید فرد
مقالات
6 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
حمید فرد
پروفایل نویسنده
title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link
وبینار رایگان SQL Server؛ مسیری به سوی فرصت‌های شغلی بی‌شمار       پنج‌شنبه 30 فرودین ساعت 15
ثبت نام رایگان
close-image