您的位置:首页 > 编程语言 > PHP开发

联机事务处理(OLTP)与决策支撑体系(DSS)

2012-10-23 23:01 316 查看
联机事务处理(OLTP)体系:DML操作频繁,并行事务处理多,但是一般都很短。
决策支撑体系(DSS)体系:典范的操作是全表扫描,长查询,长事务,但是一般事务的个数很少,往往是一个事务独占体系。

联系事务处理类型OLTP

  OLTP类型的应用是高吞吐量、插入、更新、删除操作比较多的系统,这些系统以不断增长的大容量数据为特征,它们提供给成百用户同时存取,典型的OLTP系统是订票系统,银行的业务系统,订单系统。

  OLTP的主要目标是可用性、速度、并发性和可恢复性。

  当设计这类型系统时,必须确保大量的并发用户不能干扰系统的性能,还需要避免使用过量的索引与CLUSTER表,因为这些结构会使插入和更新的操作变慢。

决策支持系统DSS

  该类型的应用奖大量信息进行提取形成报告,协助决策者作为正确的判断,典型的情况是:决策支持系统奖OLTP应用收集的大量数据进行查询。典型的应用为客户行为分析系统(超市,保险等)。

  决策支持的关键目标是速度、精确性和可用性。

  这种类型的设计往往与OLTP设计的理念背道而驰,一般建议使用数据冗余,大量索引、cluster table、并行查询等。

与标准化的关系

标准化是在数据库中组织数据的过程。其中包括,根据设计规则创建表并在这些表间建立关系;通过取消冗余度与不一致相关性,该设计规则可以同时保护数据并提高数据的灵活性。通常数据库标准化是让数据库设计符合某一级别的范式,通常满足第三范式即可。也有第四范式(也称为 Boyce Codd范式,BCNF))与第五范式存在,但是在实际设计中很少考虑。忽视这些规则可能使得数据库的设计不太完美,但这不应影响功能。

标准化的特点:

1) 所有的“对象”都在它自己的table中,没有冗余。

2) 数据库通常由E-R图生成。

3) 简洁,更新属性通常只需要更新很少的记录。

4) Join操作比较耗时。

5) Select,sort优化措施比较少。

6) 适用于OLTP应用。

非标准化的特点:

1) 在一张表中存储很多数据,数据冗余。

2) 更新数据开销很大,更新一个属性可能会更新很多表,很多记录。

3) 在删除数据是有可能丢失数据。

4) Select,order有很多优化的选择。

5) 适用于DSS应用。

标准化和非标准化都有各自的优缺点,通常在一个数据库设计中可以混合使用,一部分表格标准化,一部分表格保留一些冗余数据:

1) 对OLTP使用标准化,对DSS使用非标准化

2) 使用物化视图。MySQL不直接支持该数据库特性,但是可以用MyISAM表代替。

3) 冗余一些数据在表格中,例如将ref_id和name存在同一张表中。但是要注意更新问题。

4) 对于一些简单的对象,直接使用value作为建。例如IP address等

5) Reference by PRIMARY/UNIQUE KEY。MySQL可以优化这种操作,例如:

select city_name from city,state
where state_id=state.id and state.code=‘CA’” converted to “select city_name from city where state_id=12
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DSS OLTP 数据库 标准化