A.C.I.D. در پایگاه داده
سیستم پایگاه داده با انواع مختلفی از تراکنش ها در ارتباط است که همه ی آن ها مشخصه های خاصی دارند. این مشخصه ها به اسم A.C.I.D. شناخته می شوند.
جهت مطالعه مقاله ی پایگاه داده در DB2 اینجا کلیک کنید.
A.C.I.D. مجموعه ای از مفاهیم است که به همه ی سیستم های پردازش تراکنش اعمال می شود و ضمانت می کند که همه ی تراکنش های پایگاه داده وظایفشان را به درستی به اتمام می رسانند. A.C.I.D. نشان دهنده ی ۴ ویژگی تراکنش ها می باشد:
Atomicity
Consistency
Isolation
Durability
در اینجا تعاریف این مفاهیم را مشاهده می کنید.
Atomicity:
این ویژگی به معنای همه یا هیچ کدام می باشد. Atomicity به این معنی تعریف می شود که یک تراکنش یا با موفقیت به اتمام می رسد و یا همه ی آن شکست می خورد.
تقریبا همه ی تراکنش ها بیشتر از یک جدول را شامل می شوند. بنابراین هر تراکنش تعریف شده توسط اپلیکیشن بیشتر از یک تغییر می باشد. Atomicity همه ی این تغییرات را به یک عملیات تک تبدیل می کند که موفقیت یا شکست آن به همه ی این تغییرات وابسته می باشد.
مثال:
یک اپلیکیشن قصد دارد ۳۰ رکورد را در یک تراکنش به جداولی اضافه کند. در طی این تراکنش، مشکلی پدید می آید و تا زمان رخ دادن این مشکل تنها ۱۲ رکورد اضافه شده اند. طبق مفهوم Atomicity، این ۱۲ رکورد به جداول اضافه نخواهند شد و کل تراکنش بازگشت خواهد خورد. یا همه یا هیچ کدام!!!
Consistency:
به معنای انتقال یک پایگاه داده از یک حالت پایدار به حالت پایدار دیگر می باشد. یک داده در زمان شروع و پایان تراکنش در حالت پایدار قرار دارد. Consistency کنترل می کند که هیچ تراکنش دیگری به دیتا در حالت ناپایدار (بین شروع و اتمام تراکنش) دسترسی نداشته باشد.
هر دیتایی که قرار است اضافه شود باید صحت آن ها توسط قوانین تعریف شده کنترل شود و ضمانت شود که هیچ دیتای نادرستی در پایگاه داده اضافه نخواهد شد this page. این کار صحت و پایداری پایگاه داده را مدیریت می کند.
مثال:
در یک اپلیکیشن که وجوهی را از یک اکانت به اکانت دیگر منتقل می کند، مشخصه ی Consistency اطمینان حاصل می کند که مجموع وجه در هر دو اکانت در شروع و پایان هر تراکنش یکسان باشد.
Isolation:
تراکنش ها باید در یک محیط ایزوله اتفاق بیفتند. به این معنی که حالت میانی یک تراکنش (قبل از رسیدن به حالت پایدار) باید برای سایر تراکنش ها مخفی باشد.
Isolation تضمین می کند که یک تراکنش توسط تراکنش دیگری دستکاری و متوقف نشود. این مفهوم برای تراکنش های پایگاه داده بسیار مهم می باشد، زیرا هر پایگاه داده تراکنش های همزمان بسیار زیادی را مدیریت می کند.
مثال:
در یک اپلیکیشن که وجوهی را از یک اکانت به اکانت دیگر منتقل می کند، مشخصه ی Isolation تضمین می کند که تراکنش دیگری وجه منتقل شده را حتما و تنها در یک اکانت ببیند، نه در هر دو اکانت و نه در هیچ کدام!!!
Durability:
نگه داشتن داده های Commit شده تا همیشه!!! بعد از اینکه یک تراکنش با موفقیت به پایان می رسد، تغییرات دیتا باید به صورت کامل و به صورت دائمی ثبت شوند، حتی در صورت پایین آمدن سیستم.
DB2 از Log تراکنش ها برای صحت این مورد استفاده می کند. به این معنی که پیام Commit را نشان نمی دهد مگر اینکه تراکنش بر روی دیسک جهت Log ذخیره شده باشد.
مثال:
در یک اپلیکیشن که وجوهی را از یک اکانت به اکانت دیگر منتقل می کند، مشخصه ی Durability تضمین می کند که تغییرات وجه در هر اکانت به صورت دائمی ذخیره شده و جا به جا نخواهد شد.
جهت مطالعه بیشتر A.C.I.D در پایگاه داده به زبان انگلیسی می توانید از منبع زیر استفاده کنید:
جهت مشاهده ی آخرین دوره های تخصصی درس فراگیر و پکیج های آموزشی به قسمت محصولات در این لینک مراجعه نمایید.