云原生数据库集群部署方法及系统技术方案

技术编号:39301868 阅读:12 留言:0更新日期:2023-11-12 15:52
本发明专利技术涉及数据库技术领域,是一种云原生数据库集群部署方法及系统,其包括以下步骤:根据拆分算法将数据进行水平拆分;配置数据表拆分规则;进行数据拆分配置;进行数据库部署优化;进行数据库实例重建优化;进行调度优化;进行数据库高可用优化;进行持久化存储优化。本发明专利技术提供满足业务需求的云原生数据库服务能力,计算节点无状态或少状态,扩展灵活,具有较好的弹性,实现了对计算与存储的按需配置,从而有效地提升了系统的基本资源利用效率。从而有效地提升了系统的基本资源利用效率。从而有效地提升了系统的基本资源利用效率。

【技术实现步骤摘要】
云原生数据库集群部署方法及系统


[0001]本专利技术涉及数据库
,是一种云原生数据库集群部署方法及系统。

技术介绍

[0002]根据预测,云化也将是未来发展的趋势,数据库将被部署或迁移到云平台运行。目前,企业仍需要手动执行从本地主机或本地存储系统迁移到云平台中所需的技术工作,因此有必要开发能够快速高效地使用云提供的所有功能的技术实现自动化部署。
[0003]云原生是Pivotal在2015年首次引入的,其本质是“容器化”+“微服务”+“DevOps”+“连续交付”,能够最大限度地发挥“云”所具有的灵活性、分布性,并为用户带来“土生土长”的计算能力。
[0004]进入信息时代,各种信息系统数据量猛增,每年产生的基础数据记录是一个非常庞大的数字,由于数据库在物理或虚拟机上的并发度有限,很难满足不断增加的服务访问要求。因此,为了满足业务的高峰,数据库的计算与存储往往被预留了一定的空间,导致了基础资源的低利用率。

技术实现思路

[0005]本专利技术提供了一种云原生数据库集群部署方法及系统,克服了上述现有技术之不足,其能有效解决数据库的计算与存储被预留了一定的空间导致基础资源利用率低的问题。
[0006]本专利技术的技术方案之一是通过以下措施来实现的:一种云原生数据库集群部署方法,包括以下步骤:根据拆分算法将数据进行水平拆分;配置数据表拆分规则;进行数据拆分配置;进行数据库部署优化;进行数据库实例重建优化;进行调度优化;进行数据库高可用优化;进行持久化存储优化。
[0007]下面是对上述专利技术技术方案之一的进一步优化或/和改进:上述拆分算法可包括枚举算法、范围算法、HAsH算法、日期算法和混合算法。
[0008]上述配置数据表拆分规则时考虑业务系统的SQL特点。
[0009]上述数据拆分配置可包括物理配置和逻辑配置。
[0010]进行上述数据库部署优化时,可使用CRD+Operator或者singletonpods进行优化调整。
[0011]在Kubernetes集群中可增加自动扩容实例。
[0012]上述数据库集群部署时,可把数据分片分配到不同的节点上,保证每个数据分片的冗余和安全性。
[0013]可采用基于SSD硬盘的localvolume进行上述持久化存储配置。
[0014]本专利技术的技术方案之二是通过以下措施来实现的:一种云原生数据库集群部署系统,包括应用层模块、流量入口层模块、分布式中间件层模块、数据库存储层模块以及基础
设施层模块;其中,应用层模块用于应用节点,采用容器化部署,按实际的业务需求进行划分POD资源;其中,流量入口层模块用于在多个容器节点上同时配置,并进行横向扩展;其中,分布式中间件层模块用于分布式数据库集群的节点计算,采用容器化部署和管理类组件进行分离部署;其中,数据库存储层模块用于采用容器化部署数据库节点,与管理类组件进行分离部署;其中,基础设施层模块用于形成基础资源池。
[0015]下面是对上述专利技术技术方案之二的进一步优化或/和改进:上述基础资源池可包括基础硬件资源、提供服务器和网络存储资源。
[0016]本专利技术基于Kubernetes云原生数据库部署方案,在Kubernetes+容器上运行数据库,并对其进行集群部署优化,实现分布式云原生数据服务;基于Kubernetes的容器化技术,利用Kubernetes丰富的自动化工具链使该存储系统比其他存储系统更容易部署和扩展且更稳定。本专利技术旨在基于Kubernetes集群系统进行优化,增加集群系统的网络策略功能,提高网络访问安全性,将数据库运行在Kubernetes+容器的环境,从而形成分布式云原生数据库服务能力。其将分布式数据库运行在Kubernetes+容器的环境,通过集群部署、调度策略、高可用设计、持久化存储等方面的调优,提供满足业务需求的云原生数据库服务能力。本专利技术以日志为基础的持久存储,使拷贝更轻便,并带来更好的性能;计算节点无状态或少状态,扩展灵活,具有较好的弹性;实现了对计算与存储的按需配置,从而有效地提升了系统的基本资源利用效率。
附图说明
[0017]附图1为本专利技术实施例的云原生数据库集群部署系统的总体架构示意图。
具体实施方式
[0018]本专利技术不受下述实施例的限制,可根据本专利技术的技术方案与实际情况来确定具体的实施方式。
[0019]在本专利技术中,为了便于描述,各部件的相对位置关系的描述均是根据说明书附图的布图方式来进行描述的,如:前、后、上、下、左、右等的位置关系是依据说明书附图的布图方向来确定的。
[0020]下面结合实施例及附图对本专利技术作进一步描述:实施例1:如附图1所示,该云原生数据库集群部署方法包括以下步骤:(1)根据拆分算法将数据进行水平拆分。数据库要实现分布式部署,需要将数据进行水平拆分,可根据实际需求定制和添加相应的拆分算法。在本专利技术实施例中,拆分算法包括枚举算法、范围算法、HAsH算法、日期算法和混合算法。
[0021]其中,枚举算法通过在文件中列举字段可能的取值,为每个取值指定节点,适合业务按照地域、数据类型、组织机构等固定取值的属性来组织。
[0022]其中,范围算法将字段值分为若干个范围,将每个范围对应到指定节点,适合数
量、大小等字段。
[0023]其中,HAsH算法对字段值进行二进制求模运算,得到结果再通过范围指定节点索引。
[0024]其中,日期算法按日期进行分片。
[0025]其中,混合算法是取模与范围的结合,先对字段值进行取模运算,取模后的结果根据指定的范围分配到对应的节点。
[0026](2)配置数据表拆分规则。在本专利技术实施例中,配置数据表拆分规则时须考虑业务系统的SQL特点,尽量使绝大多数查询特别是涉及数据量较大的查询在同一个分片内完成。SQL语句中最容易发生跨分片运算的是JOIN语句,对于经常要进行JOIN关联查询的表,应该尽量配置成父子表,或者配置相同的拆分规则。另外,还有一些单表语句也会发生跨分片运算,如GROUP、COUNT等运算,设计拆分规则时也须考虑周全。
[0027](3)进行数据拆分配置。在本专利技术实施例中,数据拆分配置包括物理配置和逻辑配置。物理配置决定了数据的物理存储方式,由后端数据库节点和虚拟分片组成,后端数据库节点对应具体的数据库实例,虚拟分片则对应实例中的数据库。逻辑配置决定了数据在不同的分片上读写的规则,由逻辑库、表及其对应的拆分算法组成。数据写入时,系统对指定的字段值应用拆分算法得到目标虚拟分片,然后将数据写入目标分片。
[0028](4)进行数据库部署优化。数据库集群在Kubernetes境中部署时,需要做容器环境变量的优化。在本专利技术实施例中,进行数据库部署优化时,使用CRD+Operator或者singletonpods进行优化调整,与虚拟机或者物理机相比,采用容器分布式集群的部署更为便捷和快速,可以由原本需要数分钟的时间缩减为数十秒。
[0029](5本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云原生数据库集群部署方法,其特征在于包括以下步骤:根据拆分算法将数据进行水平拆分;配置数据表拆分规则;进行数据拆分配置;进行数据库部署优化;进行数据库实例重建优化;进行调度优化;进行数据库高可用优化;进行持久化存储优化。2.根据权利要求1所述的云原生数据库集群部署方法,其特征在于拆分算法包括枚举算法、范围算法、HAsH算法、日期算法和混合算法。3.根据权利要求1所述的云原生数据库集群部署方法,其特征在于配置数据表拆分规则时考虑业务系统的SQL特点。4.根据权利要求1或2或3所述的云原生数据库集群部署方法,其特征在于数据拆分配置包括物理配置和逻辑配置。5.根据权利要求1或2或3所述的云原生数据库集群部署方法,其特征在于进行数据库部署优化时,使用CRD+Operator或者singletonpods进行优化调整。6.根据权利要求1或2或3所述的云原生数据库集群部署方法,其特征在于在Kubernetes集群中增加自动扩容实例。7.根据权利要求1或2或3所述...

【专利技术属性】
技术研发人员:刘峡利郭宁赵楚月马军王燕军王巧莉聂旭贝高逸凡杨恒翔万姣周建忠
申请(专利权)人:国家电网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1