一种基于容器资源分配的数据库分片执行方法技术

技术编号:20221685 阅读:37 留言:0更新日期:2019-01-28 20:13
本发明专利技术公开了一种基于容器资源分配的数据库分片执行方法,涉及数据库语句分片技术领域,本发明专利技术包括如下步骤:S1查询语句预分片:任务调度组件将查询语句传入数据库,数据库计算出执行计划,任务调度组件根据执行计划对查询语句进行预分片;S2调整查询语句预分片结果:容器管理组件查询各物理节点的可用资源,任务调度组件根据返回的可用资源信息,调整预分片结果;S3申请并启动容器资源:容器管理组件申请在物理节点部署包含对应资源的容器,启动对应容器,将预分片结果分发到对应容器中;S4执行实际查询任务,本发明专利技术提前获取数据库中的执行计划以及现有容器资源情况,自动对查询语句进行分片处理,实现最大化利用现有资源,提高了资源利用率。

【技术实现步骤摘要】
一种基于容器资源分配的数据库分片执行方法
本专利技术涉及数据库语句分片
,更具体的是涉及一种基于容器资源分配的数据库分片执行方法。
技术介绍
现有技术中,当直接对数据库中的大表进行查询时,例如查询显示某张表内的所有信息(select*fromA),主要存在两种问题:一方面数据的查询速度慢,难以满足实时性要求;另一方面数据量很大,单节点的内存中可能存放不下这么多查询结果,例如100万条数据。随着分布式集群和容器技术的发展,应用和数据库都越来越倾向于部署于分布式集群之中,以提高应用和数据的可用性和实时性。数据库中也存在着一些数据分片的方法,比如MySQL的分表分区、NoSQL的分片方法,但这些方法都是以来数据索引实现的,没有考虑在应用端将查询语句进行有效拆分,数据库内的数据流量过大,对数据库内部处理速度和带宽要求很高,而应用层在实际处理中,往往需要自定义分区Read,一般通过设置自定义分区字段来控制。而Spark中对SQL查询数据操作的MapReduce方法,是基于预定义RDD分区大小来指定的,相对来说比较死板,在系统设计时已经被写定了,无法根据现有容器(docker)资源对语句进本文档来自技高网...

【技术保护点】
1.一种基于容器资源分配的数据库分片执行方法,其特征在于,包括如下步骤:S1:查询语句预分片任务调度组件将应用层中输入的数据库查询语句传入数据库,数据库计算出执行计划,并将执行计划返回至任务调度组件,任务调度组件根据执行计划对查询语句进行预分片;S2:调整查询语句预分片结果容器管理组件查询各物理节点的可用资源,并将各物理节点的可用资源信息返回至任务调度组件,任务调度组件根据返回的可用资源信息,调整预分片结果;S3:申请并启动容器资源容器管理组件按照调整后的预分片结果,申请在物理节点部署包含对应资源的容器,申请通过后启动对应容器,并将调整后的预分片结果分发到各对应容器中;S4:执行实际查询任务各...

【技术特征摘要】
1.一种基于容器资源分配的数据库分片执行方法,其特征在于,包括如下步骤:S1:查询语句预分片任务调度组件将应用层中输入的数据库查询语句传入数据库,数据库计算出执行计划,并将执行计划返回至任务调度组件,任务调度组件根据执行计划对查询语句进行预分片;S2:调整查询语句预分片结果容器管理组件查询各物理节点的可用资源,并将各物理节点的可用资源信息返回至任务调度组件,任务调度组件根据返回的可用资源信息,调整预分片结果;S3:申请并启动容器资源容器管理组件按照调整后的预分片结果,申请在物理节点部署包含对应资源的容器,申请通过后启动对应容器,并将调整后的预分片结果分发到各对应容器中;S4:执行实际查询任务各容器收到对应的预分片结果后,作为查询任务实际的发起者,将查询任务发送到数据库完成查询任务。2.根据权利要求1所述的一种基于容器资源分配的数据库分片执行方法,其特征在于,所述S1中应用层输入的数据库查询语句为DQL。3.根据权利要求1所述的一种基于容器资源分配的数据库分片执行方法,其特征在于,所述S1中的执行计划包括预计...

【专利技术属性】
技术研发人员:王熙孙翔温序铭
申请(专利权)人:成都索贝数码科技股份有限公司
类型:发明
国别省市:四川,51

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

1