APP下载

基于分布式应用架构下的PDM 数据库架构改造过程与方法研究

2018-12-13程鲁明肖菊香

数字通信世界 2018年11期
关键词:集群分布式架构

程鲁明,肖菊香,郭 丽,陈 源

(成都飞机工业(集团)有限责任公司流程与信息化部,成都 610092)

1 引言

PDM系统是用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程(包括过程定义和管理)的信息化管理系统。通过实施PDM,可以提高生产效率,有利于对产品的全生命周期进行管理,加强对文档、图纸、数据的高效利用,使工作流程规范化。因此,针对一个制造型企业而言,PDM系统是企业的生产管理和调度管理的关键信息化系统之一,其架构的完整与完善、系统的高效、稳定运行则是保证企业PDM相关业务的关键。PDM系统是一个巨大的整体,包括应用、网络、存储、主机、数据库等方面,PDM系统作为企业的核心应用,它的高效稳定运行,是保障企业科研生产正常运转的重要保障之一。而PDM数据库架构仍然是传统的Oracle单机运行模式,不足以支持分布式应用架构所承载的业务量,这将导致整个业务系统的瓶颈最终出现在数据库层面,最终将使应用从传统架构改造为分布式架构失去意义。如何对PDM数据库进行优化改造、采用何种架构才能最大程度地解决数据库自身带来的性能瓶颈以及后期维护等是有待解决的问题。

2 应用架构分布式改造

为了提高PDM系统的可靠性、可维护性,为用户提供稳定的系统保障服务,提高运行效率,对应用架构进行分布式改造,其整个系统性能得到极大提升,并发量增大,扩展性增强。

将PDM应用从传统的单机环境改造为能够支持高并发、具备高扩展性和高安全性的分布式架构,是从整体应用架构上达到预期效果的最好办法,如图1所示。

图1 应用分布式改造

当业务系统架构从传统单机改造为分布式之后,整个业务系统的运行支持能力得到极大提高,应用处理并发将从800提升到2000以上,即提升2倍以上,如图2所示。

图 2 应用分布式改造并发量对比

图3 PDM 应用分布式改造后瓶颈

当应用架构通过改造得到巨大提升后,PDM数据库的Oracle单机运行模式不足以支持分布式应用架构所承载的业务量,这将导致整个业务系统的瓶颈最终出现在数据库层面,导致PDM应用从传统架构改造为分布式架构的做法失去意义,如图3所示。因此,如何解决在分布式应用改造后,整个PDM数据库的性能保证及数据库高并发、高可用是需要考虑的关键。由于IBM小型机是一个比较封闭的运行环境,如果进行单纯的扩容和双机改造,不仅方案实施难度大,而且需要消耗的硬件成本、软件成本以及维护成本极大。此外,封闭式的小型机环境也为整个系统的高可用及容灾带来极大的困难。故以开放的X86架构对封闭式的小型机单机数据库架构进行集群化,不仅可以提高数据库层面的并发量,同时也可以为整个环境进行高冗余配置。此外,X86架构的开放性也可以促进整个架构的并发量,提升容错率,降低TCO成本。

3 基于Oracle数据库的分布式高可用架构

基于Oracle数据库的分布式高可用架构,即采用轻量级的X86服务器代替传统架构下的小型机,结合当前Oracle数据库的12C版本,进行数据库重构,构建分布式的集群数据库,从而提升数据库的扩展性与并发量。此外,整个架构中构建了多个集群,不同的集群之间可以通过Oracle ADG技术进行实时数据同步复制,最终结合Oracle的闪回技术,则能够实现多角色的数据库容灾集群,该容灾集群既可以作为数据同步库,也可以作为开发测试环境,两者之间可以快速自由切换,如图4所示。

3.1 X86 技术概述

全球最新的服务器X86将进入14nm工艺时代,这意味着X86架构的服务器将会具备更高的处理性能、更长的稳定运行时间以及更低的能耗。下一代20nm工艺的DDR4(第四代双倍速率同步动态随机存储器Dual Data Rate Synchronous DynamicRandom Access Memory)内存芯片将开始应用于数据中心高端服务器,基于差分信号技术的DDR4内存,其传输速率将会达到6.4Gb/s。

图4 基于 Oracle 的分布式数据库架构

3.2 Oracle 12C 数据库新特性概述

Oracle 12C引入了CDB与PDB的新特性,在Oracle 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB 全 称为Pluggable Database,即可插拔数据库。在Oracle 12C之前,实例与数据库是一对一或多对一关系(RAC),即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入Oracle 12C后,实例与数据库可以是一对多的关系。

3.3 Oracle ADG 技术

Oracle ADG(Active Data Guard)是管理、监控和自动化软件的基础架构,它创建、维护和监控一个或多个备用数据库,以保护企业数据结构不受故障、灾难、错误和崩溃的影响。Oracle ADG使备用数据库保持为与生产数据库在事务上一致的副本。这些备用数据库可能位于距生产数据中心数千公里的远程灾难恢复站点,或者可能位于同一城市、同一建筑物内。当生产数据库由于计划中断或意外中断而变得不可用时,OracleADG可以将任意备用数据库切换到生产角色,从而使与中断相关的停机时间减到最少,防止数据丢失。作为Oracle数据库企业版的一个特性,推出的Oracle ADG能够与其它的Oracle高可用性(HA)解决方案(如真正应用集群RAC)和恢复管理器(RMAN)结合使用,以提供业内前所未有的高水平数据保护和数据可用性。Oracle ADG包括一个生产数据库(也称为主数据库)以及一个或多个备用数据库,这些备用数据库是与主数据库在事务上一致的副本。Data Guard利用重做数据保持这种事务一致性。当主数据库中发生事务时,则生成重做数据并将其写入本地重做日志文件中。通过Oracle ADG,还 将重做数据传输到备用站点上,并应用到备用数据库中,从而使备用数据库与主数据库保持同步。Oracle ADG允许管理员选择将重做数据同步还是异步地发送到备用站点上。备用数据库的底层技术是Oracle ADG重做应用(物理备用数据库)。物理备用数据库在磁盘上拥有和主数据库逐块相同的数据库结构,并且使用Oracle介质恢复进行更新。Oracle ADG简化了主数据库和选定的备用数据库之间的转换和故障切换,从而减少了由计划停机和计划外故障所导致的总停机时间。

3.4 Oracle 闪回技术

为了使Oracle数据库从任何逻辑误操作中迅速地恢复,Oracle推出了闪回技术。该技术首先以闪回查询(Flashback Query)出现在Oracle 9i版本中,后来Oracle在10g中对该技术进行了全面扩展,提供了闪回数据库、闪回删除、闪回表、闪回事物及闪回 版本查询等功能。在12c中,Oracle继续对该技术进行改进和增强,增加了闪回数据归档功能。

在Oracle 12c中,闪回技术包括以下各项:

(1)闪回数据库(Flashback Database): 该特性允许用户通过lf ashback database语句,使数据库迅速地回滚到以前的某个时间点或者某个SCN(系统更改号)上,而不需要进行时间点的恢复操作。该功能不基于撤销数据(undo data),而是基于闪回日志。(2)闪回丢弃(Flashback Drop):类似于操作系统的垃圾回收站功能,可以从中恢复被drop的表或者索引。该功能基于撤销数据(undo data)。(3)闪回版本查询(Flashback Version Query):通过该功能可以看到特定的表在某个时间段内所进行的任何修改操作,如同 电影回放一样,表在该时间段内的变化一览无余。该功能基于撤销数据(undo data)。(4)闪回事务查询(Flashback Transaction Query):使用该特性可以在事物级别上检查数据库的任何改变,大大方便了对数据库的性能优化、事务审计及错误诊断等操作。该功能基于撤销数据(undo data)。(5)闪回表(Flashback Table):使用该特性可以确保数据库表能够被恢复到之前的某一个时间点上。注意,该功能与最早的9i中的Flashback Query不同,Flashback Query仅仅是得到了表在之前某个时间点上的快照而已,并不改变当前表的状态;而 Flashback Table却能够将表及附属对象一起恢复到以前的某个时间点。该功能基于撤销数据(undo data)。(6)闪回数据归档(Flashback Data Archive):通过 fl ashback data archive可以查询指定对象的任何时间点(只要满足保护策略)的数据,而且不需要利用到undo,这在有审计需要的环境或者是安全性特别重要的高可用数据库中是一个非常好的特性。缺点就是如果该表变化很频繁,对空间的要求可能很高。Flashback data archive是针对对象的保护,是 fl ashback database的一个强力补充。

3.5 自动化 Oracle ADG 多角色切换

Oracle ADG主要分为两种模式:一种是物理备库模式,一种是快照模式。其中,物理备库即为传统的数据库备份模式,主要将redo日志从主库实时传输到备库中,并由备库实时执行,保持主备数据库数据的一致性,此时主库可用于读写,备库为只读状态(该特性可以将主备库进行分离使用,形成读写分离架构)。快照模式即为数据库ADG的非同步模式,在该模式下,主备库之间同步的redo日志不会在备库进行执行,两个库之间可以保持不一致。此时,备库也为可读写状态,可作为测试库使用。当回切为物理备库模式后,redo日志会在备库重新执行,再次保持备库与主库数据一致。

虽然Oracle本身支持ADG多角色切换,但切换过程也需要专业的数据库DBA进行相关操作。而通过自动化脚本,一键式形成ADG多角色自动化切换工具,则可以将底层切换命令代码进行封装,达到方便、快捷的切换目的。

4 基于 Oracle 数据库的分布式高可用架构改造过程与方法

由于原PDM数据库环境是以IBM小型机为硬件基础,以Oracle 11.2.0.4组成的Oracle RDBMS系统,整个系统的封闭性较强,且在数据库分布式高可用架构改造的过程中,除了需要对硬件基础架构进行调整(调整为X86服务器),还需对数据库进行大版本升级。因此,整个改造过程必须有标准步骤及测试方式,才能保证整个PDM系统数据库在改造过程中的数据安全、系统稳定。此外,后期也需要对应用开展细节性能测试,保证系统在改造后高效运行。

根据实际情况,基于Oracle数据库的分布式高可用架构改造过程分为以下几步:(1)数据库服务器操作系统安装;(2)分布式服务器集群实施;(3)分布式服务器集群高可用和稳定性测试;(4)PDM应用数据迁移;(5)PDM应用优化测试;(6)PDM备库ADG配置;(7)PDM备库自动切换脚本定制。

4.1 基于分布式应用的数据库服务器操作系统安装

基于X86环境的数据库服务器安装操作系统版本为RedHat7.2。安装完后,对操作系统进行用户安全验证、操作系统防火墙、操作系统虚拟内存参数、网络参数等优化调整,以满足整个数据库集群运行环境的安全性和稳定性,同时满足PDM分布式应用架构的高效稳定运行要求。

4.2 基于分布式应用的数据库集群安装

根据原PDM系统的实际情况,对存储空间进行规划及划分。完成后进行Oracle数据库12.1版本的集群安装,并根据原PDM配置的实际情况,调整数据库内存参数、优化器参数、新特性参数、审计等,达到最佳优化调整效果,以确保数据库运行的稳定性。此外,还需通过安装数据库集群补丁集来避免数据库集群软件本身的不足。

4.3 基于分布式应用的数据库集群的高可用和稳定性测试

由于分布式数据库集群环境目前无完整的业务数据,故需要通过模拟压力测试工具来开展数据库集群环境的并发支撑能力、业务运行响应时间、IO响应时间等性能测试。其次是通过一系列的模拟网络、存储破坏,开展灾难性模拟测试,以验证数据库集群的高可用及稳定性。

4.4 PDM 应用数据库的迁移升级

PDM应用数据的迁移是整个分布式数据库架构改造的核心。由于完整的迁移需要在保证业务停机时间最短的前提下,完成T级别的数据迁移,因此对数据的迁移方法选择极为重要。根据原有PDM的数据量及跨平台迁移需求,整个迁移过程采用表空间跨平台增量传输同步技术来进行PDM数据库数据从单机环境到集群环境的迁移升级。而在正式迁移之前,也需要通过多轮的测试验证,确保整个迁移方案的稳定可靠、失败可回退。

4.5 数据库集群应用模块性能优化

当数据库集群版本升级后,PDM应用模块可能会出现部分业务模块性能衰减的情况,因此必须根据业务实际的运行情况进行针对性的优化改造,确保后期整个PDM系统的高效性。

4.6 PDM 同步库(开发库)的数据实时同步复制

当PDM应用架构改造后,整个系统的运行效率大幅提升,数据库日志量的产生也会越来越大。因此,整个PDM数据库分布式架构中,必须有响应的集群作为容灾环境。而针对系统的容灾环境,则可通过对Oracle 集群进行数据实时同步复制(ADG实施),可确保一旦生产集群出现故障时,业务能够进行快速切换至ADG环境,保证整个业务在终端时间低于10分钟,极大地提升业务的连续性和高可靠性。

4.7 PDM 同步库到开发库,开发库到同步库

的自动切换脚本定制开发在新架构下,根据ADG的特性,容灾数据库同步需要经常转换成开发测试环境,以供开发功能性测试和压力测试。一旦测试完毕后,又需要将数据库转换成同步库,以进行数据实时同步,确保整个PDM系统的数据容灾。因此,为了实现方便、快捷的转换,在整个改造中也通过python定制化开发一键式自动化切换工具,以实现数据同步库能够自动实现从同步库到开发库、开发库到同步库的角色切换。

5 结束语

PDM系统作为制造企业的生产数据管理、调度的重要系统之一,其健康、稳定、高效的运行是保证企业生产制造的关键。当系统出现故障或问题时,将严重影响到企业整个生产线运行。因此单机环境下的PDM应用不仅并发量不足,导致系统性能在高峰期时具有极大的运行压力,而且单机运行也存在着极大的安全隐患,系统故障时将会造成业务长时间中断而不能快速恢复。因此,PDM分布式应用+分布式数据库的改造使得整个PDM系统的并发量成倍提升,而X86集群模式的数据库架构也保证了底层数据的安全性,为PDM系统的安全、高效、高可用提供了最可靠的支撑。

猜你喜欢

集群分布式架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
WebGIS架构下的地理信息系统构建研究
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人