Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Durability (database systems)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Ability to guarantee database transactions}} In [[database system]]s, '''durability''' is the [[ACID]] property that guarantees that the effects of [[database transaction|transaction]]s that have been committed will survive permanently, even in cases of failures,<ref name=":0">{{Cite journal |last=Gray |first=Jim |date=1981 |title=The transaction concept: Virtues and limitations. |url=http://people.eecs.berkeley.edu/~kubitron/courses/cs262a-F21/handouts/papers/theTransactionConcept.pdf |journal=VLDB |volume=81 |pages=144β154}}</ref> including incidents and catastrophic events. For example, if a flight booking reports that a seat has successfully been booked, then the seat will remain booked even if the system crashes.<ref>{{cite web |title=ACID Compliance: What It Means and Why You Should Care |url=https://mariadb.com/resources/blog/acid-compliance-what-it-means-and-why-you-should-care/ |website=MariaDB |date=29 July 2018 |access-date=22 September 2021}}</ref> Formally, a database system ensures the durability property if it tolerates three types of failures: transaction, system, and media failures.<ref name=":0" /> In particular, a transaction fails if its execution is interrupted before all its operations have been processed by the system.<ref name=":1">{{Cite journal |last=Hadzilacos |first=Vassos |date=1988 |title=A theory of reliability in database systems |journal=Journal of the ACM |language=en |volume=35 |issue=1 |pages=121β145 |doi=10.1145/42267.42272 |s2cid=7052304 |issn=0004-5411|doi-access=free }}</ref> These kinds of interruptions can be originated at the transaction level by data-entry errors, operator cancellation, [[Timeout (computing)|timeout]], or application-specific errors, like withdrawing money from a bank account with insufficient funds.<ref name=":0" /> At the system level, a failure occurs if the contents of the [[Volatile memory|volatile storage]] are lost, due, for instance, to system [[Crash (computing)|crashes]], like [[Out of memory|out-of-memory]] events.<ref name=":1" /> At the media level, where media means a stable storage that withstands system failures, failures happen when the stable storage, or part of it, is lost.<ref name=":1" /> These cases are typically represented by [[hard disk drive failure|disk failures]].<ref name=":0" /> Thus, to be durable, the database system should implement strategies and operations that guarantee that the effects of transactions that have been committed before the failure will survive the event (even by reconstruction), while the changes of incomplete transactions, which have not been committed yet at the time of failure, will be reverted and will not affect the state of the database system. These behaviours are proven to be correct when the execution of transactions has respectively the [[Resilience (engineering and construction)|resilience]] and [[recoverability]] properties.<ref name=":1" />
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)