浅析数据库的优化整合及数据迁移

(整期优先)网络出版时间:2024-02-21
/ 2

浅析数据库的优化整合及数据迁移

刘莉 王茂利 柳正茂

中国联合网络通信有限公司河北省分公司  050051

   摘要:本文主要从核心和非核心分类对Oracle数据库进行优化整合。非核心数据库我们提出使用高度整合的数据库平台,利用Oracle 19C 容器的功能,提供以PDB形式承载周边非核心数据库,统一对外提供数据库服务,统一进行维护管理,且各数据库间独立运行。同时,对Oracle数据迁移MySQL方式进行探究。关键字:数据库 优化  集群  资源  兼容

一、数据湖概述

数据湖是一种数据存储理念,存储企业各种各样的原始数据的大型仓库,包括结构化、非结构、二进制图像、音频、视频等等。

数据湖作为一个集中的存储库,可以在其中存储任何形式(结构化和非结构化)、任意规模的数据。在数据湖中,可以不对存储的数据进行结构化,只有在使用数据的时候,再利用数据湖强大的大数据查询、处理、分析等组件对数据进行处理和应用。因此,数据湖具备运行不同类型数据分析的能力。

数据湖能给企业带来多种能力,例如,能实现数据的集中式管理,在此之上,企业能挖掘出很多之前所不具备的能力。

另外,数据湖结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。

二、数据湖运行优势

Oracle9i、10g、11g等版本的生命周期已经结束,相关技术支持下降,过期数据库oracle不再提供安全补丁,数据存在安全隐患。

针对当前oracle数据库存在的问题,我们提出使用高度整合的数据库平台,统一对外提供数据库服务,对数据库统一进行管理。高度整合各系统数据库,统一对外提供数据库服务,统一管理,充分利用数据库资源,对外提供更稳定、更安全、更高效、更及时、易维护、高可用,弹性扩展以及性价比更高的数据库服务把各系统数据库由原来的烟囱式改成现在的集群式,分权分域管理,提供集中管理方式下的分域协作功能,有助于核心设备资源共享和协同管理,节省配套投资,通过资源自由配置可灵活适应维护管理模式。

三、Oracle数据库优化架构

目前数据湖系统的管理方式多为普通的RAC 3节点集群,没有使用到Oracle12C之后的引入的CDB与PDB新特性,即一个数据库容器(CDB)承载多个可插拔数据库(PDB);因此,需要将核心数据库升级到19C,以Non-CDB或CBD的1个PDB形式独占整套数据库集群的物理服务器资源,在原有的19C集群架构基础上,配置多租用户环境,将需要迁移入湖的系统,以租户的方式进行统一管理。

PDB(PLUGGABLE DATABASE)可以理解为我们Oracle 11g的数据库,只不过是一个实例上面可以放置多个数据库了。名称为插件式数据库。

CDB 容器数据库,作为插件式数据库的基石。所有的PDB都需要它,这里面有一个种子(seed)数据库的概念。可以以它为模板,克隆新的数据库。1620443949(1)

四、数据库管理模式选型

选择Oracle 19C 多租户为数据湖平台的管理模式,为不同的业务创建不同的PDB数据库,在物理上进行隔离并且根据承载业务的特点我们对每个PDB设置合理的IO请求值和IO传输速率,有效利用系统资源。

五、数据库优化分析

(一)、技术层面:

在于可以利用现有存储设备,同时实现数据库多节点避免了单节点故障风险,在主机和存储性能上较以前在性能方面有很大提高,具体体现在以下方面:

●快速对外提供数据库服务

●集中管理数据库资源

●数据库版本统一

●充分利用数据库资源

●更高的可用性

●在线维护、数据库软件升级

●19c是长期支持版本,ORACLE持续支持到2026年

●根据需要灵活拔插迁移PDB

●选择19c的优势:19c通过了等保2.0的四级认证

(二)、客户使用层面:

数据库版本升级后,对应的数据库连接驱动、库文件都会发生变化,因此对现有应用程序的使用会产生一定的影响,建议对相关应用程序的ORACLE客户端,JDBC驱动程序进行统一升级,并且对业务功能和性能进行全面测试。

(三)、资源层面:

数据库由原本的一对一的关系,改变成一对多的关系,大大节省了资源的占用,后期维护成本也相对减少了很多,通俗的说也就是原本应支付十套的维保付费用,节省至一套。

六、迁移可行性方案探究

现今,Oracle数据迁移MySQL的需求已经越来越普遍,对数据库的访问需求和安全、健壮、平稳运行要求更高,避免由于硬件或人为误操作引起的数据库单点故障,提供数据库高可用、达到前端无感知切换等目的,因此采用MySQL数据库集群的改造方案。主要的迁移场景大致可以分为三类,第一类是涉及小表以及少量表的一次性迁移,无需进行增量同步,第二类是涉及大表以及多表的一次性迁移,第三类是涉及增量实时同步,而对于数据的迁移方法,常见的方式有使用第三方的同步工具CDC进行Oracle到MySQL的数据迁移、使用开源的同步工具以及应用层面进行迁移同步。

根据上述分析,可以根据不同场景、不同业务类型、不同数据属性来分类、分批、分级的来实现Oracle到Mysql的迁移。元数据使用Nvaicat实现迁移,存量和历史数据使用DataX或sqluldr2实现迁移,实时数据使用Ogg实现迁移。

需要注意的是, MySQL Router可以使用–bootstrap选项基于InnoDB Cluster的元数据进行自我配置。这会自动配置MySQL Router以将连接路由到群集的服务器实例。客户端应用程序连接到MySQL Router提供的端口,无需了解InnoDB Cluster拓扑。如果发生意外故障,InnoDB Cluster会自动调整,MySQL Router会检测到更改。这消除了客户端应用程序处理故障转移的需求。MySQL不建议手动配置MySQL Router以重定向到InnoDB Cluster的端口,而是建议始终使用–bootstrap选项,因为这可确保MySQL Router从InnoDB Cluster的元数据中获取其配置。使用生产部署时,建议将MySQL Router部署于客户端应用程序所在的每台计算机上。

参考文献:

《Oracle 19C数据库应用》 张华 著 清华大学出版社

《Oracle 19c从入门到精通》 王英英 著 清华大学出版社

《数据库原理与应用(Oracle19c版)》杨晨 主编 清华大学出版社