سبد (0)

Buffer Pool چیست؟

آموزش پیشرفته SQL Server (جلسه نهم) - Buffer Pool چیست؟

Buffer Pool چیست؟، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی Buffer Pool چیست؟، قسمت های قبلی را مرور فرمایید.


Buffer Pool چیست؟

حافظه Buffer به دو صورت سخت افزارى و نرم افزارى وجود دارد و اطلاعات فرستاده شده بین دو واحد بصورت موقت در آن قرار می گیرد.

براى مثال انتقال اطلاعات از پردازشگر مركزى به چاپگر را در نظر بگیرید، CPU  قطعه اى است كه در مقایسه با چاپگر بسیار سریع پردازش می كند و اگر ما بخواهیم اطلاعاتى را از پردازشگر به چاپگر بدون وجود Buffer بفرستیم، در زمان كارى پردازشگر وقفه ایجاد خواهد شد. بنابراین بین پردازشگر مركزى و چاپگر می توان بافرى (چه به صورت سخت افزارى و چه به صورت نرم افزارى) قرار داد تا پردازشگر، اطلاعات را براى Buffer فرستاده و چاپگر سر صبر و حوصله آنها را چاپ نماید.

اما هنگام اجرای کوئری های SQL Server، از حافظه Buffer برای نگهدای Pageها استفاده می شود و بزرگترین بخش از حافظه RAM را اشغال می کند.

حافظه Buffer شامل Pageهای 8 کیلوبایتی است که دقیقاً معادل اندازه Page های داده ها و ایندکس ها در SQL Server است، بنابراین حافظه buffer به Pageهای 8 کیلوبایتی تقسیم می شود.

Buffer Manager وظیفه مدیریت فضای Buffer را برعهده دارد و داده ها و ایندکس ها را از دیسک خوانده و در حافظه Buffer می نویسد و اگر در داده های موجود در buffer تغییری ایجاد شد، اصلاحات را روی دیسک برمی گرداند.

Pageها در حافظه Buffer باقی می مانند مگر اینکه Buffer Manager به خواندن داده های بیشتری نیاز داشته باشد. داده ها قبل از نوشته شدن روی دیسک می تواند بارها و بارها مورد تغییر قرار گیرد.

زمانی که SQL Server برای اولین بار اجرا می شود، میزان فضای Buffer بر اساس مقدار فضای RAM و کانفیگ حداکثر تعداد Threadهای سرور و چند پارامتر دیگر محاسبه و ایجاد می شود. SQL Server میزان فضای محاسبه شده را رزرو می کند. این فضا Memory Target نامیده می شود.

برای آگاهی از میزان فضای رزروی Buffer و یا میزان فضای مصرفی می توانید از DMV روبرو استفاده نمایید: sys.dm_os_sys_info 


بررسی خطای Insufficient Memory

خطای Insufficient Memory زمانی رخ می دهد که حافظه مربوط به SQL Server کم باشد.

خطای Insufficient Memory به یکی از دلایل زیر رخ می دهد:

  1. تنظیمات نامناسب Min Memory و Max Memory
  2. بالا بودن حجم کاری یا Workload سیستم
  3. اجرای درخواست های بسیار سنگین روی پایگاه داده

در SQL Server 2014 چه امکانی در ارتباط با حافظه Buffer اضافه شده است؟

در SQL Server 2014 شما می توانید علاوه بر حافظه Buffer اختصاص داده شده روی RAM از یک دیسک SSD نیز استفاده کنید.


در ادامه آموزش Buffer Pool چیست؟ خواهید دید ...!

با خرید جلسه 8 از بسته آموزشی "افزایش کارآیی پایگاه داده" موارد زیر را خواهید دید:

  1. نحوه ی اضافه کردن فضای Buffer بر روی یک دیسک SSD
  2. اسکریبتی که میزان استفاده از حافظه Buffer را به ازای هر پایگاده داده مشخص می کند.
  3. اسکریبتی که میزان استفاده از حافظه Buffer را به ازای هر جدول مشخص می کند.
  4. و ...

دسترسی به موارد آموزشی بالا در بسته خریداری شده

  • شماره جلسه: 9
  • نام فایل ویدئو: 03
  • فرمت فایل: mp4.

نقطه شروع بحث بالا (Buffer Pool چیست؟) در ویدئو: 28:58


برای خرید و دانلود کامل آموزش پیشرفته SQL Server کلیک کنید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه