ACID محافظت از اطلاعات پایگاه داده شما است
مدل ACID طراحی پایگاه داده یکی از قدیمی ترین و مهم ترین مفاهیم نظریه پایگاه داده است. این چهار هدف را به پیش می برد که هر سیستم مدیریت پایگاه داده باید تلاش کند: atomicity، consistency، isolation and durability. یک پایگاه اطلاعاتی ارتباطی که هر یک از چهار هدف را رفع نمیکند قابل اعتماد نیست. پایگاه داده ای که دارای این ویژگی ها است ACID سازگار است.
ACID تعریف شده است
بگذارید یک لحظه به بررسی جزئیات هر یک از این ویژگی ها بپردازیم:
- Atomicity بیان می کند که اصلاحات پایگاه داده باید از یک قانون "همه یا چیزی" پیروی کنند. هر معامله گفته می شود "اتمی" است. اگر بخشی از معامله شکست خورده باشد، کل معامله شکست می خورد. مهم است که سیستم مدیریت پایگاه داده، صرف نظر از هر گونه DBMS، سیستم عامل یا خرابی سخت افزار، ماهیت اتمی معاملات را حفظ کند.
- ثبات بیان می کند که فقط اطلاعات معتبر به پایگاه داده می شود. اگر به هر دلیلی یک معامله انجام می شود که قوانین انطباق پایگاه داده را نقض می کند، کل معامله بازگردانده می شود و پایگاه داده به حالت ایده آل با آن قواعد باز گردید. از سوی دیگر، اگر یک تراکنش با موفقیت انجام شود، پایگاه داده را از یک حالت که با قوانین سازگار با یک دولت دیگر است، هماهنگ با قوانین است.
- جداسازی نیاز به این دارد که معاملات چندگانه در همان زمان بر هر یک از اعمال دیگر تاثیر نگذارد. به عنوان مثال، اگر جو یک معامله را در برابر یک پایگاه داده در همان زمان انجام می دهد که مری معامله دیگری را انجام می دهد، هر دو معاملات باید به صورت جداگانه در پایگاه داده کار کنند. این پایگاه داده باید قبل از اجرای مریم یا برعکس، کل معامله جو را انجام دهد. این مانع از انجام معامله جو از خواندن اطلاعات متوسط تولید شده به عنوان یک اثر جانبی بخشی از معامله Mary است که در نهایت به پایگاه داده متعهد نیست. توجه داشته باشید که اموال انزوا اطمینان حاصل نمی کند که کدام معامله برای اولین بار اجرا شود - صرفا این معامله ها با یکدیگر تداخل نخواهند داشت
- قابلیت اطمینان تضمین می کند که هر تراکنشی متعهد به پایگاه داده از بین نمی رود. طول عمر با استفاده از پشتیبان های پایگاه داده و ثبت معامله ها تسهیل می شود که تسهیل بازگرداندن معاملات متعهد را به رغم هر گونه ناکامی نرم افزار یا سخت افزار پس از آن تضمین می کند.
چگونه ACID در عمل عمل می کند
مدیران پایگاه داده از چندین استراتژی برای اجرای ACID استفاده می کنند.
یکی از آنهایی که برای اتمام بودن و دوام استفاده می شود ، ورود به سیستم (WAL) است که در آن هر جزئیات معامله برای اولین بار به یک ورودی ارسال می شود که حاوی هر دو اطلاعات مجدد و خنثی است. این اطمینان را می دهد که با توجه به خرابی پایگاه داده هر نوع، وارد شوید و محتویات آن را به حالت پایگاه داده مقایسه کنید.
روش دیگری که برای حل اتمیت و دوام استفاده می شود ، صفحه بندی سایه است که در آن هنگام ایجاد یک صفحه سایه هنگام اصلاح داده ها ایجاد می شود. به روز رسانی پرس و جو به صفحه سایه به جای داده های واقعی در پایگاه داده نوشته شده است. پایگاه داده تنها زمانی تغییر می کند که ویرایش کامل شود.
استراتژی دیگر پروتکل دو مرحله ای است، مخصوصا در سیستم های پایگاه داده توزیع شده. این پروتکل تقاضای تغییر داده را به دو مرحله تقسیم می کند: یک مرحله درخواست متعهد و یک مرحله متعهد. در مرحله درخواست، تمام DBMS ها در یک شبکه که توسط تراکنش تحت تاثیر قرار می گیرند، باید تأیید کنند که آنها آن را دریافت کرده اند و ظرفیت انجام تراکنش را دارند. هنگامی که تأیید از تمام DBMS های مربوطه دریافت می شود، فاز تعهد کامل می شود که در آن داده ها در واقع اصلاح شده اند.