ACIDچیست؟

ACID مخفف 4 کلمه است که هر یک یکی از جنبه هایی که یک دیتابیس باید داشته باشد را نشان میدهند که در زیر به تعریف هریک از این موارد میپردازیم.
Atomicity: اولین کلمه به این معناست که یک دیتابیس باید Atomic باشد. یعنی اینکه در یک تراکنش با دیتابیس یا همه موارد باید انجام شوند یا هیچ عملی نباید انجام پذیرد. فرض کنید شما در بانکی حساب دارید و میخاهید مبلغی را به حساب دوست خود واریز کنید. در طول این ترکنش 2 آپدیت روی دو سطر مختلف انجام میگیرد، اولی مبلغی را از حساب شما کم میکند و دومی همان مبلغ را به حساب دوست شما واریز میکند. حال فرض کنید بعد از اولی بروز رسانی و کثر پول از حساب شما، ارتباط دچار مشکلی گشت و بروز رسانی حساب دوست شما انجام نپذیرفت. دراین صورت چه اتفاقی برای آن پول می افتد؟!
در یک دیتابیس خوب در چنین شرایطی پول باید به طور خود کار به حساب اول بازگردانده شود. یعنی یا هر دو عمل با هم انجام میپذیرند یا هیچ کدام از اعمال انجام نمیشود.
Consistency: این واژه نیز نشان دهنده این است که پایگاه داده شما باید قبل و بعد از یک تراکنش در وضعیت صحیحی قرار داشته باشد. برای مثال یک حساب بانکی هرگز نمیتواند منفی باشد. پس اگر شما 50 هزار تومان در حساب خود داشته باشید، نباید بتوانید 100 هزار تومان به حساب دوست خود واریز کنید چون حساب شما منفی میگردد. یک سیستم خوب به پیاده سازی این منطق ها کمک میکند.
Isolation:یعنی یک تراکنش فقط در اختیار مالک آن تراکنش است. مثلا در مثال انتقال پول در زمانی که شما در حال انتقال پول از حساب خود هستید هیچ کس به جز شما از جزئیات این اتفاق نباید با خبر باشد و یا بتواند این تراکنش را تغییر دهد.
Durability:  آخرین کلمه به معنی ماندگاری داده ها است. یعنی اگر اطلاعاتی داخل دیتابیس قرار گرفت، تا زمانی که تغییر رخ نداده باید داده ها در همان وضع بماند و نباید بی دلیل و بدون هیچ تراکنشی در اطلاعات تغییر بوجود آید.
موفق باشید.

0 نظرات: