日期:2014-05-16  浏览次数:20556 次

数据库特性
ACID
    ACID是描述一个有效的事务处理系统应提供的4种特性的首字母缩写词。ACID代表Atomicity(原子性),Consistency(一致性),Isolation(隔离性)和Durability(持久性)。
    原子性是指事务处理是原子的。事务处理中的操作要么全部完成要么都不执行。
    一致性是指事务处理确保数据库在事务处理前后处于一致的状态。换句话说,如果事务处理内的操作违反数据库的原则,则回滚事务处理。举例而言,假设数据库的规则规定一个账户不能完成导致余额少于零的支付。此外,假设Alice的账户有75美元。现在开始一个事务,向Bob的账户添加100美元,然后试图从Alice的账户上扣除100美元。这样将使Alice的账户负载25美元,违反的数据库的原则,因此会取消此事务处理并且会设法忘记这种难堪的事情曾经发生过(实际上我们可能由于开错了支票而给Alice开了一张令人气愤的过多扣费的账单)。
    隔离性是指向除了执行事务处理的人以外的所有人隐蔽其细节。假定开始一个事务处理,从Alice账户上扣除100美元,并将这100美元添加到Bob账户。在此操作的过程中,其他人都不能窥视数据库,并且看不到Alice和Bob拥有100美元的状态。任何查看数据库的人都能在某个账户上看到100美元,不同的是在事务处理之前是在Alice的账户上而在事务处理之后却在Bob账户上。
    具体而言,两个事务处理运行在隔离状态并且不能相互干扰。假设一个事务处理从Alice向Bob转账100美元,然后另一个事务处理从Bob向Cindy转账100美元。逻辑上,一个事务处理要先出现并在另一个事务处理开始之前结束
    持久性是指一旦提交了一个事务处理,它就不会消失。如果电源处问题,此时造成数据库重新启动,该事务处理的作用仍然保留。
    持久性原则依赖于一致性原则。一致性确保如果事务处理使数据库处于一种违法数据库规则的状态,则不会完成该事务处理,持久性意味着数据库将不能随后确定事务处理造成了这样一种状态,并且回溯性的删除该事务处理。
    一旦提交了事务处理,那么它使不能改变的。