标题 | 基于OracleRAC的大连气象综合数据库设计与实现 |
范文 | 孙悦程 张悦 刘卫华 周丽丽 摘要:当前Oracle被广泛部署于气象业务应用系统,随着气象现代化的不断发展,气象部门对于数据库系统的高可用性十分重视。OracleRAC作为实时应用集群的技术,能够对高访问量和高数据量查询进行有效支撑。本文在OracleRAC技术基础上,实施设计并实现了大连气象综合数据库,并通过数据库审计系统对大连气象综合数据库进行监控管理。 关键词:OracleRAC:高可用性;气象 大连气象综合数据库依托于OracleRAC双机集群技术,使大连气象局全部相关探测数据从目前分散在各个业务系统、分散在各数据库中的各个表中统一至一套合理设计的一体化数据库平台上,使得困扰我局多年的基础气象探测数据杂乱零散的现状得以较好的解决,为基于气象数据的预报预警业务、公众服务业务等相关业务提供坚实的基础。 1 Oracle RAC技术 Oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控节点的运行状态,Oracle数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备(由ASM管理)上,所有集群节点可以同时读写共享存储。Oracle RAC的基本逻辑结构如下所示: 为了保证数据库的稳定性和高可用性,项目采用了两台Linux主机(服务器A与服务器B)外挂共享磁盘阵列存储(华为Ocean Store)的硬件结构,在内网安装部署了Oracle RAC集群环境,利用气象业务网实时收集各部门原始气象资料文件(气象数据PC)入库存储后,提供给各业务部门和终端用户使用。 对于纯文本类及纯图像类数据,使用了一台文件服务器,创建文件收集和存储目录,完成数据的分门别类的整理收集。 具体的物理结构图如下图: 通过Oracle RAC集群,构建了一个高性能、高可靠的数据库集群系统,其优势在于: 1.1 可以实现数据库的高可用性 Oracle RAC集群可以根据设定的调度策略,在两个节点(服务器A与服务器B)间实现负载均衡,每个节点都是工作的,同时也处于互相监控状态,当某个节点出现故障时,RAC集群自动将其故障节点从集群隔离,并将故障节点的请求自动转移到另一节点上,从而实现服务透明切换。 1.2 提高了数据库并发连接数 Oracle RAC集群会根据请求自动分配连接节点。当一个客户端发送请求到Oracle RAC集群后,集群将根据负载均衡策略,会把请求发送给其中某一节点处理,从而提高数据库的并发连接数,而这一切对于客户端来说都是透明的。 1.3 具有很好的扩展性 在目前使用双机两节点的情况下,可以通过增加节点无缝扩展RAC集群从而提高集群可用性和并发连接数。 Oracle RAC集群搭建完成以后,系统顺利通过了各项测试: (1)浮动IP切换测试; (2)节点机意外宕机、恢复测试; (3)Oracle集群负载均衡功能测试。 2 数据库设计 在数据表的设计方面: 2.1 合理设计数据库表结构 对于经常使用的表(如自动站数据表),由于其使用频率很高,要尽量减少表中的记录数和字段数。例如,自动站数据(包括常规自动站和区域自动站)设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的查询。如果根据要素分类和使用频率情况,将自动站数据分别设计为常规自动站自动项目表、常规自动站人工项目表、常规自动站雨量信息表、区域自动站数据表及区域自动站雨量表等,则可以大大提高查询效率。 2.2 根据经常查询的字段合理设计索引 必要的主键合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选经常出现在Where子句中的字段,特别是大表的字段;复合索引建立的順序应当和查询Where字句书写的顺序一致,从而避免索引建立后未被正常使用。例如自动站数据表在日期时间和站号上创建复合索引,因为这两个要素是最经常出现在SQL查询语句中。 3 结语 大连气象综合数据库系统实现了一套整合各类气象数据的实时气象数据库,提供了数据库结构的详细说明以及对应的接口,为局内各业务单位基于基础气象数据的预报预警、气象服务等业务应用提供了底层数据支撑和便利。 作者简介:第一作者:孙悦程,男,工程师,主要研究气象信息处理。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。