登基是什么意思| eagle是什么牌子| 爆缸是什么意思| 做活检意味着什么| 洛阳有什么山| 今天什么时候出梅| 最好的洗发水是什么牌子| 猪儿虫是什么意思| 换气是什么意思| 什么是性早熟| 生殖器疱疹是什么病| 肚子大什么原因| 体检报告都检查什么| 趴着睡觉是什么原因| 讲义气是什么意思| 茯苓什么人不能吃| 血红蛋白高是什么原因| 鲫鱼吃什么食物| 扁桃体结石吃什么药| 一个不一个好念什么| 乐捐是什么意思| 一个马一个并念什么| 王安石号什么| 羽毛球拍什么牌子好| 早起嘴苦是什么原因| 821是什么意思| 梦见自己的手机丢了是什么意思| 硬不起吃什么药| 马到成功是什么生肖| 子宫为什么长肌瘤| 乳环是什么| 为什么会牙疼| 来月经喝什么汤好| 新鲜的乌梅长什么样| 肝气不舒有什么症状| 3月7日什么星座| 偷窥什么意思| 羟丁酸脱氢酶高是什么原因| 一什么蘑菇| 发烧适合吃什么水果| 双肺上叶肺大泡是什么意思| 洗涤是什么意思| 肌层回声不均匀是什么意思| 寒湿重吃什么药| ot什么意思| 小朋友眼袋很重是什么原因| 感冒吃什么食物比较好| 中医湿气重是什么意思| 肌肉拉伤用什么药| 同病相怜什么意思| 荨麻疹可以涂什么药膏| 夏至吃什么| 梦见摘豆角是什么预兆| 人怕冷是什么原因引起的| 胃不好可以喝什么茶| 反流性食管炎吃什么药| 一什么乌云| 吃什么能长头发| 除了肠镜还有什么方法检查肠道| 立场是什么意思| 中联办是什么级别| 前列腺在哪里男人的什么部位| 败血症是什么症状| 手掌纹路多且杂乱是为什么| 乳和霜有什么区别| 喉咙有浓痰是什么原因| 收官什么意思| 属马的跟什么属相最配| 湿气重吃什么中药| 人体最大的排毒器官是什么| 血细胞分析能查出什么| 意尔康属于什么档次| 养牛仔裤是什么意思| 什么生木| 里番是什么| 脸上掉皮是什么原因| 吃茶叶蛋有什么好处和坏处| 小人得志是什么意思| 崖柏对人体有什么好处| 青提是什么| 斑秃是什么原因造成的| 没有精液是什么原因| 一单一双眼皮叫什么眼| 钠尿肽高是什么原因| 缺铁性贫血吃什么好| 苎麻是什么| 女人戴黄金有什么好处| 吃生蚝有什么好处和坏处| 慈母手中线的下一句是什么| 肝郁脾虚吃什么药| 血管性头痛吃什么药| 半熟芝士是什么意思| 什么是挠脚心| 月经有血块是什么原因| 胎儿双顶径偏大是什么原因| 肺栓塞的主要症状是什么| 富士山什么时候喷发| 空调不出水是什么原因| 西凤酒什么香型| 瑞典和瑞士有什么区别| 黄水疮是什么原因引起的| 吃猪肝补什么| 焦的部首是什么| 制片人是什么意思| 恐龙生活在什么时代| 副脾结节是什么意思| 浪琴军旗什么档次| 动物为什么要冬眠| 喝酒前喝什么不容易醉| 牛肉馅配什么菜包饺子好吃| 吃完饭就犯困是什么原因| 条子是什么意思| 黑热病是什么病| 腹水是什么病| 农历八月十五是什么节日| 发改局是做什么的| 去迪拜打工需要什么条件| 牛肉和什么炒最好吃| 曱亢有什么症状| 干眼症滴什么眼药水好| 阳虚有什么症状和表现| 肛门跳动是什么原因| 淋巴结肿吃什么消炎药| 父母都是o型血孩子是什么血型| 回族不吃什么肉| 麦高芬是什么意思| 什么是嗜睡| 塑料袋属于什么垃圾| 腿弯疼是什么原因| 佟丽娅为什么离婚| 抽油烟机买什么样的好| 弦脉是什么意思| 过期的维生素e有什么用途| 卡介苗为什么会留疤| 什么是月食| 尿发绿是什么原因| 颜文字是什么意思| 物上代位性是什么意思| island什么意思| 观音成道日是什么意思| 鹦鹉拉稀吃什么药| 男性下体瘙痒用什么药| 大校军衔是什么级别| 下岗是什么意思| 补白蛋白吃什么食物最快最好| 汗蒸有什么好处和功效| 为什么男人喜欢女人的胸| 发晕是什么原因引起的| 情感和感情有什么区别| 工厂体检一般检查什么| cosplay是什么| 白细胞增多是什么原因| 风湿都有什么症状| 胃嗳气是什么症状| 用什么擦地最干净| 活性炭是什么东西| 结扎对女人有什么伤害| 翠玉是什么玉| 什么是智齿| 老鸹是什么鸟| 吾子是什么意思| ecology是什么意思| 长水泡是什么原因| 打豆豆什么意思| 山穷水尽疑无路是什么生肖| 品牌pr是什么意思| 女性下面水少是什么原因| 梦见找鞋子是什么意思| 迁单是什么意思| 男属猴和什么属相最配| 舌头中间疼是什么原因| fob价格是什么意思| 藜麦是什么东西| 神经炎是什么症状| 酉时是什么时候| 才高八斗是什么意思| 刮宫是什么意思| 药学是什么| 扫把和什么是一套的| 什么尾花| 老母鸡煲汤放什么食材补气补血| 小钙化灶是什么意思| 问号像什么| 宝宝不爱吃饭是什么原因| 食道癌有什么症状| 手淫什么意思| 财神叫什么名字| 胸膜炎是什么症状| amp是什么意思| 营养不良会导致身体出现什么症状| 迪丽热巴颜值什么水平| 榴莲对子宫有什么好处| 红烧排骨用什么排骨比较好| 白头翁是什么生肖| 屁很多是什么原因造成的| 开导是什么意思| 大小周休息是什么意思| 月经量多是什么原因引起的| 木兮是什么意思| 梦见去墓地是什么预兆| 黄麻是什么| 亦木读什么| 幻视是什么意思| 关节疼挂什么科| 蜻蜓点水是什么生肖| 甲亢吃什么药| 肉质瘤是什么东西| 依云矿泉水为什么贵| 替代品是什么意思| 担心是什么意思| 中耳炎去药店买什么药| 流清水鼻涕吃什么药| 年轻人血压高是什么原因引起的| 为什么一吃饭就肚子疼| 什么是庞氏骗局| 生理期是什么| 膀胱充盈欠佳什么意思| 海藻是什么| 支气管炎吃什么| 痛风是什么地方痛| 抑扬顿挫什么意思| 大黄鸭是什么牌子| ab阳性血型是什么血型| 爱因斯坦发明了什么| 转什么为什么成语| 相对密度是什么意思| 犟驴是什么意思| 孩子总爱哭是什么原因| 血糖高的人吃什么好| 静脉石是什么意思| 阴茎冰凉是什么原因| 什么力竭| 恐龙吃什么| 马六甲板材是什么木材| 胆固醇高吃什么| 什么样的智齿需要拔| dj管是什么| 柏拉图式恋爱是什么意思| 劳力士手表什么档次| 解痉镇痛酊有什么功效| 果粉是什么意思| 宝宝辅食虾和什么搭配| 子宫下垂有什么症状| 前胸出汗多是什么原因| ca153是什么检查项目| 脾肺两虚吃什么中成药| 129什么星座| 苦口婆心是什么意思| 米其林是什么意思| 囊肿与肿瘤有什么区别| 兔属什么五行| 凉拌什么菜好吃| 梦见找鞋子是什么意思| 晚上睡觉咳嗽是什么原因| 什么的脸庞| 金相是什么意思| 拉肚子吃什么最好| 什么时候不能喷芸苔素| 早泄挂什么科| a型血和什么血型生出o型血| 医院洗牙挂什么科| 父亲节送爸爸什么| 望梅止渴是什么梅| 做梦梦见水是什么意思| 百度Jump to content

ivvi科技举行盛大乔迁仪式 首款裸眼3D手机K5今日发布

From Wikipedia, the free encyclopedia
百度   教育部在公告中率先公布了举报信箱和电话,要求各级教育行政部门也要设立公布举报电话、举报信箱,畅通渠道,诚挚接受社会监督。

In database systems, durability is the ACID property that guarantees that the effects of transactions that have been committed will survive permanently, even in cases of failures,[1] 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.[2]

Formally, a database system ensures the durability property if it tolerates three types of failures: transaction, system, and media failures.[1] In particular, a transaction fails if its execution is interrupted before all its operations have been processed by the system.[3] These kinds of interruptions can be originated at the transaction level by data-entry errors, operator cancellation, timeout, or application-specific errors, like withdrawing money from a bank account with insufficient funds.[1] At the system level, a failure occurs if the contents of the volatile storage are lost, due, for instance, to system crashes, like out-of-memory events.[3] 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.[3] These cases are typically represented by disk failures.[1]

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 and recoverability properties.[3]

Mechanisms

[edit]
A simplified finite state automaton showing possible DBMS after-failure (in red) states and the transitions (in black) that are necessary to return to a running system to achieve durability.

In transaction-based systems, the mechanisms that assure durability are historically associated with the concept of reliability of systems, as proposed by Jim Gray in 1981.[1] This concept includes durability, but it also relies on aspects of the atomicity and consistency properties.[4] Specifically, a reliability mechanism requires primitives that explicitly state the beginning, the end, and the rollback of transactions,[1] which are also implied for the other two aforementioned properties. In this article, only the mechanisms strictly related to durability have been considered. These mechanisms are divided into three levels: transaction, system, and media level. This can be seen as well for scenarios where failures could happen and that have to be considered in the design of database systems to address durability.[3]

Transaction level

[edit]

Durability against failures that occur at transaction level, such as canceled calls and inconsistent actions that may be blocked before committing by constraints and triggers, is guaranteed by the serializability property of the execution of transactions. The state generated by the effects of precedently committed transactions is available in main memory and, thus, is resilient, while the changes carried by non-committed transactions can be undone. In fact, thanks to serializability, they can be discerned from other transactions and, therefore, their changes are discarded.[3] In addition, it is relevant to consider that in-place changes, which overwrite old values without keeping any kind of history are discouraged.[1] There exist multiple approaches that keep track of the history of changes, such as timestamp-based solutions[5] or logging and locking.[1]

System level

[edit]

At system level, failures happen, by definition,[3] when the contents of the volatile storage are lost. This can occur in events like system crashes or power outages. Existing database systems use volatile storage (i.e. the main memory of the system) for different purposes: some store their whole state and data in it, even without any durability guarantee; others keep the state and the data, or part of them, in memory, but also use the non-volatile storage for data; other systems only keep the state in main memory, while keeping all the data on disk.[6] The reason behind the choice of having volatile storage, which is subject to this type of failure, and non-volatile storage, is found in the performance differences of the existing technologies that are used to implement these kinds of storage. However, the situation is likely to evolve as the popularity of non-volatile memories (NVM) technologies grows.[7]

In systems that include non-volatile storage, durability can be achieved by keeping and flushing an immutable sequential log of the transactions to such non-volatile storage before acknowledging commitment. Thanks to their atomicity property, the transactions can be considered the unit of work in the recovery process that guarantees durability while exploiting the log. In particular, the logging mechanism is called write-ahead log (WAL) and allows durability by buffering changes to the disk before they are synchronized from the main memory. In this way, by reconstruction from the log file, all committed transactions are resilient to system-level failures, because they can be redone. Non-committed transactions, instead, are recoverable, since their operations are logged to non-volatile storage before they effectively modify the state of the database.[8] In this way, the partially executed operations can be undone without affecting the state of the system. After that, those transactions that were incomplete can be redone. Therefore, the transaction log from non-volatile storage can be reprocessed to recreate the system state right before any later system-level failure. Logging is done as a combination of tracking data and operations (i.e. transactions) for performance reasons.[9]

Media level

[edit]

At media level, failure scenarios affect non-volatile storage, like hard disk drives, solid-state drives, and other types of storage hardware components.[8] To guarantee durability at this level, the database system shall rely on stable memory, which is a memory that is completely and ideally failure-resistant. This kind of memory can be achieved with mechanisms of replication and robust writing protocols.[4]

Many tools and technologies are available to provide a logical stable memory, such as the mirroring of disks, and their choice depends on the requirements of the specific applications.[4] In general, replication and redundancy strategies and architectures that behave like stable memory are available at different levels of the technology stack. In this way, even in case of catastrophic events where the storage hardware is damaged, data loss can be prevented.[10] At this level, there is a strong bond between durability and system and data recovery, in the sense that the main goal is to preserve the data, not necessarily in online replicas, but also as offline copies.[4] These last techniques fall into the categories of backup, data loss prevention, and IT disaster recovery.[11]

Therefore, in case of media failure, the durability of transactions is guaranteed by the ability to reconstruct the state of the database from the log files stored in the stable memory, in any way it was implemented in the database system.[8] There exist several mechanisms to store and reconstruct the state of a database system that improves the performance, both in terms of space and time, compared to managing all the log files created from the beginning of the database system. These mechanisms often include incremental dumping, differential files, and checkpoints.[12]

Distributed databases

[edit]

In distributed transactions, ensuring durability requires additional mechanisms to preserve a consistent state sequence across all database nodes. This means, for example, that a single node may not be enough to decide to conclude a transaction by committing it. In fact, the resources used in that transaction may be on other nodes, where other transactions are occurring concurrently. Otherwise, in case of failure, if consistency could not be guaranteed, it would be impossible to acknowledge a safe state of the database for recovery. For this reason, all participating nodes must coordinate before a commit can be acknowledged. This is usually done by a two-phase commit protocol.[13]

In addition, in distributed databases, even the protocols for logging and recovery shall address the issues of distributed environments, such as deadlocks, that could prevent the resilience and recoverability of transactions and, thus, durability.[13] A widely adopted family of algorithms that ensures these properties is Algorithms for Recovery and Isolation Exploiting Semantics (ARIES).[8]

See also

[edit]

References

[edit]
  1. ^ a b c d e f g h Gray, Jim (1981). "The transaction concept: Virtues and limitations" (PDF). VLDB. 81: 144–154.
  2. ^ "ACID Compliance: What It Means and Why You Should Care". MariaDB. 29 July 2018. Retrieved 22 September 2021.
  3. ^ a b c d e f g Hadzilacos, Vassos (1988). "A theory of reliability in database systems". Journal of the ACM. 35 (1): 121–145. doi:10.1145/42267.42272. ISSN 0004-5411. S2CID 7052304.
  4. ^ a b c d Atzeni, Paolo, ed. (1999). Database systems: concepts, languages & architectures. New York: McGraw-Hill. pp. 311–320. ISBN 978-0-07-709500-0.
  5. ^ Svobodova, L. (1980). "MANAGEMENT OF OBJECT HISTORIES IN THE SWALLOW REPOSITORY". Mit/LCS Tr-243. USA.
  6. ^ Petrov, Oleksandr (2019). Database internals: a deep dive into how distributed data systems work (1st ed.). Beijing Boston Farnham Sebastopol Tokyo: O'Reilly. pp. 40–42. ISBN 978-1-4920-4034-7.
  7. ^ Arulraj, Joy; Pavlo, Andrew (2025-08-05). "How to Build a Non-Volatile Memory Database Management System". Proceedings of the 2017 ACM International Conference on Management of Data. SIGMOD '17. New York, NY, USA: Association for Computing Machinery. pp. 1753–1758. doi:10.1145/3035918.3054780. ISBN 978-1-4503-4197-4. S2CID 648876.
  8. ^ a b c d Petrov, Oleksandr (2019). Database internals: a deep dive into how distributed data systems work (1st ed.). Beijing Boston Farnham Sebastopol Tokyo: O'Reilly. pp. 185–195. ISBN 978-1-4920-4034-7.
  9. ^ Mohan, C.; Haderle, Don; Lindsay, Bruce; Pirahesh, Hamid; Schwarz, Peter (2025-08-05). "ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging". ACM Transactions on Database Systems. 17 (1): 94–162. doi:10.1145/128765.128770. ISSN 0362-5915. S2CID 8759704.
  10. ^ Eich, Margaret H. (2025-08-05). "A classification and comparison of main memory database recovery techniques". 1987 IEEE Third International Conference on Data Engineering. IEEE. pp. 332–339. doi:10.1109/ICDE.1987.7272398. ISBN 978-0-8186-0762-2. S2CID 207773738.
  11. ^ Choy, Manhoi; Leong, Hong Va; Wong, Man Hon (2000). "Disaster recovery techniques for database systems". Communications of the ACM. 43 (11es): 6. doi:10.1145/352515.352521. ISSN 0001-0782. S2CID 14781378.
  12. ^ Verhofstad, Joost S. M. (2025-08-05). "Recovery Techniques for Database Systems". ACM Computing Surveys. 10 (2): 167–195. doi:10.1145/356725.356730. S2CID 8847522.
  13. ^ a b Mohan, C.; Haderle, Don; Lindsay, Bruce; Pirahesh, Hamid; Schwarz, Peter (2025-08-05). "ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging". ACM Transactions on Database Systems. 17 (1): 94–162. doi:10.1145/128765.128770. ISSN 0362-5915. S2CID 8759704.

Further reading

[edit]
[edit]
化学性肝损伤是指什么 摩羯座女和什么座最配 牙齿疼是什么原因引起的 左室高电压是什么意思 梦见别人流血是什么预兆
失去自我是什么意思 不割包皮有什么影响 ng是什么单位 乌龟用什么呼吸 小便黄吃什么药
石光荣是什么军衔 bf是什么牌子 血滴子是什么意思 祖师香是什么意思 不什么而同
惊涛骇浪是什么意思 催乳素过高会有什么严重的后果 色弱和色盲有什么区别 钾血症是什么病 肠易激综合症用什么药能治好
睡不着吃什么药最有效hcv8jop4ns0r.cn 什么样的树hcv9jop8ns0r.cn 什么立雪hcv8jop5ns2r.cn 电解质氯高是什么原因hebeidezhi.com 潮喷是什么意思hcv9jop7ns9r.cn
排卵期出血吃什么药hcv8jop6ns7r.cn 辅弼是什么意思hcv7jop9ns7r.cn 黄瓜吃多了有什么坏处hcv9jop1ns1r.cn 9.20号是什么星座hcv8jop3ns0r.cn 自主神经功能紊乱吃什么药hcv9jop3ns9r.cn
小孩发烧吃什么药hcv8jop4ns6r.cn 补维生素吃什么好hcv9jop8ns1r.cn bun是什么意思hcv8jop6ns4r.cn 左眼皮跳什么意思hcv9jop0ns1r.cn 行云流水是什么意思cl108k.com
不孕吐的人说明什么hcv8jop8ns7r.cn 坤字五行属什么hcv7jop5ns6r.cn qd什么意思helloaicloud.com 紫米是什么米dajiketang.com 公务员和事业编有什么区别hcv9jop4ns5r.cn
百度