TechBord Logo
TechBord detail

اسید (ACID) چیست؟

مخفف عبارت "Atomicity, Consistency, Isolation, Durability." مخفف ACID چهار ویژگی را تعریف می کند که پایگاه داده (Database) باید برای اطمینان از یکپارچگی داده ها داشته باشد. به طور خاص، این کیفیت ها برای عملیات پایگاه داده که داده ها را در پایگاه داده می نویسند اعمال می شود. به عنوان مثال می توان به درج، به روز رسانی و حذف رکورد (Record) اشاره کرد.

چهار عنصر ACID در زیر توضیح داده شده است:

1. Atomicity

Atomicity تضمین می کند که هر تراکنش یک رویداد "همه یا هیچ" است. به عبارت دیگر، موفق می شود یا به طور کامل شکست می خورد. عملیات اتمی با ممنوع کردن تراکنش‌های جزئی از خراب شدن داده‌ها جلوگیری می‌کند. اگر عملیاتی را نتوان تکمیل کرد، به حالت قبلی "برگردانده می شود"، گویی هرگز اتفاق نیفتاده است.

برخی سامانه مدیریت پایگاه داده (DBMS) ممکن است به پیکربندی خاصی نیاز داشته باشند تا سازگار با اسید باشد. به عنوان مثال، مای اس کیو ال (MySQL) استانداردهای ACID را برآورده می کند، اما فقط در صورت استفاده از جدول (Table) که از عملیات اتمی پشتیبانی می کند. جداول InnoDB با ACID سازگار هستند زیرا از تراکنش‌ها، از جمله عبارت‌های COMMIT و ROLLBACK پشتیبانی می‌کنند. جداول MyISAM که از تراکنش ها پشتیبانی نمی کنند، با ACID سازگار نیستند.

2. سازگاری

ثبات این اطمینان است که فقط داده های معتبر در پایگاه داده نوشته می شوند. به عنوان مثال، یک پایگاه داده تراکنش های نامعتبر یا داده های غیرقابل تشخیص را نمی پذیرد. علاوه بر این، ممکن است از یک "بافر دونویسه" استفاده کند که به طور موقت تراکنش های جدید را ذخیره می کند. اگر پایگاه داده یا سیستم میزبان تصادف در (Crash) به طور غیرمنتظره ای، داده ها را می توان از بافر (Buffer) بازیابی کرد.

3. Isolation

Isolation تضمین می کند که هر تراکنش به صورت جداگانه انجام می شود. برخی از پایگاه های داده داده (Data) را چندین بار در ثانیه می خوانند و می نویسند، که ممکن است به تراکنش های همزمان نیاز داشته باشد. حتی زمانی که تراکنش ها همزمان انجام می شوند، باز هم می توانند از یکدیگر جدا شوند. به عنوان مثال، اگر یک عملیات با شکست مواجه شود، بر سایر عملیاتی که همزمان انجام می شوند تأثیری نخواهد داشت. جداسازی همچنین برای امنیت پایگاه داده ضروری است زیرا از قابل مشاهده شدن داده های یک تراکنش برای دیگری جلوگیری می کند.

4. دوام

دوام تضمین می‌کند که داده‌ها پس از پردازش یا "تعهد" به پایگاه داده ذخیره می‌شوند. لازم است که داده ها در حافظه غیر فرار (Non-Volatile Memory) نوشته شود تا در صورت خراب شدن برنامه کاربردی (Application) یا قطع برق، تراکنش ها از بین نرود.

در حالی که نرم افزار پایگاه داده می تواند به اطمینان از پایگاه داده کمک کند. دوام، سخت افزار نیز مهم است. برای مثال، یک پیکربندی ذخیره‌سازی آرایه اضافی از دیسک های مستقل (RAID) می‌تواند در صورت خرابی دستگاه ذخیره‌سازی، افزونگی ایجاد کند. پشتیبان باتری منبع تغذیه اضطراری (UPS) می‌تواند با حفظ انرژی الکتریکی در صورت در دسترس نبودن منبع برق اولیه، از از دست رفتن داده‌ها جلوگیری کند.

توجه: "Acid" (کوچک) یک مرورگر اینترنت (Web Browser) است. تستی که پشتیبانی مرورگر را برای تگ های زبان نشانه گذاری فرامتن (HTML) خاص و قوانین ورق سبک آبشاری (CSS) بررسی می کند. جدیدترین آزمایش، Acid3، توسط گروه Web Standards Project در سال 2008 تولید شد.

تعریف اصطلاح اسید (ACID) توسط تک بورد

تعریف اسید (ACID) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف اسید (ACID) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.