讲完操作系统的实施策略,接着介绍数据库的优化策略
1. 是否采用集群策略
2. 配置相应的参数以及存储配置
3. 如果采用集群策略,确定每个节点要完成的应用类型(OLTP,OLAP)
是否采用集群策略主要取决于两个方面:
首先是你的数据库服务器的硬件资源相对于前段应用业务是否可以满足,如果不能满足,那可以选择集群。
第二个方面是你对系统的高可用上是否有要求,说白一些就是你能允许业务的宕机时间是多少,如果你不允许或者允许的时间很短,那需要选择集群。
具体采用多少台机器的集群,需要根据具体业务来决定。
配置数据参数也是根据业务来去定,如针对于Oracle数据一般需要调整的参数包括:
DB_BLOCK_SIZE,针对矢量数据默认的8k大小已经足以,如果是影像数据可以考虑换成16k或者32k
SGA_TARGET=65%-70% 的physical memory
WORK_AERA_POLYCY=AUTO
PGA_AGGREGATE_TARGET=10% Physical memory
PRE_PAGE_SGA=TRUE
LOCK_SGA=TRUE
OPEN_CURSORS>=2000
最后再讨论一下应用类型,主要包括OLTP和OLAP业务,一个包括两个业务的系统结构图一般如下图所示:
前段的用户一般非为两种类型,一种类型的人是operator,也就是操作员,他们的业务主要是录入数据,其应用类型为OLTP,这部分的人的业务的特点是事务量多但是每个事务都很短。
另外一种类型的人是leader,也就是领导,他们的业务主要是查询,利用查询出来的数据进行决策,其应用类型为OLAP,这部分人的业务的特点是事务量少,但是每个事务都比较长。
如果把所有的业务后台只有一台机器支撑,那可能会出现一个效率问题,如:
领导提交了一个查询,该查询需要计算出如果修建一个跨省级的告诉公路,那大约要占用多少的用地,这个查询可能需要半个小时或者一个小时或者更长时间,在这个期间内,可能用掉了大部分的服务器资源,那前段录入数据的操作员在录入数据的时候会感觉非常慢了。反之也是一样的,那如何解决这个问题呢,