数据库架构设计分析

发表时间:2021/8/16   来源:《中国建设信息化》2021年第8期   作者:姓名:闫翠英
[导读] 随着信息技术的发展,人类社会经济呈现明显的数据和信息密集型的特征,大量的信息数据被存储于数据库并广泛应用于各种信息系统,企业业务运行和发展对IT系统的依赖性也随之增加。

        姓名:闫翠英
        工作单位:中国核电工程有限公司,所在城市:北京,邮编:100840
        摘要:随着信息技术的发展,人类社会经济呈现明显的数据和信息密集型的特征,大量的信息数据被存储于数据库并广泛应用于各种信息系统,企业业务运行和发展对IT系统的依赖性也随之增加。然而,灾难就像灰尘一样伏击在企业周围,您的业务可能正在一个充满风险和威胁的世界里运行:
        关键词:数据库;架构设计;分析
        如果不能对风险采取有效治理,一旦数据由于上述某种原因丢失,就有可能造成整个企业在运营上的重大不便和经济损失,企业信誉也将受到影响。核心数据丢失,严重时将可能造成整个企业的瘫痪。
        为保障业务的不间断运行,数据环境应该消除最基本的单点故障,保证24x7不间断服务支撑。在常见的高可用解决方案都会包含对数据环境中各个组件的冗余从服务器角度而言,双机热备(HA)和集群(Cluster)环境都是高可用性架构的有效组成部分。
        从存储设备角度而言,各存储厂商都有相应的存储级容灾产品可以提供数据保护。
        从数据库角度而言,Oracle和一些第三方厂商也提供了解决方案来实现高可用性架构。
        Oracle的以下产品组件可以帮助用户实现高可用性解决方案:
?Oracle Clusterware – 用于实现系统层面的高可用和资源管理、切换;
?Oracle (Extended) RAC – 用于实现数据库层面的高可用性;
?Oracle DataGuard  – 用于实现数据库容灾手段;
高可用性架构需求
        如何根据业务的高可用性要求及其分配的预算确定适当的架构。其关键因素包含:
?对意外中断以及计划运维的Recovery time objective(RTO)和?recovery point objective?(RPO)要求
?可管理性开销
        可管理性目标比RPO或RTO更主观。这是通过对组织中可用的技能集和管理资源的客观评估,以及组织可以成功管理高可用性架构的所有元素的程度。类似于RPO和RTO如何衡量组织对停机时间或数据丢失的宽容度,您的可管理性目标衡量组织对IT环境中的复杂性的宽容度。在要求较少复杂性的情况下,实现高可用性的更简单的方法优于可能更复杂的管理方法,即使后者可以获得更积极的RTO和RPO目标。了解可管理性目标有助于组织区分实际可行性和可行性。
?总拥有成本(Total Cost of Ownership)和投资回报率(Return On Investment)
        了解总体拥有成本(TCO)和投资回报率(ROI)对于选择可实现组织业务目标的高可用性架构至关重要。在所选解决方案的使用寿命内,TCO包括所有成本,如采购,实施,系统,网络,设施,员工,培训和支持。同样,投资回报率计算可以捕获给定的高可用性架构所带来的所有财务收益。
技术方案介绍
 Oracle RAC
        在传统高可用解决方案上两个节点存在热备关系,始终有一台机器作为备用机,只有当主节点出现问题的时候才会切换到备用机上;如果主机一直没有出现问题,那么备用机始终处于空闲状态,这在资源的利用上以及成本方面都是巨大的浪费。Oracle RAC是一种并行模式的架构,也就是两个节点的集群节点间是一种并行运行的关系,当一台机器出现问题,请求会自动转发到另一台机器,没有任何一台机器作为备用机一直不被使用,这样就充分利用了服务器资源。同时,传统的双机热备构架在出现问题时,常常需要数分钟的切换时间,而Oracle RAC在出现问题时,针对存在的会话只需要数十秒的时间就可以完成失败切换过程,对新会话的创建不会产生影响,在切换时间上也有比较大的优势。
        Oracle RAC主要支持Oracle9i、10g、11g、12c版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统。在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。


        Oracle RAC 主要有以下特点,这些特点对于高可用性数据管理来说极其重要:
         可靠性 — Oracle 数据库以其可靠性而著称。Oracle RAC 消除了数据库服务器单点故 障问题,从而使可靠性更上一层楼。如果一个实例发生故障,集群中的其余实例仍将保持正常运行状态。Oracle Clusterware 监视所有 Oracle 进程,并能立即重启任何发生故障的组件。
         错误检测 — Oracle Clusterware 自动监视 Oracle RAC 数据库和其他 Oracle 进程 (Oracle ASM、实例、监听器等),并快速诊断环境中的问题。它还经常能在用户察觉到故障之前自动完成故障恢复。
         连续运行 — Oracle RAC 可在计划和意外中断期间提供连续的服务。如果一个服务 器(或实例)出现故障,数据库将保持运行,应用程序仍能继续访问数据,从而让 业务关键型负载得以完成运行,而且多数情况下服务交付无延迟。
Oracle Extended RAC架构
        在RAC 的集群架构中,由于存储集中于单一物理位置,存在一定的单一部署风险,在很多项目中, 我们希望通过冗余的存储设备,实现存储物理上的高可用性和镜像。
        Oracle RAC 扩展集群技术可以帮助用户实现扩展,该技术可以将存储部署于不同的物理机房或物理楼层,同时随存储部署主机节点,实现集群扩展,从而在单一存储故障或机房故障时,可以快速通过扩展节点提供服务(< 1 ~ 2 分钟完服务重供)。Extended RAC相比RAC最大的改进是实现了存储的冗余。
 Oracle Data Guard/ADG架构
            Standby database/Data ?Guard是Oracle推出的另一种高可用性数据库方案,在主要和备用节点之间通过日志同步来保证数据同步,备用节点作为主节点的备份,可以实现快速 的切换与灾难性恢复。从Oralce ?9i开始,Standby数据库更名为数据库保护(Data Guard)。
        Data Guard的基本原理是,当某次事务处理对生产数据库中的数据作出更改时,Oracle数据库将在一个联机重做日志文件中记录此次更改。在Data Guard中可以配置写日志的这个过程,除了把日志记录到本地的联机日志文件和归档日志文件中,还可以通过网络,把日志信息发送的远程的备用数据库服务器上。这个备用日志文件写入过程可以是实时、同步的,以实现零数据丢失(最大保护模式);也可以是异步的,以减少对网络带宽的压力(最大可用性模式);或者是通过归档日志文件、一个日志文件的批量传输模式,以减少对生产系统的性能影响(最大性能模式)。当备份数据库接收到日志信息后,Data Guard可以自动利用日志信息实现数据的同步。
        在一些情况下,业务不允许丢失数据。在另外一些情况下,数据库的可用性比丢失数据更为重要。一些应用需要最强的数据库性能并且能容忍丢失少量的数据。下面的描述概述了三种不同的数据保护模式:
        最大保护模式:备用日志文件写入过程是实时、同步的,以实现零数据丢失。
        最大可用性模式:备用日志文件写入过程是异步的,以减少对网络带宽的压力。
        最大性能模式:备用日志文件写入过程是通过归档日志文件、一个日志文件的批量传输模式,以减少对生产系统的性能影响。
        DG/ADG突出特点是容灾可用性高,基于数据库日志的复制和校验,不会像磁盘镜像、基于存储IO复 制方案出现因存储逻辑坏块导致灾备数据库可能 打不开的问题;
        ADG是“双活”灾备解决放案,即允许物理备用 数据库打开提供只读访问,包括报表、查询、稽 核取数、基于Web 的访问等;
        DG/ADG既不影响生产数据库的性能,并且充分利用灾备端数据库资源,避免闲置浪费,同时具有最高的可用性和最低的成本,是业界最佳的“两地三中心” 数据库灾备解决方案。
总结
        根据对RTO,RPO,可管理性开销,可扩展性和其他因素的业务需求,对Oracle的几种高可用架构进行了如下总结:
        可用性保护最高级别为Extended RAC+DG,次高级别为Extended RAC,然后是RAC,最后是DG,RAC注重可用性与连续性,DG注重可用性与数据保护。
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: