标题 | x86云化数据库在电信企业数据中心的应用与实践 |
范文 | 季卿 郑梦妍 班正波 刘娟
【摘要】? ? 本文通过对近年新兴的x86云化数据库部署方案进行的展开分析,探索研究x86云化数据库架构的部署实施带来的实际支撑能力以及集群技术的可靠性,本文以电信企业的核心数据库作为研究主体,尝试通过x86云化数据库来迁移承载原有核心应用如CBOSS、CRM、计费等系统数据库应用。本文采用了通过梳理核心应用系统,制度整体核心数据库云化工作机制,预估云化后承载平台的稳定性和可靠性,进而展开了一系列探索尝试工作,通过实践统计分析,验证了x86云化数据库部署机制来承载的机制成效,为电信企业带来了巨大的价值分析;从而为社会各大电信企业核心类应用数据库系统升级创新需求提供应用实质性的参考价值。 【关键词】? ? x86云化数据库? ? 高可用? ? 双活容灾机制? ? CBOSS系统 引言 随着数字化服务、互联网+、智能终端、智能管道和流量经营的快速发展,为应对数据流量爆发式增长,以及用户对服务水平要求的不断提高,相當长的一段时间以来,传统数据库技术在生产实践中表现出明显的能力不足。面对现在业务的快速发展、数据量呈指数型增长,开始存在业务风险高、投资费用高、资源利用率低等问题,已经无法满足新型业务发展的需求。传统电信企业核心生产数据库优化遇到新难题。 一是普遍存在设备使用年限长,设备老旧,故障率较高。 二是资源利用率低,各系统数据库孤岛式建设,计算和存储资源无法动态调整、错峰共享。 三是扩展性差,小型机单节点处理能力强,但无法水平扩展。集中式的高端盘阵系统可靠性较高,同样无法水平扩展。 四是维护管理成本方面,小型机维护成本高,维护困难。各系统数据库孤岛式建设,数据库数量多,造成维护工作量大。 五是高可用方面,大部分数据库虽然都是双节点RAC架构,但单节点月忙时使用率峰值都超过了50%,如果出现其中一台故障,另外一台无法接管全量业务,存在高风险。 为提升用户体验、业务效率,IT支撑系统应加快云计算和大数据技术的应用,对采集到的数据进行深度挖掘,构建集中化、融合化、平台化、安全又灵活的云化架构是信息化发展的必然趋势,传统的数据库架构将逐渐被淘汰。 一、需求分析 根据调研分析,贵州公司传统数据的中心生产集群物理机采用80c+512G+Oracle Linux 7.6,使用HP FC-SAN高端存储,测试集群虚拟机采用了24c+192G+Suse 12sp3,使用的是普通共享存储。我们对贵州公司三大承载中心的核心库的业务量进行了评估预测,如表1所示,从预测增长数据来看,参照业界权威的Specint_Ratebase标准评测,对各种开放系统的服务器进行性能测试,我们发现,现有“小型机+高端盘阵” 的传统数据库部署架构已经无法继续满足业务发展的需要。 传统的“小型机+233高端盘阵”虽然支持对计算能力、I/O能力、可靠性要求很高的关键数据库业务部署场景,但其横向扩展能力受限,性价比低,不符合x86云化原则。 “x86虚拟化资源池”IaaS技术重点支持应用层(通常为无状态)的场景部署,而核心数据库需要实现的“x86云化数据库部署方案”,则是采用分布式架构,支持计算、存储、网络的分布式横向扩展的DBaaS技术,同时也是数据库的演进方向。DBaaS是一种能够快速便捷地按需从网络访问“共享的”,“可配置的” ,“弹性的”数据库私有云,其特征是: 一是数据库整合。公司战略规划在3年内将目前生产数据库数量减少70%。 二是数据库资源快速交付。以前信息科技部门申请一套数据库,从操作系统安装,数据库安装,存储划分,系统配置,测试到交付至少需要5~10天。使用DBaaS平台,当天即可完成资源发布。 三是提前适应未来的技术构架。容器化、云化是未来数据库的发展方向。数据库云化从模板管理,资源分配,性能监控,配置全量,服务提供的全栈道服务。并提供了REST接口给用户进行二次开发。减少用户的运维成本和运维难度。 四是集群技术使用更多的集群节点,能提供更好的高可用性和均衡负载。 二、技术方案 因此,如何采用云化技术来设计一个健壮,灵活,高可用数据库基础架构,将企业的核心数据库整合到x86云化数据库,从而为电信企业提供一个敏捷、高效、低成本的数据库资源池。 数据库云化技术架构是通过引入CDB与PDB的特性搭建数据库集群。其中CDB全称为Container Database,即容器化数据库容器,PDB全称为Pluggable Database,即可插拔数据库。传统的数据库架构,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当使用容器化数据库后,实例与数据库可以是一对多的关系。我们可以使用云资源池的多台x86机器搭建容器化数据库集群,然后在集群中创建多个可插拔数据库。 本项目通过采用分布式的部署方式来实现对上层业务的透明化。整合后,单台服务器出现故障后,不影响整个平台的服务能力,且不影响数据库对外提供正常服务,在其中某个或多个服务器停服后,业务应用服务器能够透明的连接到存活的数据库服务器上,业务无明显感知数据库异常。其次基于集群技术,实现动态扩缩容能力,上层的数据库集群,能够利用底层的伸缩性计算资源,来实现集群服务能力;既数据库对外服务具有整体性,一致性的统一视图,对外层应用完全透明,即应用无需关注底层的架构情况,只需关注数据库是否能够提供正常服务,这得益于基于云化架构下的数据库集群能力。 高可用方面,本项目采用了基于DNS+SCANIP+service的高可用方式。DNS控制容灾环境的主备切换,SCAN IP控制连接到集群内各节点VIP的重定向,service控制各个数据库之间的故障切换,如图1所示。根据电信企业业务特性及需求,在可插拔数据库的部署方式上,我们使用“模拟全故障场景资源评估法”,计算出节点崩溃排列组合的所有可能性,利用代码循环的验证所有场景的资源利用情况,从而得到最优部署方案。基于该模式,当出现单库故障的情况下,业务可在1秒之内自动切换到正常节点,用户对故障无感知;当出现灾难级故障情况下,业务可在2分钟内自动切换到容灾端恢复业务,业务连续性能力大大提高。 三、应用情况分析 本项目从节约成本,最大化资源共享的角度出发,使用30台x86服务器部署3套云化数据库集群,分别部署在三大数据中心,共计16计算节点和14存储节点,承载10套核心数据库业务,按照双中心架构部署。双中心之间通过数据库复制技术,实现了数据保护,的整合,同时还包含了三中心的双活容灾环境和UAT环境。 核心数据库整合迁移上云分为了三个阶段。第一阶段为数据库云部署设计阶段。本次数据库整合为跨平台、版本迁移,从IBM/SUN小型机迁移至x86平台,数据库版本从11g/12c升级至19c。通过在老生产库采集详细的硬件信息和数据库性能概况。对照业务需求,在集群内合理进行资源分配、数据库部署设计。同时为满足业务连续性,对灾难场景进行统计和分析,完成PDB/Service、Dataguard的高可用部署设计,如图2所示;第二阶段为数据库创建、数据迁移和测试阶段。通过参考数据库系统最佳实践完成对数据库的参数设计并创建数据库。根据基准测试文档完成对集群的数据库性能测试。由于大型业务关键应用程序要在响应时间、吞吐量、运行时间和可用性方面提供特定服务级别的保证。对系统的任何更改(如升级数据库)通常都需要进行全面的测试和验证,然后才能在生产系统中实施这些更改。因此有必要在数据迁移测试完成后进行SPA(SQL性能分析)测试,检测由于系统、数据库变更对SQL性能的影响。并通过针对性的优化尽量减少由于系统环境变更对业务的影响。同时为验证应用连续性、可用性,还需模拟各灾难场景进行高可用测试。第三阶段为迁移上云阶段。在6个月内完成10个核心数据库(CRM、账务等)的上云工作。 在参数设计方面,因为三个集群集合了多套数据库,需要考虑节点失效的情况。参考数据库系统最佳实践、Critical Issue等文档,完成对数据库版本的补丁分析及参数设计。并根据原数据库内存,CPU连接数,归档日志路径设置,参考原数据库参数设置,取消不需要的参数。同时按照容灾高可用的要求,极限情况下,参数设计需要满足一个集群能够承担所有业务的情况。 在基础性能测试方面,我们对三个数据库集群进行性能测试旨在验证数据库在新x86架构下的性能表现。通过测试工具OTEST,执行测试SQL语句。监控数据库关键性能指标、吞吐量、响应时间、数据库统计、等待事件等。 在资源管理方面,为满足业务特性及需求、针对此前分析的灾难场景,我们进行了IORM(资源控制)测试。IORM(资源控制)旨在软件层面对数据库资源(CPU/IO)进行限制,效果立竿见影且不需要进行额外调整。例如在PDB发生故障切换时,通过调整同一节点另一PDB的CPU/IO使用量,达到故障切换时两个PDB共存不会发生资源争用的目的。 在压力测试方面,其中最大压力测试设计要求达到老生产库最大压力峰值的3倍以上,测试时间8小时以上。我们要求云化数据库的单节点负载的CPU利用率达到85%以上、连接数达到15000、瞬时活动连接数达到300、逻辑读达到800万/Sec、心跳流量>50MB/Sec、事务数量达到3000/Sec、物理读达到1800Mb/Sec、物理写达到500Mb/Sec(帐管数据库增加为1500MB/Sec)、登录达到30/Sec、硬解析达到80/Sec。 在高可用测试(PDB/Service Failover、Dataguard Failover、PDB relocate)方面,通过和业务侧配合,检测各场景下应用连续性、可用性,并记录数据库恢复时间、应用受影响时间。本文以CBOSS数据库的应用为例,CBOSS库是该电信企业的核心业务数据库之一,对该数据库进行7种场景的高可用测试。 在SQL性能测试方面,我们使用SPA(SQL性能分析器)进行新老数据库性能对比。在迁移到生产系统之前为了保证安全,必须让测试系统承受与生产环境中的工作量很近似的压力,以便分析系统级更改对整体SQL性能的影响,并在迁移到生产环境之前进行必要的优化。采集生产库SPA可以在数据迁移过程中进行。在完成SPA测试后,重點关注性能下降的SQL,并着手从以下4个方面进行优化,然后制定合理的优化方案并验证方案的全局影响。 1. 对比执行计划和运行统计的变化; 2. 抽取该SQL相关统计信息并分析; 3. 分析源数据库中运行正常的原因、19c中降级的原因; 4. 分析版本变更后控制相关变化的key(参数,隐藏参数,或者fix control)。 为了有序的完成核心数据库上云,我们在数据迁移及各项测试工作完成后,对数据库上线前做了封版检查。根据一次停机窗口迁移一至两个库的工作原则,贵州移动仅用了5个月就成功整合迁移了贵州移动业务支撑系统全部10套核心数据库。迁移割接过程平稳顺利,未出现回退,迁移后的数据库性能大幅提升,业务体验提升显著,且真正实现业务对故障无感知。 四、效益分析 4.1经济效益 本项目共计每年可为公司节省成本(设备维保、电费等)1795万元,并且节省的机柜位每年可间接创造效益318万元。 通过本项目提升资源的整合度,实现降本增效。将之前分散在各个垂直系统上的数据库整合在基于多租户数据库中,建立了集中式的资源集合,能够提供统一的管理维护入口。老旧小型机、x86主机得以回收,降低了资源成本和维护成本。利用私有云资源池动态扩缩容特性,提升资源使用率。在设备维保成本方面,本项目采用x86云化数据库整合了10套核心数据库以及对应的容灾、UAT环境,共计小型机50台、存储6套,平均每台小型机一年维保费用25万元,平均每套存储一年维保费用65万元,则每年在维保成本上可节省1640万元。 在电费成本方面,现有x86设备功耗较小,较以前减少约264千瓦/小时,按每度电0.67元计算,每年可节省电费成本155万元。 此外采用云化架构后,使用的x86机器仅需要3个机柜,而此前小型机共使用50个机柜,存储盘阵使用6个机柜。以IDC每个机柜年租赁费用6万元计算,每年可为公司间接创造效益318万元。 4.2提升前台服务感知 DBtime是反映数据库综合性能的核心指标,DBtime越低,表示数据库性能更好,本文以迁移到云化数据库集群的CBOSS库为例,平均综合性能提升4倍,业务最高峰时段性能提升了13倍。 且老库尖刺较多,新库较老库运行更加平稳。如图4所示。 10套核心数据库上云后,业务支撑系统业务体验明显提升,一线业务员普遍反馈“系统明显快多了”,业务体验明显提升,前台人员满意度提高。从后台业务办理探测数据统计来看,各种关键业务的办理速度均大幅提升:入网业务运行速度提升4倍、套餐类业务运行速度提升6倍、客户资料类业务运行速度提高34倍、缴费账单类业务运行速度提升2倍;另外,日账、月帐的出账效率提升也非常明显,主要出账步骤运行速度提升4倍。 x86服务器在稳定性方面较传统小型机要差,2020年x86计算节点发生故障10余次,导致节点重启,由于采用了云化架构的高可用设计,故障对业务是透明的,故障处理是自动的、在线的,故障发生到恢复的全过程,业务完全无感知、无中断,极大提升了业务支撑系统的服务能力,提高了客户满意度。 五、结束语 本项目采用了核心数据库云化架构,淘汰了落后产能,极大的降低了核心数据库的总拥有成本,大幅提高了数据库性能和业务响应速度,降低故障率,提升了客户满意度,并且实现节能减排,减少对日益昂贵的机房资源等配套需求,起到降本增效的作用。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。