咱们为某个程序建立的特定的数据库通常称为事务型数据库(Transaction Database), 它和Data Warehouse(DW)仍是有很大差异的.数据库
1. 事务数据库帮助人们执行活动,而数据仓库帮助人们作计划。例如,事务数据库可能显示航班的哪些座位是空的,这样旅客能够进行预约。而数据仓库用于展现空座率状况的历史信息,以让航班管理员决定在将来是否要调度航班。并发
2. 事务数据库关注细节,而数据仓库关注高层次的汇集。例如,一个大人只想购买最流行的儿童图书而不关心它的库存状况。但负责图书在书架上排列的管理员也关心图书的销售状况和变化趋势。这之间的不一样的隐含区别在于数据仓库中的数据一般都是数值类型,它可用于汇总。性能
3. 事务数据库一般为特定的程序而设计,而数据仓库用于整合不一样来源的数据。例如订单处理程序——数据库会包含每笔订单的折扣信息,但不会包含产品的成本超支状况。相应地产品管理程序会包含详细的成本信息但不会包含销售折扣。但能够把这两样信息组合到一个数据仓库中,你就能够计算产品的实际销售利润。优化
4. 事务数据库关注如今,而数据仓库关注于历史。例如一个银行账户,每一次事务——即每次的存款与取款都会改变账户余额的值,但事务系统不多会维护历史余额。但在数据仓库中,你能够存储不少年的事务数据(可能被汇总的),还会存储余额快照。这样容许你把当前值与历史进行比较。在进行决策时,能够查看历史趋势。spa
5. 事务数据库是可变的,这很容易理解。但数据仓库是稳定的;它的信息会以固定的间隔进行更新(多是每个月,每星期或每小时),并且理想状况下,更新只会为新的时间段添加新值,而不会改变先前存储的值。设计
6. 事务数据库必须提供对详细信息的快速获取和更新,而数据仓库必须对高汇总信息的快速获取或更新。因此事务数据库的设计优化与数据仓库的设计优化可能不一样。并且,以管理目的查询一个事务数据库生成报表能够会致使该事务程序运行性能降低对象
数据库事务的四大特性(简称ACID)是: 事务
事务的原子性指的是,事务中包含的程序做为数据库的逻辑工做单位,它所作的对数据修改操做要么所有执行,要么彻底不执行。这种特性称为原子性。ci
例如银行取款事务分为2个步骤(1)存折减款(2)提取现金。不可能存折减款,却没有提取现金。2个步骤必须同时完成或者都不完成。产品
事务的一致性指的是在一个事务执行以前和执行以后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态知足全部的完整性约束,就说该数据库是一致的。
例如完整性约束a+b=10,一个事务改变了a,那么b也应随之改变。
分离性指并发的事务是相互隔离的。即一个事务内部的操做及正在操做的数据必须封锁起来,不被其它企图进行修改的事务看到。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引发异常状况。
持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,即对已提交事务的更新能恢复。持久性经过数据库备份和恢复来保证。