آشنایی با مفهوم ACID
ACID یک خاصیت مطلوب برای هر تراکنشی است. در این مقاله قصد داریم تا با این مفهوم آشنا شویم.
ACID به خاصیتی مرکب از خواص زیر اتلاق میشود:
- Atomicity
- Consistency
- Isolation
- Durability
پس نیاز است تا با هریک از این مفاهیم آشنا شویم و با اعمال آنها بر یک تراکنش, تراکنشی با خاصیت ACID داشته باشیم.
Atomicity
بر اساس این خاصیت یک تراکنش یا باید به صورت کامل انجام شود و یا کاملا لغو شود. در حقیقت یک تراکنش نمیتواند موقعیت نیمه کاملی را اختیار کند. اهمیت استفاده از چنین خاصیتی در تراکنش هایی که شامل چند تراکنش میشود بسیار مشهود است. به این دلیل که اگر یکی از تراکنش ها دچار مشکل شود, تمام تراکنش اصلی لغو میشود. بنابراین پس از پایان یک تراکنش این اطمینان حاصل میشود که تمام تراکنش هایی که شامل میشود, به صورت کامل و موفقیت آمیز انجام شدهاند.
در یک مثال مشابه و بسیار پر کاربرد, میتوانیم فرآیند جابجایی پول را مثال بزنیم. در جابجایی پول وقتی مبلغ از حساب مبداء برداشته میشود, باید به حساب مقصد منتقل شود. حال اگر در این بین این فرآیند با شکست مواجه شود تمام مراحل باید به عقب برگردد و مبلغ کسر شده به حساب مبداء بازگردد.
Consistency
طبق این خاصیت, مقدار داده پس از پردازش باید برابر با مقدار پیش از پردازش باشد. این خاصیت در تراکنش های مالی بسیار حائز اهمیت است. بر این اساس, در یک تراکنش مالی که میتوانیم آن را جابجایی پول از یک حساب به حساب دیگر در نظر بگیریم, مقدار پولی که از حساب مبدا کسر میشود باید برابر با مقدار پول اضافه شده به حساب مقصد باشد. در مثال جابجایی فایل نیز این خاصیت برقرار است.
وقتی میخواهیم یک فایل را جابجا کنیم, نیاز است تا تمام محتویات آن, به صورت کامل جابجا شود. در غیر این صورت فایل مقصد, یک فایل با ساختار نادرست است.
Isolation
این خاصیت بیانگر این است که یک تراکنش نباید بر تراکنش دیگری تاثیر بگذارد. برای مثال فرض کنید در مثال جابجایی پول, اگر یک تراکنش دیگر شروع شود, مبلغی که در تراکنش قبل جابجاب شده است را در حساب مبدا یا مقصد مشاهده کند. مشاهده مبلغ در هر دو حساب و یا هیچ یک از حساب ها این خاصیت را نقض میکند. در نتیجه هیچ دو تراکنشی نباید در فرآیند یکدیگر تاثیر بگذارند به طوری که باعث نقض دو خاصیت پیشین شود.
Durability
این خاصیت این اطمینان را ایجاد میکند که هر تراکنش در یک وضعیت با ثبات است. در مثال جابجایی پول باید این اطمینان حاصل شود که کسر و افزایش مبلغ در دو حساب مبداء و مقصد قابل برگشت نیست و در یک وضعیت با ثبات است. ماندگاری داده ها یکی از عوامل ایجاد اطمینان نسبت به تراکنش است. در جابجایی یک فایل نیز باید مطمئن باشیم که فایل در مقصد خود قرار دارد.
اکنون که مفاهیم تشکیل دهنده یک تراکنش ACID را شرح دادیم، میتوانیم اهمیت آن را نیز مورد بررسی قرار دهیم. خاصیت ACID یک خاصیت قدیمی و بسیار پر اهمیت در مبحث پایگاه داده ها است. یک پایگاه داده ممکن است چندین نوع تراکنش را پشتیبانی کند. این تراکنش ها با تمام تفاوت هایشان یک خاصیت مشترک دارند و آن هم خاصیت ACID است. علت آن نیز این است که هر نیاز است تا برای هر تراکنش اطمینان لازم نیز حاصل شود.
بنابراین هر تراکنش با هر نوع ساختار و سطح اهمیتی, باید چنین خاصیتی را دارا باشد.
در این مقاله سعی بر این شد تا با مفهوم ACID و اهمیت آن در بحث تراکنش های پایگاه داده آشنا شویم.
با ما همراه باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.