酸数据库模型

酸保护数据库的信息

商人与笔记本电脑旁边服务器技术人员交谈

托马斯Northcut /盖蒂图片社

的酸模型数据库设计是最古老、最重要的概念之一的数据库理论。它提出四个,每个数据库管理系统都必须努力达成的目标:原子性、一致性、隔离性和持久性。关系数据库无法满足任何这四个目标不能被认为是可靠的。一个数据库,拥有这些特征被认为是符合acid。将

酸,定义

四种酸属性遵循明确的标准:

  • 原子性州数据库修改必须遵循一种“全或无”的规则。据说每个事务原子。如果事务失败的一部分,整个事务失败。关键是数据库管理系统维护事务的原子性质尽管任何数据库管理系统,操作系统或硬件故障。
  • 一致性州,只有有效的数据将被写入数据库。出于某种原因,如果一个事务执行,违反了数据库的一致性规则,整个事务将回滚,数据库将恢复状态符合这些规则。另一方面,如果一个事务成功执行时,它将数据库从一个状态是一致的规则到另一个州,也符合规则。
  • 隔离要求多个事务发生的同时不会影响彼此的执行。例如,如果乔对数据库事务问题同时,玛丽问题不同的事务,事务都应该以孤立的方式操作数据库。数据库应该执行乔的整个事务在执行之前玛丽的,反之亦然。这可以防止乔的事务读取中间数据产生的副作用玛丽的事务的一部分,最终将不会被提交到数据库。注意隔离事务属性不能确保它将执行事务词,不会相互干扰
  • 耐用性确保任何事务提交到数据库不会丢失。耐用性是确保通过使用数据库备份和事务日志,以促进恢复已提交的事务的任何后续软件或硬件故障。

酸是如何工作的

数据库管理员使用一些策略来实施酸。

一个用于执行原子性和持久性写前日志记录,任何交易细节是第一次写日志,包括撤消和重做信息。这种方法可以确保,给定一个任何形式的数据库故障,数据库可以检查日志并比较其内容数据库的状态。

另一种方法用于解决原子性和持久性shadow-paging,的影子页面时创建的数据要修改。查询的更新写入到影子页面而不是真正的数据库中的数据。修改数据库本身只有当编辑完成。

另一个策略被称为两阶段提交协议,在分布式数据库系统中特别有用。这个协议将要求修改数据分为两个阶段:commit-request阶段提交阶段。在请求阶段,dbms网络影响的事务必须确认他们已经收到,有能力执行事务。一旦确认收到所有相关的dbms,提交阶段完成的数据实际上是修改。

酸模型并不是唯一的方法来管理数据。的基本模型能够很好地处理非结构化的数据。

这个页面是有用吗?