DBMS
DBMS
پایگاه داده
مدل داده )(Data Model
در سیستم مدیریت پایگاه داده ) ، (DBMSمدل داده چارچوبی مفهومی برای سازماندهی و ساختاردهی دادهها است.
مدل داده به عنوان یک نقشه عمل میکند که چگونگی ذخیره ،ارتباط ،پردازش و دسترسی به دادهها در پایگاه داده را
تعریف میکند .یک مدل داده به خوبی تعریف شده ،برای ایجاد پایگاه دادههایی که کارآمد و موثر برای نیازهای کاربران
باشند ،ضروری است.
.3انعطافپذیری را پشتیبانی میکنند :امکان تغییرات در طرح داده با حداقل اختالل را فراهم میکنند.
.4کمک به پردازش پرسوجو :با سازماندهی منطقی دادهها ،بازیابی آن را سادهتر میکنند.
تعریف :دادهها را به صورت درختی سازماندهی میکند ،با یک ریشه و گرههای فرزند. o
ساختار :دادهها در یک ساختار سلسلهمراتبی سازماندهی میشوند که در آن هر گره فرزند تنها یک گره o
والد دارد.
کاربرد :معموالً در سیستمهای DBMSاولیه مانند سیستم مدیریت اطالعات (IMS) IBMاستفاده o
میشد.
مثال :یک پایگاه داده شرکتی که گره مدیر والد گرههای دپارتمان و گرههای کارمند است. o
محدودیتها :انعطافپذیری محدود؛ مدیریت روابط چند به چند دشوار است. o
تعریف :شبیه مدل سلسلهمراتبی است اما اجازهی چندین رابطه را میدهد. o
ساختار :دادهها به صورت یک گراف سازماندهی میشوند که در آن گرهها میتوانند چندین رابطه (والد o
کاربرد :مناسب برای برنامههایی با روابط پیچیده مانند سیستمهای مخابراتی یا حمل و نقل. o
مثال :نمایش یک زنجیره تأمین که یک تامینکننده به چند فروشگاه محصوالت ارسال میکند و هر o
تعریف :دادهها را به صورت جدولهایی (روابط) که نمایانگر موجودیتها و روابط آنها هستند سازماندهی o
میکند.
ساختار :هر جدول شامل سطرها و ستونها است .هر سطر نشاندهندهی یک نمونهی منحصربهفرد از o
کلید خارجی :ارتباط بین جدولها را ایجاد کرده و یکپارچگی ارجاعی را تضمین میکند. ▪
مثال :یک پایگاه داده دانشجویی با جدولهایی برای دانشجویان ،دروس و ثبتنامها ،که در آن ثبتنامها o
تعریف :از نمودارها برای نمایش بصری موجودیتها ،ویژگیهای آنها و روابط بین آنها استفاده میکند. o
ساختار: o
کاربرد :معموالً در طراحی پایگاه داده برای ایجاد نمایش بصری قبل از پیادهسازی مدل رابطهای استفاده o
میشود.
مثال :نمودار ERکه روابط بین موجودیتهای دانشجو ،درس و استاد را نشان میدهد. o
محدودیتها :تنها مفهومی است و نیاز به ترجمه به یک مدل پایگاه داده مثل رابطهای دارد. o
تعریف :دادهها را به صورت اشیا سازماندهی میکند ،مشابه برنامهنویسی شیگرا. o
ساختار :دادهها به صورت اشیا نمایش داده میشوند که هر شی نمونهای از یک کالس با ویژگیها و o
متدها است.
کاربرد :مناسب برای برنامههایی که نیاز به انواع دادههای پیچیده دارند ،مانند پایگاه دادههای o
مثال :یک پایگاه داده کارکنان که در آن کارمند یک شی با ویژگیها (مثل نام ،شناسه) و متدها (مثل o
تعریف :دادهها را به صورت سندهایی ،معموالً در قالب JSONیا XMLذخیره میکند. o
ساختار :اسناد مجموعهای از فیلدها و مقادیر هستند که میتوانند تو در تو یا سلسلهمراتبی باشند. o
مثال :پایگاه داده یک فروشگاه آنالین که هر محصول یک سند با فیلدهایی مانند نام ،قیمت و توضیحات o
است.
محدودیتها :ساختار کمتری نسبت به پایگاههای داده رابطهای دارد و پردازش پرسوجو ممکن است o
پیچیدهتر باشد.
اجزای مدلهای داده
.1ساختار داده :تعریف میکند که دادهها در پایگاه داده چگونه سازماندهی میشوند.
محدودیتها :قواعدی مانند کلید اصلی ،کلید خارجی ،یکتا و نال نبودن در مدلهای رابطهای. o
.4روابط دادهها:
یکبهیک :هر نمونه در یک موجودیت با یک نمونه در موجودیت دیگر مرتبط است (مثال :هر کارمند o
یکبهچند :یک نمونه در یک موجودیت با چند نمونه در موجودیت دیگر مرتبط است (مثال :یک دپارتمان o
چندبهچند :نمونهها در هر دو موجودیت با چند نمونه در موجودیت دیگر مرتبط هستند (مثال: o
دانشجویان و دروس).
.1سادهسازی طراحی پایگاه داده :مدلهای داده به مرحله طراحی منطقی راهنمایی میکنند و اطمینان میدهند
که پایگاه دادهها به طور موثری ساختار یافتهاند تا نیازهای کاربران را برآورده کنند.
.2بهبود یکپارچگی و سازگاری دادهها :یک مدل ساختار یافته خوب تضمین میکند که دادهها به محدودیتهای
یکپارچگی پایبند باشند و تکرار و ناسازگاری کاهش یابد.
.3بهبود دسترسی و عملکرد پرسوجو :با سازماندهی بهینه دادهها ،مدلهای داده امکان بازیابی سریعتر و استفاده
موثر از شاخصها را فراهم میکنند.
.4سهولت در نگهداری و مقیاسپذیری :با داشتن یک مدل ساختاریافته ،تغییرات و مقیاسپذیری پایگاه داده
بهراحتی مدیریت میشود ،زیرا هر مولفه نقش و رابطه تعریف شدهای دارد.
.5استانداردسازی :مدلهای داده نحوهی نمایش دادهها را استاندارد میکنند ،امکان حمل و نقل بین DBMSها را
فراهم کرده و سازگاری بین سیستمها را تضمین میکنند.
استقالل دادهها مفهومی اساسی در سیستمهای مدیریت پایگاه داده ) (DBMSاست که به توانایی تغییر طرح )(schema
در یک سطح از پایگاه داده ،بدون نیاز به تغییر طرح در سطح باالتر اشاره دارد .به عبارت دیگر ،این مفهوم به کاربران و
برنامهها اجازه میدهد که به صورت مستقل از ساختار زیربنایی پایگاه داده ،به دادهها دسترسی داشته و آنها را مدیریت
کنند .این مفهوم برای کارکرد و انعطافپذیری DBMSضروری است و یکی از موضوعات کلیدی در طراحی و مدیریت
پایگاه داده به شمار میرود.
استقالل دادهها به دو نوع اصلی تقسیم میشود :استقالل دادههای منطقی و استقالل دادههای فیزیکی .در ادامه هر کدام
از این موارد و اهمیت آنها و همچنین نقش آنها در معماری سیستم پایگاه داده را به تفصیل بررسی میکنیم.
تعریف :استقالل داده های فیزیکی به توانایی تغییر طرح فیزیکی بدون تأثیر بر طرح منطقی اشاره دارد. o
به این معنی که تغییراتی در نحوه ذخیرهسازی دادهها (مثالً تغییر از یک دستگاه ذخیرهسازی به دستگاه
دیگر ،اصالح مکانهای ذخیرهسازی ،یا حتی تغییر روشهای ایندکسگذاری) نباید بر نحوه دسترسی به
دادهها توسط کاربران یا برنامهها تأثیر بگذارد.
اهمیت :استقالل دادههای فیزیکی اهمیت زیادی دارد ،زیرا امکان تغییر جزئیات ذخیرهسازی فیزیکی را o
پارتیشنبندی جداول برای بهینهسازی بازیابی دادهها بدون تأثیر بر کوئریها. ▪
تعریف :استقالل دادههای منطقی به توانایی تغییر طرح منطقی بدون نیاز به تغییر طرح خارجی یا o
برنامههای کاربردی اشاره دارد .تغییر در ساختار منطقی ،مانند افزودن فیلدهای جدید یا جداول ،یا
تغییر روابط بین موجودیتها ،نباید باعث نیاز به تغییر در نحوه دسترسی برنامهها به دادهها شود.
اهمیت :استقالل دادههای منطقی برای انطباق با نیازهای جدید کسبوکار ضروری است ،زیرا امکان o
تغییر ساختار پایگاه داده را بدون اختالل در برنامههای موجود فراهم میکند.
مثالها: o
ایجاد روابط جدید بین جداول برای منعکس کردن تغییر در مدل دادهها. ▪
نرمالسازی یا غیرنرمالسازی طرح پایگاه داده برای بهینهسازی بدون تأثیر بر برنامههای ▪
.1کاهش نیاز به نگهداری برنامهها :با جدا کردن منطق برنامه از طراحی و ذخیرهسازی پایگاه داده ،کد برنامه کمتر
به ساختار پایگاه داده وابسته میشود و در نتیجه نیاز به تغییرات در هنگام تغییر پایگاه داده کاهش مییابد.
.2انعطافپذیری در مدیریت پایگاه داده :استقالل داده امکان مدیریت بهتر ذخیرهسازی ،ایندکسگذاری ،و
استراتژیهای بهینهسازی را بدون تأثیر بر تجربه کاربر نهایی فراهم میکند.
.3پشتیبانی از چندین نمای مختلف :استقالل داده به ایجاد چندین نمای خارجی برای گروههای مختلف کاربران
کمک میکند که میتوانند بدون تغییر ساختار زیربنایی پایگاه داده با گذشت زمان تطبیق یابند.
استقالل داده به طور مستقیم با معماری سهالیهای در DBMSمرتبط است که شامل موارد زیر است:
.2طرح منطقی :تعریف ساختار منطقی پایگاه داده ،شامل جداول ،روابط و محدودیتها.
.3طرح خارجی :نمای سطح کاربر که متناسب با نیازهای گروههای مختلف کاربران یا برنامهها طراحی شده است.
هر سطح از سطح دیگر مستقل است و اجازه میدهد تغییرات در یک سطح به طور مجزا اعمال شود.
نگاشت طرح فیزیکی به طرح منطقی :این امکان را فراهم میکند که تغییرات در ذخیرهسازی فیزیکی در سطح •
نگاشت طرح منطقی به طرح خارجی :این امکان را می دهد که تغییرات در سطح منطقی انجام شود و در عین •
حال همان رابط کاربری و الگوهای دسترسی برای برنامهها حفظ شود.
.1وابستگیهای طرح :برخی از منطقهای برنامه به طرحهای خاص وابستهاند و این میتواند توانایی اعمال تغییرات
را محدود کند.
.2نگاشتهای پیچیده :ترجمه تغییرات در سطوح طرح از طریق نگاشتها میتواند محاسباتی پرهزینه و پیچیده
باشد ،به خصوص در پایگاه دادههای بزرگ.
.3مالحظات عملکردی :استقالل دادهها ،به ویژه استقالل منطقی ،ممکن است گاهی نیاز به مصالحه در عملکرد
داشته باشد ،زیرا نیاز است جزئیات طرح از الیههای برنامه انتزاع شود.
در ،DBMSبهینهسازی کوئری به شدت به اصول استقالل داده وابسته است .بهینهساز کوئریها میتواند کوئریها را بر
اساس تغییرات در طرح فیزیکی (مانند ایندکسگذاری یا پارتیشنبندی) تغییر دهد ،بدون اینکه نیاز به تغییر ساختار
منطقی یا کوئری های کاربر نهایی داشته باشد و به این ترتیب بازیابی کارآمد داده را صرفنظر از روشهای ذخیرهسازی
فیزیکی پشتیبانی کند.
اکثر سیستمهای مدرن DBMSتالش میکنند تا با ارائه ویژگیهایی مانند ابزارهای مدیریت ایندکس ،قابلیتهای تکامل
طرح ،و تعریف نماها استقالل داده را به حداکثر برسانند .با این حال ،دستیابی به استقالل کامل ممکن است همیشه عملی
نباشد ،به ویژه در برنامههای با اتصال تنگاتنگ یا سیستمهای بالدرنگ که در آنها الزامات عملکردی ممکن است
انعطافپذیری را محدود کنند.
استقالل داده اجازه انعطافپذیری طرحها در سطوح مختلف بدون تأثیرگذاری بر طرحها یا برنامههای سطح باالتر •
دو نوع اصلی :استقالل دادههای فیزیکی و استقالل دادههای منطقی. •
مزایای کلیدی :کاهش نیاز به نگهداری برنامهها ،انعطافپذیری در مدیریت پایگاه داده ،و پشتیبانی از چندین •
نمای مختلف.
چالشها :وابستگیهای طرح ،نگاشتهای پیچیده ،و تأثیرات احتمالی بر عملکرد. •
کاربردهای عملی :تکامل طرح ،بهینهسازی کوئریها ،و ایندکسگذاری پویا مثالهایی از استقالل داده در عمل •
هستند.
انتزاع داده )(Data Abstraction
انتزاع داده یک مفهوم بنیادی در سیستمهای مدیریت پایگاه داده ) (DBMSاست که با پنهان کردن جزئیات •
پیچیده و فراهم کردن یک رابط ساده ،تعامالت با پایگاه داده را تسهیل میکند.
این مفهوم به کاربران اجازه میدهد تا بدون نیاز به درک چگونگی ذخیرهسازی ،بازیابی یا مدیریت پیچیده دادهها، •
در ، DBMSانتزاع داده امکان جدا کردن توصیفات داده و دیدگاههای کاربر از جزئیات فیزیکی ذخیرهسازی داده •
پنهانسازی جزئیات :جداسازی "چی" (نمایش و عملیات روی داده) از "چگونه" (پیادهسازی). •
رابط کاربرپسند :کاربران به روشی سادهتر با دادهها تعامل دارند و این به دسترسی آسان و بهرهوری بیشتر کمک •
میکند.
امنیت پیشرفته :دسترسی کنترلشده به دادهها ،پنهان کردن جزئیات حساس از کاربران غیرمجاز. •
استقالل داده :تغییرات در ذخیرهسازی یا ساختار داده بر نحوه تعامل کاربران با داده تأثیر نمیگذارد و این •
تعریف :پایینترین سطح انتزاع که مربوط به ذخیرهسازی فیزیکی دادهها بر روی سختافزار است ،از o
دستگاههای ذخیرهسازی :مدیریت دادهها بر روی دیسکها ،حافظه و سایر منابع سختافزاری. ▪
اهمیت :امکان مدیریت و بازیابی کارآمد ذخیرهسازی را فراهم میکند و این جزئیات را از کاربران نهایی o
پنهان میسازد.
تعریف :سطح میانی انتزاع که ساختار و روابط دادهها را بدون توجه به چگونگی ذخیرهسازی فیزیکی o
مدلهای داده :استفاده از مدلهایی مانند رابطهای ،سلسلهمراتبی یا شیءگرا برای نمایش داده. ▪
موجودیتها و روابط :تعریف موجودیتها (مانند دانشجویان ،کارکنان) و روابط آنها (مانند ▪
محدودیتها :شامل محدودیتهای یکپارچگی مانند کلید اصلی ،کلید خارجی و قوانین تمامیت ▪
مرجع.
استقالل داده :سطح منطقی برنامههای کاربردی را از تغییرات در ذخیرهسازی فیزیکی محافظت ▪
میکند.
اهمیت :برای اطمینان از یکپارچگی داده و نمایش یکپارچه ساختار پایگاه داده ضروری است. o
تعریف :باالترین سطح انتزاع که دیدگاههای سفارشیسازیشدهای از پایگاه داده را برای کاربران مختلف o
دیدگاههای متعدد :به بخشهای مختلف (مانند منابع انسانی ،مالی) اجازه میدهد فقط دادههای ▪
کاربران.
سادهسازی :نمایش داده به روشی که قابل درک باشد و از جزئیات غیرضروری اجتناب شود. ▪
اهمیت :ارائه دیدگاههای کاربرمحور از دادهها و بهبود کارایی و امنیت پایگاه داده. o
استقالل داده :یکی از مزایای اصلی انتزاع داده است که اجازه میدهد تغییرات در یک سطح انتزاعی بدون تأثیر •
انواع: •
استقالل داده فیزیکی :تغییرات در سطح فیزیکی (مانند ارتقاء ذخیرهسازی) بر سطوح منطقی و نمایشی o
تأثیر نمیگذارد.
استقالل داده منطقی :تغییرات در سطح منطقی (مانند افزودن یک فیلد جدید) بر سطح نمایشی تأثیر o
نمیگذارد.
اهمیت :این ویژگی تضمین میکند که پایگاه داده میتواند بدون نیاز به بازنویسی عمده برنامهها تکامل یابد و از •
مدلهای داده (مانند مدل رابطهای ،سلسلهمراتبی و شبکهای) در انتزاع داده نقش اساسی دارند: •
مدل رابطهای :دادهها را بهصورت جدول تعریف میکند که انتزاعی سطح باال برای سطح منطقی فراهم o
میکند.
مدلهای سلسلهمراتبی و شبکهای :معموالً در سطح فیزیکی برای سازماندهی ساختارهای داده پیچیده o
استفاده میشوند.
هر مدل از جنبه های مختلف انتزاع داده با نمایش عناصر داده و ارتباطات آنها به فرمتهای خاص پشتیبانی •
میکند.
مثالهای انتزاع داده در DBMS
سطح فیزیکی :چگونگی ذخیرهسازی رکوردهای دانشجویان روی دیسک (مانند استفاده از B-trees o
برای ایندکس).
سطح منطقی :تعریف جداول مانند Studentو Courseو روابط آنها (مانند Enrollmentکه o
سطح نمایشی :ارائه دیدگاههای سفارشی ،مانند دیدگاه "نمرات دانشجو" که فقط برای اساتید قابل o
دسترسی است.
سطح فیزیکی :جزئیات ذخیرهسازی مانند تقسیمبندی دادههای مشتریان در دیسکهای مختلف. o
سطح نمایشی :ارائه دیدگاههای مختلف برای نقشهای مختلف—کارمندان فقط مانده حساب مشتریان o
طراحی طرحواره :با درک سطوح انتزاع داده ،طراحان میتوانند طرحوارههایی ایجاد کنند که از سیستمهای •
امنیت داده :انتزاع در سطح نمایشی برای اجرای سیاستهای حفظ حریم خصوصی داده ضروری است و دسترسی •
بهینهسازی پایگاه داده :با استفاده از سطح فیزیکی ،مدیران پایگاه داده با ایجاد ایندکس ،تقسیمبندی و مدیریت •
تکامل شِما به توانایی یک DBMSدر پشتیبانی از تغییرات در ساختار پایگاه داده بدون اختالل در عملیاتهای جاری یا
نیاز به بازتعریف کامل پایگاه داده اشاره دارد .این قابلیت به پایگاه دادهها اجازه میدهد تا با نیازهای در حال تغییر سازگار
شوند ،که برای سیستمهای پویا امری حیاتی است .مفهوم تکامل شِما شامل بهروزرسانی ،تغییر و انطباق شِماهای پایگاه
داده با گذشت زمان است ،در حالی که یکپارچگی دادهها حفظ شده و سازگاری با برنامههای موجود نیز ادامه مییابد.
در ادامه ،یک توضیح جامع از تکامل شِما در DBMSارائه شده است:
تعریف شِما :شِما در DBMSساختار پایگاه داده را تعریف میکند و چگونگی سازماندهی دادهها و نحوه ساختار •
شِما منطقی :ساختار پایگاه داده را که کاربران با آن تعامل دارند (مانند جداول ،نماها و شاخصها) o
توصیف میکند.
شِما خارجی :چگونگی مشاهده دادهها توسط کاربران یا گروههای کاربر را نشان میدهد که معموالً شامل o
تکامل شِما :به تغییرات تدریجی و بدون اختالل در شِما اشاره دارد ،در حالی که پایگاه داده به کار خود ادامه •
باشند و ممکن است به صورت موقت خدمات پایگاه داده را مختل کنند.
نیازهای برنامههای کاربردی :تغییر نیازهای برنامهها اغلب منجر به اضافه شدن ویژگیها یا ساختارهای داده جدید •
میشود.
تغییرات تجاری :سازمانها با گذشت زمان تغییر میکنند و نیازهای ذخیرهسازی دادههای آنها ممکن است •
پیشرفتهای فناوری :ویژگیها یا بهینهسازیهای جدید در DBMSممکن است نیازمند تنظیمات شِما برای •
رشد دادهها :با افزایش حجم داده ،تکامل شِما ممکن است برای پارتیشنبندی جداول ،افزودن شاخصها یا •
افزودن یا حذف ویژگیها (ستونها) :ستونهای جدید میتوانند به جدولهای موجود اضافه شوند یا ستونهای •
افزودن یا حذف جداول :جداول جدید میتوانند اضافه شوند یا جداول غیرضروری حذف گردند. •
تغییر انواع داده یا محدودیتها :تغییر نوع داده یک ستون ،افزودن یا حذف محدودیتهایی مانند ،NOT NULL •
تغییر نام ویژگیها یا جداول :تغییر نام جداول یا ویژگیها برای وضوح بیشتر یا تطبیق با اصول جدید نامگذاری. •
تغییر روابط :شامل افزودن ،حذف یا تغییر کلیدهای خارجی یا انواع روابط ( ۱به ۱ ،۱به چند). •
چالشهای تکامل شِما
یکپارچگی دادهها :تغییرات نباید درستی یا یکپارچگی دادههای موجود را به خطر بیندازد. •
سازگاری به عقب :برنامههایی که به شِما قبلی وابستهاند باید همچنان کار کنند یا مسیر انتقال نرم داشته باشند. •
بازنویسی پرسوجوها :پرسوجوهایی که برای شِما اصلی طراحی شدهاند ممکن است نیاز به بازنویسی یا تنظیم •
داشته باشند.
انتقال و تبدیل دادهها :تغییر ستونها یا تغییر روابط ممکن است نیازمند تبدیل دادههای موجود باشد تا با شِما •
زمان توقف سیستم :یک DBMSقدرتمند باید بتواند تغییرات شِما را بدون زمان توقف زیاد مدیریت کند ،هرچند •
نسخهبندی :برخی سیستمها اجازه نسخهبندی شِما را میدهند ،که در آن چندین نسخه از شِما میتوانند همزمان •
سازگاری رو به جلو و عقب :تغییرات شِما به گونهای طراحی میشوند که دادههای نوشتهشده در هر دو نسخه •
ابزارهای مهاجرت خودکار شِما DBMS :ها ممکن است ابزارهایی ارائه دهند که به طور خودکار مهاجرت شِما را •
مدیریت میکنند ،مانند افزودن ستونها با مقادیر پیشفرض ،تبدیل انواع داده یا تغییر نام ستونها.
مدیریت متادیتا :سیستمهای DBMSاغلب متادیتا دقیق نگه میدارند ،که تکامل شِما را با ضبط روابط ،انواع و •
ردیابی وابستگی DBMS :وابستگیها مانند کلیدهای خارجی و نماها را ردیابی میکند ،بنابراین تغییرات شِما •
میتوانند به صورت خودکار گسترش یابند یا کاربران را به تنظیمات الزم هشدار دهند.
تکامل شِما در RDBMSدر مقابل NoSQL DBMS
تکامل شِما در RDBMSمیتواند پیچیده باشد ،زیرا شِماها به طور دقیق تعریف شدهاند. o
RDBMSاغلب نیاز به مهاجرت و تبدیل گسترده دادهها دارد ،به خصوص برای تغییرات ساختاری. o
ابزارهایی مانند ALTER TABLEاستفاده میشوند ،اما ممکن است برای مجموعه دادههای بزرگ o
پایگاههای داده ، NoSQLبه ویژه پایگاههای داده مبتنی بر سند (مانند ،)MongoDBشِماهای o
در ،NoSQLشِماها میتوانند در سطح سند تغییر کنند و امکان وجود نسخههای مختلط در یک o
تکامل شِما در سیستمهای NoSQLمعموالً محدودیتهای کمتری دارد ،که باعث کاهش اختالالت o
میشود.
تکامل شِما بر جنبههای مختلف یک سیستم پایگاه داده تأثیر میگذارد ،که DBMSباید به دقت آنها را مدیریت کند تا
از ناسازگاری یا کاهش عملکرد جلوگیری شود:
الگوهای دسترسی به داده :شِما های تغییر یافته ممکن است نحوه دسترسی یا پرسوجوهای داده را تغییر دهند •
ایندکسگذاری :تغییرات شِما ،به ویژه تغییرات مرتبط با ستونهای جدید یا کلیدها ،ممکن است نیاز به ایجاد یا •
امنیت و کنترل دسترسی :ویژگیها یا جداول جدید ممکن است نیاز به بهروزرسانی لیستهای کنترل دسترسی •
استفاده از میانافزارها.
مراحل شامل استفاده از ALTER TABLEبرای افزودن ستون با مقدار پیشفرض است تا هیچ o
تبدیل دادههای موجود به نوع جدید و اطمینان از اینکه تمام وابستگیها مانند ایندکسها و محدودیتها o
سازگار هستند.
اطمینان از یکپارچگی ارجاعی از طریق بررسی اینکه تمام دادهها با الزامات کلید خارجی مطابقت دارند، o
MySQLعملیات ALTER TABLEرا ارائه میدهد ،اگرچه تغییرات گسترده ممکن است همچنان بر •
MongoDBو سایر پایگاههای داده NoSQLبه طور ذاتی تکامل شِما را مدیریت میکنند ،زیرا شِماهای •
سختگیرانهای ندارند.
ابزارهای کنترل نسخه و مهاجرت :سیستمهایی مانند Liquibaseو Flywayبه مدیریت تغییرات شِما کمک •
میکنند و کنترل نسخه و بازگشت تغییرات را برای تکامل شِما فراهم میکنند.
بهترین روشها برای تکامل شِما
برنامهریزی برای سازگاری رو به جلو و عقب :تغییرات را به گونهای طراحی کنید که با نسخههای قدیمی و جدید •
استفاده از کنترل نسخه برای تغییرات شِما :تغییرات شِما را با ابزارهای کنترل نسخه ردیابی کنید تا در صورت •
مستندسازی دقیق تغییرات :مستندسازی مناسب اطمینان میدهد که توسعهدهندگان و مدیران پایگاه داده مسیر •
آزمایش قبل از پیادهسازی :تغییرات باید در محیط آزمایشی تست شوند تا پیش از رسیدن به محیط تولید، •
در سیستمهای مدیریت پایگاه داده) ، (DBMSمدل داده مفهومی ( Conceptual Data Modelیا )CDMنمایش
سطح باالیی از دادههای یک سازمان است که به صورت مستقل از هر سیستم مدیریت پایگاه داده خاصی طراحی میشود.
این مدل برای طراحان پایگاه داده بسیار اهمیت دارد ،زیرا به آنها اجازه میدهد نیازهای تجاری و روابط بین دادهها را به
وضوح مشاهده کنند ،بدون این که وارد جزئیات ذخیرهسازی فیزیکی یا فناوری خاصی شوند.
مدل داده مفهومی به عنوان یک نقشهی پایهای عمل میکند که طراحی پایگاه داده را با قوانین تجاری و نیازهای داده
تطبیق میدهد .در اینجا تمامی جنبههای مهم مدل داده مفهومی را بررسی میکنیم تا در پاسخگویی به سواالت مرتبط
کمککننده باشد.
متمرکز بر کسبوکار :مدل داده مفهومی بر موجودیت ها و روابط کسبوکاری تمرکز دارد بدون توجه به نحوه •
ذخیرهسازی دادهها .این امر به طراحان پایگاه داده کمک میکند تا درک کنند چه دادههایی مهم هستند و چگونه
باید سازماندهی شوند تا موجودیت های دنیای واقعی را منعکس کنند.
ابزاری برای گردآوری نیازمندیها :مدل داده مفهومی به عنوان پلی بین نیازهای کسبوکار و جنبههای فنی •
مدل داده مفهومی شامل چندین جزء اصلی است که به عنوان اجزای سازنده این الیه انتزاع داده عمل میکنند:
موجودیت ها ) : (Entitiesنمایانگر اشیا یا چیزهای موجود در حوزه کسبوکار هستند ،مانند مشتری ،سفارش، •
محصول و غیره.
ویژگیها ) : (Attributesخصوصیات هر نهاد را توصیف میکنند ،مانند نام مشتری ،تاریخ سفارش ،قیمت •
محصول.
شناسهها (کلیدها) :شناسههای یکتا یا کلیدهای اصلی ویژگی های ضروری هستند که هر نمونه از یک نهاد را •
منحصربهفرد میسازند .به عنوان مثال ،کد مشتری هر مشتری را به صورت یکتا شناسایی میکند.
روابط ) : (Relationshipsنحوه ارتباط موجودیت ها را تعریف میکنند .روابط قوانین و تعامالت کسبوکاری •
سادگی :این مدل سعی دارد دادهها را تا حد امکان ساده نمایندگی کند و از پیچیدگیهای موجود در طراحی •
شفافیت در قوانین کسبوکار :قوانین کسبوکار که بر تعامالت دادهها حاکم هستند در روابط و ویژگیها گنجانده •
شدهاند.
اصطالحات غیرتخصصی :برای مخاطبان غیر فنی طراحی شده است و از اصطالحات خاص پایگاه داده اجتناب •
میکند.
نمودارهای مدل داده مفهومی
نمودار ارتباط موجودیت ) : (ERDرایجترین نمایش بصری برای مدل داده مفهومی است که از عناصر زیر •
استفاده میکند:
کاردینالیته ) (Cardinalityروابط :روابط با محدودیتهای کاردینالیته (مثل یکبهچند ،چندبهچند) همراه •
مثال :یک رابطه یکبهچند در ERDممکن است نشان دهد که یک مشتری میتواند چندین سفارش ثبت کند، •
.1شناسایی موجودیت های کسبوکار :یافتن و تعریف موجودیت های اصلی در بستر کسبوکار.
.4اعمال نامگذاری استاندارد :استفاده از نامهای معنادار برای موجودیت ها ،ویژگیها و روابط برای اطمینان از وضوح.
.5اعتبارسنجی با ذینفعان :بررسی مدل با ذینفعان کسبوکار تا از صحت نمایندگی نیازهای آنها اطمینان حاصل
شود.
با اینکه نرمالسازی بیشتر در مدل منطقی صورت میگیرد ،نرمالسازی اولیه میتواند در سطح مفهومی انجام شود تا
دادهها بدون افزونگی ساختاربندی شوند .به عنوان مثال:
شناسایی و تفکیک موجودیت ها برای جلوگیری از تکرار اطالعات. •
اطمینان از اتمی بودن (تفکیکپذیر بودن) ویژگیها برای وضوح و سادگی در مراحل بعدی. •
بهبود ارتباطات :به ذینفعان و توسعهدهندگان کمک میکند تا نیازهای دادهای را درک کنند. •
کاهش ابهام :تعریفات واضح از موجودیت ها و روابط مانع از سوءتفاهمها میشود. •
راهنمایی برای مدلهای منطقی و فیزیکی :مدل داده مفهومی به عنوان یک نقشه پایهای عمل میکند و به انتقال •
انتزاع سطح باال :مدل داده مفهومی به انواع دادهها ،ایندکسگذاری ،یا مشخصات ذخیرهسازی نمیپردازد .این امر •
از نظر انعطافپذیری مزیت دارد ،اما ممکن است برخی محدودیتهای فنی را از دست بدهد.
محدود به روابط ساده :مدل داده مفهومی به روابط ساده موجودیت ها میپردازد؛ محدودیتهای پیچیده و قوانین •
حوزه :مدل داده مفهومی بر موجودیت ها و روابط سطح باال تمرکز دارد ،در حالی که مدل داده منطقی )(LDM •
انعطافپذیری :مدل داده مفهومی از نظر پایگاه داده مستقل است ،در حالی که مدل داده منطقی به ساختار یک •
هدف :مدل داده مفهومی مشخص میکند چه دادهای نیاز است بدون جزئیات فنی ،در حالی که مدل داده منطقی •
مدل داده مفهومی یک الیه استقالل داده منطقی فراهم میکند و اطمینان میدهد که تغییرات در ذخیرهسازی فیزیکی،
بر قوانین کسبوکار و روابطی که در مدل گنجانده شدهاند ،تأثیری ندارد .با تعریف نیازهای داده به صورت انتزاعی ،سازمانها
یک چارچوب پایدار ایجاد میکنند که با تغییرات تکنولوژیک و مهاجرت به سیستمهای مدیریت پایگاه داده جدید ،همچنان
کارآمد میماند.
تکامل اسکیمای پایگاه داده شامل اصالح اسکیمای پایگاه داده بدون اختالل در برنامههای موجود است .با یک مدل داده
مفهومی بهخوبی تعریفشده:
افزودن موجودیت ها و ویژگیهای جدید :امکانپذیر است تا نیازهای کسبوکار در حال تغییر را منعکس کند. •
تنظیم روابط :اصالح روابط ،کاردینالیته ،یا ویژگیها با توجه به دیدگاه سطح باالی مدل آسانتر است ،و تکامل •
اسکیمای پایگاه داده را بدون تأثیرات شدید بر منطق برنامه تسهیل میکند.
زبان DMLسطح باال یا غیر رویهای به کاربران اجازه میدهد تا مشخص کنند چه دادهای را میخواهند بازیابی کنند
بدون اینکه دقیقاً نحوه دسترسی به آن را تعیین کنند .این نوع DMLدر جستجوهای اعالمی ) (Declarativeاستفاده
میشود که در آن سیستم مدیریت پایگاه داده ) (DBMSبهترین روش دسترسی به دادهها را مشخص میکند.
.1ماهیت اعالمی:
کاربران مشخص میکنند چه دادهای نیاز دارند و نه چگونه باید به آن دست یافت. o
تمرکز بر نتیجه نهایی است و نه فرآیند ،که به DBMSاجازه میدهد تا جستجو را بهینه کند. o
.2نمونه زبانها:
) ،SQL (Structured Query Languageبه ویژه دستورات ،INSERT ،SELECT o
این دستورات میتوانند به صورت همزمان به چندین رکورد دسترسی داشته باشند و عموماً سادهتر و o
کاربرپسندتر هستند.
سادگی در نحو :نوشتن و درک دستورات برای کاربران آسانتر است. o
بهینهسازی توسط : DBMSبهینهساز پرسوجوی DBMSبهترین مسیر دسترسی را مشخص میکند، o
افزایش بهرهوری :کاربران نیازی به نگرانی در مورد ساختار زیرین ندارند ،که احتمال بروز خطا در بازیابی o
این دستور همه دانشجویان باالی ۲۰سال را بازیابی میکند ،بدون اینکه نحوه جستجو در جدول را
مشخص کند.
;)'Insert Into students (name, age, grade) Values ('John Doe', 21, 'A
این دستور مشخص میکند که چه دادهای باید اضافه شود بدون اینکه نحوه قرار دادن آن در پایگاه
داده را توضیح دهد.
کنترل کمتر DML :سطح باال کنترل کمتری بر فرآیند بازیابی دادهها فراهم میکند .برای کاربرانی که o
به بهینهسازیهای خاص یا الگوهای دسترسی نیاز دارند ،ممکن است DMLسطح پایین ترجیح داده
شود.
پرسوجوهای پیچیده ممکن است ناکارآمد باشند :پرسوجوهای پیچیده میتوانند منجر به اجرای o
زبان DMLسطح پایین یا رویهای برای تعیین چگونگی دسترسی یا دستکاری دادهها به صورت گام به گام طراحی شده
است .این نوع DMLکنترل جزئیات دقیق فرآیند بازیابی و دستکاری دادهها را فراهم میکند و اجازه میدهد به صورت
رویهای با رکوردهای منفرد تعامل برقرار شود.
.1ماهیت رویهای:
کاربران مشخص میکنند چگونه باید به دادهها دسترسی داشت ،اغلب با توصیف مراحل خاص یا o
فرآیندهای تکراری.
برای استفاده مؤثر ،کاربران نیاز به درک ساختار زیرین پایگاه داده دارند. o
.2نمونه زبانها:
زبانهای دستکاری رکورد به رکورد ،که معموالً در زبانهای برنامهنویسی رویهای همراه با SQLتعبیه o
Cursorها در SQLیک مثال متداول هستند که اجازه پردازش رکورد به رکورد را در برنامهها o
میدهند.
کنترل بیشتر :امکان دستکاری دقیق هر رکورد را فراهم میکند ،که برای وظایفی که نیاز به پردازش o
بهینهسازی عملکرد :کاربران پیشرفته میتوانند پرسوجوها را بر اساس دانش از توزیع داده و ایندکسها o
پردازش جزئیات داده :برای برنامههای پیچیده که نیاز به پردازش رکوردهای منفرد دارند مناسب است. o
.4مثالهایی از دستورات DMLسطح پایین درSQL:
;Open cursor_example
Begin
; )Print 'Student Name: ' + @name + ', Age: ' + Cast(@age As Varchar
; End
; Close cursor_example
;DeAllocate cursor_example
این دستور هر رکورد در مجموعه نتایج را تکرار میکند و اجازه کنترل دقیق و دستکاری برای هر
دانشجویی که باالی ۲۰سال دارد را میدهد.
پیچیدگی :نوشتن و درک آن پیچیدهتر است و برای کاربران عمومی کمتر مناسب است. o
بهینهسازی دستی الزم است :از بهینهساز پرسوجوی DBMSاستفاده نمیکند و کارایی آن به طراحی o
زمانبر بودن :به خطوط کد بیشتری نیاز دارد و برای عملیات حجمی داده کمتر کارآمد است. o
مقایسه DMLسطح باال و سطح پایین
موارد استفاده
بازیابی داده عمومی ،عملیات ساده دادهها دستکاری پیچیده داده ،پردازش رکورد به رکورد
متداول
مدل داده فیزیکی ) (Physical Data Modelنشان میدهد که دادهها به صورت فیزیکی چگونه در سیستم مدیریت
پایگاه داده ذخیره میشوند .بر خالف مدلهای داده سطح باال (مانند مدل مفهومی و منطقی) که بر ساختار و روابط دادهها
تمرکز دارند ،مدل داده فیزیکی جزئیات ساختارهای ذخیرهسازی و روشهای بازیابی داده را مشخص میکند .این مدل در
DBMSاهمیت زیادی در بهینهسازی عملکرد ،ذخیرهسازی کارآمد و بازیابی سریع دادهها دارد.
تعریف ساختارهای ذخیرهسازی ،ایندکسها ،مسیرهای دسترسی و سایر جنبههای فیزیکی ذخیرهسازی داده. •
فراهم آوردن اطالعات الزم برای طراحان پایگاه داده جهت ذخیره ،دسترسی و مدیریت دادهها به بهترین نحو. •
بهینهسازی مکانیزمهای ذخیره و بازیابی داده برای کاهش هزینه و زمان عملیاتهای دادهای. •
اجزای مدل داده فیزیکی
.1جداول )(Tablespaces
جداول ،ناحیههایی هستند که در آنها جداول و ایندکسها در حافظه فیزیکی پایگاه داده ذخیره میشوند .در
یک ،DBMSیک جداول میتواند چندین فایل فیزیکی را پوشش دهد که انعطافپذیری و کنترل بهتری بر
توزیع دادهها روی دستگاههای ذخیرهسازی فراهم میکند.
بلوک داده :کوچکترین واحد ذخیرهسازی داده در DBMSاست که معموالً تعداد مشخصی بایت دارد. o
بلوک داده میزان فضایی را که پایگاه داده در یک عملیات خواندن یا نوشتن استفاده میکند ،نشان
میدهد.
اکستنت :بلوکهای داده متوالی که برای ذخیره بخشی خاص از یک شیء پایگاه داده (مثل جدول یا o
سگمنت :مجموعهای از اکستنت ها است که به یک شیء خاص پایگاه داده مانند جدول ،ایندکس یا o
فایلهای داده :فایلهای فیزیکی بر روی دیسک که دادههای پایگاه داده را ذخیره میکنند. o
گروههای فایل :گروهبندی منطقی فایلهای داده که امکان توزیع دادهها بر روی چندین فایل را فراهم o
.4ساختارهای ایندکس ایندکسها برای افزایش سرعت بازیابی دادهها با فراهم کردن مسیرهای دسترسی سریع به
دادهها استفاده میشوند.
ایندکس خوشهای ) : (Clustered Indexداده را به صورت فیزیکی بر اساس کلیدهای ایندکس o
مکانهای واقعی داده را ذخیره میکند و جستجوها را سریعتر میکند بدون تغییر ترتیب فیزیکی جدول.
،B-treeایندکس هش ،ایندکس بیتی :انواع مختلف ساختارهای ایندکس هستند که برای نیازهای o
.5پارتیشنبندی
پارتیشنبندی جداول و ایندکسهای بزرگ را به بخشهای کوچکتر و قابل مدیریتتر تقسیم میکند .انواع
پارتیشنبندی شامل موارد زیر است:
تقسیم میکند.
پارتیشنبندی هش ) : (Hash Partitioningاز تابع هش برای توزیع دادهها بر روی پارتیشنها o
استفاده میکند.
پارتیشنبندی لیستی و ترکیبی :از لیستهای پیشتعریفشده از مقادیر یا ترکیبی از تکنیکهای o
مدلهای داده فیزیکی از پارامترهای ذخیرهسازی برای کنترل چگونگی ذخیره و مدیریت داده استفاده میکنند.
پارامترهای متداول شامل:
:PCTFREEدرصد فضای آزاد در یک بلوک داده را برای تطبیق بهروزرسانیها مشخص میکند. o
:PCTUSEDحداقل درصد استفاده شده از فضا را قبل از افزودن ردیفهای جدید تعیین میکند. o
.7مسیرهای دسترسی به داده مسیرهای دسترسی به داده مشخص میکنند که داده به صورت فیزیکی چگونه
دسترسی پیدا میکند .مثالها شامل موارد زیر هستند:
اسکن کامل جدول :تمام ردیفهای یک جدول را میخواند و معموالً زمانی استفاده میشود که هیچ o
اسکن ایندکس :از ایندکسها برای بازیابی داده استفاده میکند که معموالً سریعتر از اسکن کامل جدول o
است.
دسترسی از طریق شناسه ردیف) : (Row IDبهصورت مستقیم با استفاده از شناسههای منحصر به o
بهینهسازی مدل داده فیزیکی برای کارایی پایگاه داده اهمیت دارد .استراتژیهای کلیدی بهینهسازی شامل:
ایندکسگذاری :انتخاب ایندکسهای مناسب برای کاهش زمان بازیابی داده در پرسوجوهای پرتکرار. •
غیر نرمالسازی ) : (Denormalizationدر مواردی که سرعت بازیابی مهم است ،غیر نرمالسازی (ذخیره •
پارتیشنبندی :به پردازش موازی کمک میکند ،عملیات ورودی و خروجی را کاهش میدهد و با تجزیه جداول •
خوشهبندی ) : (Clusteringذخیره ردیفهای مرتبط به صورت نزدیک به یکدیگر به منظور کاهش عملیات •
تکرار و یکپارچگی دادهها :تکرار فیزیکی (مانند تکرار و پشتیبانگیری) در سطح ذخیرهسازی بدون تأثیر بر قیود •
کنترل همزمانی :تضمین میکند که تراکنشهای متعدد میتوانند به صورت همزمان به دادهها دسترسی داشته •
باشند بدون ایجاد تعارض ،که معموالً از طریق قفلگذاری و کنترل همزمانی چندنسخهای ) (MVCCمدیریت
میشود.
تنظیم و پایش عملکرد :شامل فعالیتهایی مانند تحلیل عملکرد پرسوجو ،بهینهسازی مسیرهای دسترسی و •
در زمینه استقالل داده فیزیکی ،مدل داده فیزیکی امکان ایجاد تغییرات در ساختارهای ذخیرهسازی فیزیکی را بدون تأثیر
بر طرح منطقی یا برنامههای کاربردی فراهم میکند .با انتزاع جزئیات ذخیرهسازی فیزیکی DBMS ،این امکان را فراهم
میکند که طراحان بتوانند جزئیات ذخیرهسازی دادهها را تغییر دهند بدون نیاز به تغییر پرسوجوها و کد برنامهها.
مدل داده فیزیکی نقش مهمی در بهینهسازی پرسوجو ایفا میکند ،زیرا DBMSاز ساختارهای فیزیکی (مانند ایندکسها،
پارتیشن بندی و توزیع داده) برای تعیین مؤثرترین راه برای دسترسی به دادهها استفاده میکند .بهینهساز پرسوجو مدل
فیزیکی را تحلیل میکند تا تصمیم بگیرد:
روشهای پیوستن جداول :انتخاب بین پیوستهای حلقه تودرتو ،پیوست هش و پیوست مرتبسازی-ادغام بر •
استفاده از ایندکس :تعیین زمان استفاده از ایندکسها در مقایسه با اسکن کامل جدول بر اساس انتخابپذیری و •
هزینه.
طرحهای اجرایی :تعریف نحوه دسترسی DBMSبه داده برای یک پرسوجو با در نظر گرفتن عوامل هزینه و •
RAIDیا آرایه افزونهای از دیسکهای مستقل ،فناوریای است که چندین دیسک فیزیکی را در یک واحد منطقی ترکیب
میکند تا افزونگی داده ،بهبود عملکرد یا هر دو را به دست آورد .در زمینه سیستمهای مدیریت پایگاه داده )، (DBMS
RAIDبرای مدیریت حجم زیادی از دادهها و اطمینان از در دسترس بودن باال ،قابلیت اطمینان و دسترسی سریع به
دادهها بسیار مهم است .سیستمهای RAIDدر پایگاههای داده سازمانی حیاتی هستند ،جایی که ایمنی دادهها و سرعت
اهمیت باالیی دارند.
سطوح RAIDبر اساس پیکربندی افزونگی و عملکرد متفاوت هستند و هرکدام توازنی منحصربهفرد ارائه میدهند که
نیازهای مختلف DBMSرا برآورده میکند .آشنایی با RAIDبرای مدیران پایگاه داده ) (DBAضروری است ،زیرا
مستقیماً بر سرعت دسترسی به دادهها ،قابلیت اطمینان ذخیرهسازی و تحمل خطا تأثیر میگذارد که برای عملیات پایگاه
داده مهم است.
افزونگی داده و تحمل خطا :تضمین میکند که دادهها حتی در صورت خرابی یک یا چند دیسک حفظ میشوند، •
بهبود عملکرد :سرعتهای خواندن و نوشتن را از طریق تکنیکهایی مانند نواربندی دادهها )(Data Striping •
افزایش میدهد ،که برای مدیریت حجم زیادی از تراکنشهای پایگاه داده ضروری است.
مقیاسپذیری :پیکربندیهای RAIDاجازه میدهند تا ظرفیت ذخیرهسازی با افزودن دیسکهای بیشتر بدون •
نواربندی دادهها :دادهها را بین چندین دیسک تقسیم میکند تا سرعت خواندن و نوشتن را بهبود بخشد .معموالً •
در سطوحی مانند RAID 0استفاده میشود ،جایی که بلوکهای دادهها بدون افزونگی توزیع میشوند.
آینهسازی دادهها :دادهها را روی چندین دیسک تکرار میکند تا تحمل خطا را فراهم کند .به عنوان مثال RAID •
1دادهها را روی دو دیسک آینهسازی می کند ،بنابراین اگر یکی خراب شود ،دیگری حاوی یک کپی دقیق از
دادهها است.
برابری :روشی برای بررسی خطا که قابلیت بازیابی دادهها را در صورت خرابی یک دیسک فراهم میکند .برابری •
در سطوحی مانند RAID 5و RAID 6پیادهسازی شده و امکان بازسازی دادهها را با استفاده از بیتهای
برابری ذخیرهشده در دیسکها فراهم میکند.
سطوح RAIDو کاربردهای آنها در DBMS
سطوح مختلف RAIDبرای تأمین نیازهای متنوع تحمل خطا و عملکرد طراحی شدهاند .در زیر سطوح پرکاربرد RAID
در DBMSبا توضیح دقیق عملکرد ،مزایا و معایب آنها آورده شده است:
عملکرد :دادهها را به بلوکهایی تقسیم کرده و این بلوکها را بین چندین دیسک توزیع میکند .افزونگی o
مزایا :عملکرد حداکثری ،زیرا دادهها بهصورت همزمان روی دیسکها خوانده یا نوشته میشوند. o
معایب :بدون تحمل خطا؛ اگر یک دیسک خراب شود ،همه دادهها از بین میروند. o
کاربرد در :DBMSدر شرایطی استفاده میشود که سرعت باال نسبت به قابلیت اطمینان داده ارجحیت o
عملکرد :دادههای مشابه را روی دو یا چند دیسک تکرار میکند ،و در نتیجه اگر یکی خراب شود ،دادهها o
مزایا :تحمل خطای باال و سرعت خواندن باال ،زیرا دادهها میتوانند از هر آینهای قابل دسترسی باشند. o
معایب :فضای ذخیرهسازی زیادی الزم است ،زیرا دو برابر ظرفیت ذخیرهسازی برای افزونگی نیاز است. o
کاربرد در : DBMSمناسب برای پایگاههای دادهای که نیاز به دسترسی باال و قابلیت اطمینان دارند، o
عملکرد :دادهها و اطالعات برابری بین همه دیسکها نواربندی میشوند .اطالعات برابری برای بازیابی o
مزایا :توازن خوب بین عملکرد ،تحمل خطا و کارایی ذخیرهسازی .تنها یک دیسک اضافی برای برابری o
نیاز است.
معایب :عملکرد نوشتن ممکن است به دلیل سربار محاسبه برابری تحت تأثیر قرار گیرد .تنها میتواند o
کاربرد در : DBMSرایج در پایگاه های داده تراکنشی که نیاز به تحمل خطا و استفاده کارآمد از o
ذخیرهسازی دارند.
عملکرد :مشابه ، RAID 5اما با برابری دوگانه که امکان بازیابی دادهها حتی در صورت خرابی دو دیسک o
مزایا :تحمل خطای باال؛ میتواند دو خرابی دیسک را تحمل کند .مناسب برای سیستمهای با دسترسی o
باال.
معایب :کاهش عملکرد نوشتن به دلیل محاسبه برابری دوگانه .پیچیدهتر و پرهزینهتر ازRAID 5. o
کاربرد در : DBMSمورد استفاده در پایگاههای داده حیاتی که نیاز به حداکثر تحمل خطا دارند ،مانند o
عملکرد :آینهسازی ) (RAID 1و نواربندی ) (RAID 0را با هم ترکیب میکند ،به طوری که o
مجموعههای آینهای ایجاد شده و سپس نواربندی میشوند .این پیکربندی عملکرد باال و تحمل خطای
باالیی را فراهم میکند.
مزایا :سرعت باالی خواندن/نوشتن و تحمل خطای باال ،زیرا دادهها هم آینهسازی و هم نواربندی شدهاند. o
معایب :هزینه باال ،زیرا دو برابر ظرفیت ذخیرهسازی نیاز است. o
کاربرد در : DBMSایدهآل برای پایگاههای داده با عملکرد باال که هم سرعت و هم قابلیت اطمینان o
خرابی دیسک و بازیابی داده :سطوح RAIDمانند RAID 5و RAID 6با استفاده از برابری ،راهحلهایی •
برای خرابی دیسک ارائه می دهند .درک زمان بازیابی و پیچیدگی فرآیندهای بازیابی در محیطهای DBMSبا
تراکنش باال که خرابی میتواند منجر به مشکالت زیادی شود ،ضروری است.
عملکرد نوشتن و سربار برابری :سطوح RAIDمبتنی بر برابری (RAID 5و ) RAID 6میتوانند عملکرد •
نوشتن را به دلیل محاسبه برابری تحت تأثیر قرار دهند. DBAها باید ارزیابی کنند که آیا حجم کاری DBMS
بیشتر خواندن است یا نوشتن و بر اساس آن سطح RAIDمناسب را انتخاب کنند.
دیسکهای یدکی آماده) : (Hot Spare Disksاینها دیسکهای اضافی در یک پیکربندی RAIDهستند •
که میتوانند بهطور خودکار دیسک خراب را جایگزین کنند .دیسکهای یدکی برای حفظ سرویس بدون وقفه
ضروری هستند ،به ویژه در سیستمهایی که زمان کار باال مهم است.
مالحظه هزینه :پیکربندیهای آینهسازی مانند RAID 1و RAID 10نیاز به فضای ذخیرهسازی قابل توجهی •
دارند .راهحلهای مقرونبهصرفه ، RAIDمانند ، RAID 5تعادل بین افزونگی و ظرفیت را ارائه میدهند ،اگرچه
ممکن است تحمل خطا را فدا کنند.
پهنای باند و تاخیر :سطوح RAIDبر پهنای باند و تاخیر عملیات دیسک در DBMSتأثیر میگذارند . RAID •
0با نواربندی بدون افزونگی بهترین پهنای باند را با کمترین تاخیر ارائه میدهد ،در حالی که RAID 6ممکن
است به دلیل محاسبه برابری دوگانه تاخیر بیشتری داشته باشد.
نوع حجم کار : DBMSکاربردهای مختلف— DBMSتراکنشی ) (OLTPیا تحلیلی—) (OLAPنیازهای •
متفاوتی از RAIDدارند .سیستمهای OLTPاغلب از RAID 1یا RAID 10برای دسترسی سریع به
دادههای پرتکرار بهره میبرند ،در حالی که سیستمهای OLAPمیتوانند از RAID 5یا RAID 6برای
ذخیرهسازی حجم زیادی از دادهها با هزینه کم استفاده کنند.
نیازهای قابلیت اطمینان :کاربردهای DBMSحیاتی که از دست دادن دادهها در آنها غیرقابل قبول است ،باید •
سطوح RAIDبا تحمل خطای باال مانند RAID 1یا RAID 6را در اولویت قرار دهند .این انتخاب بسته به
توازن قابل قبول بین هزینه ،افزونگی و عملکرد خواهد بود.
مزایا و معایب RAIDدرDBMS
مزایا: •
بهبود عملکرد :از طریق نواربندی و آینهسازی RAID ،سرعتهای خواندن و نوشتن را افزایش میدهد. o
تحمل خطا :برخی از سطوح RAIDتضمین میکنند که دادهها حتی در صورت خرابی دیسک قابل o
بازیابی هستند.
بهبود مقیاسپذیری :سیستمهای RAIDاجازه میدهند تا به راحتی فضای ذخیرهسازی اضافه شود و o
معایب: •
پیچیدگی و هزینه :پیکربندیهای ،RAIDبه ویژه RAID 10و ، RAID 6میتوانند از نظر o
پتانسیل گلوگاه نوشتن :محاسبات برابری در RAID 5و RAID 6ممکن است تاخیرهایی در عملیات o
مصرف بیشتر برق :تنظیمات ،RAIDبه ویژه آنهایی که دارای تعداد زیادی دیسک هستند ،مصرف o