تبلیغات
NiceSoft - معماری SQL Server قسمت سوم

معماری SQL Server قسمت سوم

تاریخ:شنبه 22 آبان 1389-01:10 ب.ظ

معماری بانكهای اطلاعاتی SQL Server

Sql Server داده ها را در بانكهای اطلاعاتی ذخیره میكند. داده های درون بانكهای اطلاعاتی در مولفه های منطقی قابل رویت كاربر سازماندهی میگردند. بانك اطلاعاتی همچنین توسط 2 یا چند فایل فیزیكی پیاده سازی میگردد. هنگام استفاده از بانك اطلاعاتی كاربر با مولفه های منطقی نظیر جداول ، دیدها ، روتینها و كاربران كار میكند.

 


 صفحات

واحد اولیه و اصلی ذخیره سازی داده ها در MS SQL Server صفحات میباشند. ( صفحه در یك سیستم ذخیره سازی مجازی عبارت است از یك بلوك با اندازه مشخص كه میتواند از حافظه به دیسك سخت و برعكس منتقل گردد ). در SQL Server هر صفحه 8 كیلو بایت (8192 byte) میباشد.بنابراین بانك های اطلاعاتی SQL Server در هر مگا بایت 128 صفحه را ذخیره میكنند.

 در 96 بایت اول هر صفحه اطلاعات سیستمی نظیر نوع صفحه ، مقدار فضای خالی در صفحه ، و شماره شناسائی صفحه ذخیره میگردد.

 جدول زیر 8 نوع از صفحات فایلهای داده ای را نشان میدهد

 

شامل

نوع صفحه

سطرهای داده ای از تمام انواع داده ای بجز انواع داده ای text ، ntext  و image

Data  داده ای

ورودیهای شاخص

Index  شاخص

  انواع داده ای شامل text ، ntext و image

Text/Image

اطلاعات فضاهای تخصیص یافته به حوضه ها.

جدول تخصیص فضای سراسری[1]

جدول تخصیص فضای سراسری ثانویه [2]

اطلاعات فضاهای خالی موجود در صفحات .

اطلاعات فضاهای خالی صفحات

اطلاعات درباره حوضه های كه توسط یك جدول و شاخص استفاده شده اند.

جدول شاخص فضای تخصیصی[3]

اطلاعات حوضه های تغییر یافته بعد از آخرین تراكنش پشتیبان.

جدول تغییرات انباشته[4]

اطلاعات حوضه های تغییر یافته بعد از آخرین پشتیبان از بانك اطلاعاتی

جدول تغییرات جزئی[5]

 

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

صفحات داده ای میتوانند شامل تمام انواع داده ای به غیر از انواع text ، ntext و image باشند . ( از انواع text ، ntext و image در صفحات جداگانه ای قرار میگیرند ). سطرهای داده ای بطور متوالی بلافاصله بعد از سطر آغازین[6] قرار می گیرند.جدول آدرس سطرهای داده ای در انتهای هر صفحه قرار می گیرد.در این جدول به ازای هر سطر داده ای یك خانه وجود دارد كه آدرس سطر   داده ای را بر حسب فاصله آن به بایت از اول صفحه مشخص می نماید. ترتیب قرار گیری این آدرسها بصورت معكوس می باشد بدین معنی كه از انتهای صفحه این جدول آغاز شده  و به داخل صفحه توسعه می یابد.

 

 

 

حداكثر اندازه هر سطر داده ای میتواند 8060 بایت باشد ( اندازه یك صفحه منهای سربار هر صفحه ) و هر سطر داده ای می تواند شامل تمام انواع داده ای به غیر از انواع text ، ntext و image باشد.

حوضه ها [7] واحد تخصیص حافظه برای جداول و شاخصهای در SQL Server  می باشد.هر حوضه شامل 8 صفحه پشت سر هم به اندازه 64 كیلو بایت است. بنابراین بانكهای اطلاعاتی SQL Server به ازای هر مگا بایت دارای 16 حوضه هستند. برای بالا بردن كارائی تخصیص حافظه SQL Server ، برای جداول با مقداری داده ایی كم یك حوضه كامل در نظر گرفته نمی شود. بنابراین SQL Server   از دو نوع حوضه استفاده میكند:

1-     حوضه های یكدست[8] : كه این حوضه ها جهت نگهداری یك شئ استفاده می شوند. یعنی تمام هر 8 صفحه حوضه توسط یك شئ پر میشوند.

2-     حوضه های تركیبی[9] : كه در این نوع حوضه ها میتوان اشیاء مختلف را ذخیره نمود.


 

SQL Server از كارائی و سرعت بالائی در تخصیص حافظه صفحات به اشیاء و نیز استفاده مجدد از فضای آزاد شده حذف سطرهای داده‌ای برخوردار است.


ادامه دارد قسمت چهارم



[1] Global Allocation Map

[2] Secondary Global Allocation Map

[3] Index Allocation Map

[4] Bulk Changed Map

[5] Differential Changed Map

[6] Page Header

[7] Extents

[8] Uniform extents

[9] Mixed extents




http://cowardlyvirus7707.snack.ws/
شنبه 17 تیر 1396 03:33 ب.ظ
Wonderful post however I was wondering if you could write a litte more on this topic?
I'd be very grateful if you could elaborate a little bit more.
Many thanks!
foot pain from shoes
سه شنبه 6 تیر 1396 01:34 ق.ظ
We're a group of volunteers and starting a new scheme in our community.
Your site offered us with helpful info to work
on. You have done an impressive job and our whole community will be thankful
to you.
BHW
سه شنبه 29 فروردین 1396 04:50 ق.ظ
I'm really enjoying the theme/design of your website.
Do you ever run into any browser compatibility problems?
A couple of my blog visitors have complained about my blog not working correctly in Explorer but looks great in Chrome.

Do you have any suggestions to help fix this problem?
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر