分类: Oracle
2008-05-23 13:23:55
来源: |
|
在进行数据库系统的设计时,一个不可忽视的问题是弄清你所面对的应用是属于那种类型。目前流行的应用类型有: * 事务处理(OLTP=Online transaction Processing )应用程序 * 决策支持系统(DSS=Decision Suport System )应用程序 * 多目的应用程序 在线事务处理(OLTP) 在线事务处理(OLTP=Online transaction Processing )应用程序具有高的吞吐量,并且是Update、Insert 的密集型。如订票系统、订货系统等。在OLTP设计时,要考虑并发用户和系统问题,由于索引和簇会降低 Insert和Update的。所以用户还要避免对这两种结构的过度使用。 对于OLTP系统,下面因素是关键: * 回滚段 * 索引、簇、哈希 * 离散事务 * 数据块大小 * 缓冲区缓存大小 * 表和回滚段空间的动态分配 * 事务处理监视和多线程服务器 * 帮定变量的使用 * 共享池 * 分区 * 优化过的SQL 语句 * 完整性约束 * 客户/服务器体系结构 * 可动态改变的初始化参数 * 流程、组件、功能 决策支持系统(DSS) 典型情况下,决策支持系统大量的信息转化为用户定义的报告。DSS对从OLTP应用程序收集的大量数据进行查询。 决策支持系统的关键有三个:1)时间;2)精确性;3)可用性。在设计DSS系统时,要确保大量数据的查询在合理的时间段内执行完毕。如在白天,决策者需要看报告,所以要保证在前一天晚上完成所需数据的统计。 对于DSS的优化,下面因素至关重要: * 实体化的视图 * 索引(B*树和位图) * 簇、哈希 * 数据块大小 * 星型查询 * 优化程序 * 使用查询提示 * SQL语句中的PL/SQL功能 * 分区 多用途应用程序 典型的OLTP和数据仓库系统的结合就是多目的应用程序。因为OLTP 应用程序收集数据,随后将数据提供给数据仓库系统。 如果OLTP和数据仓库系统使用相同的数据库,就存在目标冲突,即可能回影响性能问题。为解决该问题。首先,OLTP数据库在收集到数据后,就将数据复制进另一个数据库中。该数据库为数据仓库所查询。如果每天只复制一次,则这种配置可能会使数据仓库应用的精确性受到轻微的折衷。但是对于两个系统的整体来说,可获得更好的性能。 |