一种分布式时序数据库系统以及电子设备和存储介质技术方案

技术编号:30799120 阅读:19 留言:0更新日期:2021-11-16 08:04
本发明专利技术属于分布式数据库技术领域,具体公开了一种分布式时序数据库系统以及电子设备和存储介质。该系统包括:元数据服务,用于存储所述数据库系统的各组件的元数据;中间层服务,用于确定数据的路由策略,决定多个数据副本分发的物理地址;智能客户端,用于发起数据读写的请求,其中包括负载均衡算法,用于选择所述中间层服务;存储层服务,用于存储多个数据副本;管理服务6,管理所述元数据服务中的使用的元数据。本发明专利技术的优点在于:1.不依赖额外的网络环境,可以在任何互通网络中部署,且支持云原生部署;2.各个层次可以无限扩展,不存在容量瓶颈和单节点的性能瓶颈,可以通过其可扩展能力提升集群整体性能。扩展能力提升集群整体性能。扩展能力提升集群整体性能。

【技术实现步骤摘要】
一种分布式时序数据库系统以及电子设备和存储介质


[0001]本专利技术涉及分布式数据库
,尤其涉及了一种分布式时序数据库系统以及电子设备和存储介质。

技术介绍

[0002]目前业界有很多公司内部使用Influxdb作为时序数据库,一般采用基于Influxdb

Proxy服务的双写模式或基于分布式块存储或分布式文件存储的第三方存储模式,或者结合使用上述两种模式。基于Influxdb

Proxy服务的双写模式中,数据写入Influxb

Proxy服务后,复制并拆分成两份,双写到两个单独的Influxdb节点中,两个节点存储相同的数据互为备份。基于分布式块存储或分布式文件存储的第三方存储模式中,将Influxdb存储所在的物理磁盘替换成分布式云盘,利用云盘的高性能和可靠性以及快速扩展性,将数据存储在分布式云盘中。
[0003]但是,上述的几种基于Influxdb的时序数据库模式存在如下缺陷:
[0004]1.使用Influxdb

Proxy模式的双写模式,需要使用其他服务来进一步保证Influxdb

Proxy服务的高可用,单点的InfluxdbProxy若存在异常,则会导致整个时序存储层服务失效。
[0005]2.未使用云盘作为存储的单点Influxdb将会在容量上达到物理限制,无法通过可扩展的方式提高整个集群的容量承载能力;
[0006]3.使用云盘作为Influxdb存储的方式,必须依赖第三方分布式块存储或分布式文件存储层服务,在云厂商提供该服务的前提下尚具备可操作性,若自行部署和维护分布式存储层服务则将带来巨大的人力和运维成本。
[0007]4.无论是双写模式还是基于云盘模式,都不能解决在大规模数据读写场景下,可能导致单个Influxdb节点读写性能瓶颈的问题。若通过创建额外的实例,则需要在业务层面进行复杂的控制,且其可扩展性相当局限。

技术实现思路

[0008]为了解决上述缺陷,本专利技术提供一种分布式时序数据库系统,包括:
[0009]元数据服务,用于存储所述数据库系统的各组件的元数据;
[0010]中间层服务,用于确定数据的路由策略,决定多个数据副本分发的物理地址;
[0011]智能客户端,用于发起数据读写的请求,其中包括负载均衡算法,用于选择所述中间层服务;
[0012]存储层服务,用于存储多个数据副本;
[0013]管理服务,管理所述元数据服务中的使用的元数据。
[0014]上述的时序数据库系统中,还包括:辅助代理层,运行在存储层的存储节点上,承担与数据存储相关的任务。
[0015]上述的时序数据库系统中,所述与数据存储相关的任务至少包括数据迁移任务和
数据修复任务。
[0016]上述的时序数据库系统中,所述数据库系统中的数据写入包括:
[0017]有所述智能客户端启动写入数据的流程;
[0018]数据通过在所述智能客户端中的所述负载均衡算法选择所述中间层服务中相应的Proxy服务,并将所述数据发给所述Proxy服务;
[0019]所述中间层服务收到数据后,将数据进行结构化,进行数据分析,从而得到所述数据的写入地址;
[0020]所述中间层服务将结构化后的所述数据写入到各个存储节点;
[0021]所述存储层服务收到数据后,将数据压缩后写入磁盘。
[0022]上述的时序数据库系统中,所述数据库系统中的数据读取包括:
[0023]所述智能客户端发送用于启动数据读取流程的查询请求;
[0024]所述数据通过在所述智能客户端中的所述负载均衡算法选择所述中间层服务中相应的Proxy服务,将所述查询语句发给所述Proxy服务;
[0025]所述中间层服务收到所述查询语句后,利用存储在所述元数据服务中的所述元数据信息进行数据分析,获取所述数据可能存在的物理位置;
[0026]所述中间层服务将所述查询请求分拆后分发给多个存储节点;
[0027]所述存储层服务收到所述查询请求后,将所述数据返回给所述存储层服务;
[0028]所述存储层服务收到所有存储节点发来的所述数据后,进行数据的合并和去重,并将数据读取结果的相关信息返回给所述智能客户端。
[0029]上述的时序数据库系统中,所述数据库系统中的数据迁移包括:
[0030]触发所述数据副本的迁移操作,产生单条或多条迁移计划,并将所述迁移计划附加到迁移计划列表中;
[0031]所述辅助代理层定期监听属于本存储节点的所述迁移计划列表;
[0032]所述辅助代理层按照所述迁计划移列表中的迁移计划的顺序,依次发起迁移工作。
[0033]上述的时序数据库系统中,所述迁移工作进一步包括:
[0034]修改所述元数据中所述迁移计划的状态;
[0035]调用RPC服务访问源数据节点,获取数据副本;
[0036]所述源数据节点收到请求后,进行数据压缩和传输;
[0037]所述辅助代理层收到压缩后的所述数据后,进行数据校验以及解压缩工作;
[0038]将所述元数据中的相应迁移状态标识为完成。
[0039]相应的,本专利技术还提出了一种电子设备,包括:
[0040]存储器,是所述电子设备的存储器之一,用于存储计算机指令;
[0041]处理器,是所述电子设备的处理器之一,当所述电子设备执行所述计算机指令时,实现上述的方法。
[0042]相应的,本专利技术还提出了一种计算机可读的存储介质,所述存储介质上存储有指令,所述指令在计算机上执行时,所述计算机执行上述的方法。
[0043]与现有技术中基于Influxdb

Proxy方案和云盘方案的架构相比,本专利技术具有如下优点:
[0044]1.不依赖额外的网络环境,可以在任何互通网络中部署,且支持云原生部署。
[0045]2.各个层次可以无限扩展,不存在容量瓶颈和单节点的性能瓶颈,可以通过其可扩展能力提升集群整体性能。
[0046]3.具备高可用能力,任何模块的单点异常都不会影响全局服务的读写。
[0047]4.具备数据多副本,数据迁移和数据修复能力。
[0048]5.具备数据冷热分离管理能力,可以在保证集群整体性能的前提下,进一步节省运营成本。
附图说明
[0049]图1是本专利技术中网络设备的一个硬件结构框图;
[0050]图2是基于本专利技术中一些实施例而提供的分布式架构的架构示意图;
[0051]图3是基于本专利技术中一些实施例而提供的数据写入流程图;
[0052]图4是基于本专利技术中一些实施例而提供的数据读取流程图;
[0053]图5是基于本专利技术中一些实施例而提供的数据迁移流程图。
具体实施方式
[0054]以下由特定的具体实施例说明本专利技术的实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式时序数据库系统,其特征在于,包括:元数据服务,用于存储所述数据库系统的各组件的元数据;中间层服务,用于确定数据的路由策略,决定多个数据副本分发的物理地址;智能客户端,用于发起数据读写的请求,其中包括负载均衡算法,用于选择所述中间层服务;存储层服务,用于存储多个数据副本;管理服务,管理所述元数据服务中的使用的元数据。2.如权利要求1所述的数据库系统,其特征在于,还包括:辅助代理层,运行在存储层的存储节点上,承担与数据存储相关的任务。3.如权利要求2所述的数据库系统,其特征在于,所述与数据存储相关的任务至少包括数据迁移任务和数据修复任务。4.如权利要求1

3任一项所述的数据库系统,其特征在于,所述数据库系统中的数据写入包括:有所述智能客户端启动写入数据的流程;数据通过在所述智能客户端中的所述负载均衡算法选择所述中间层服务中相应的Proxy服务,并将所述数据发给所述Proxy服务;所述中间层服务收到数据后,将数据进行结构化,进行数据分析,从而得到所述数据的写入地址;所述中间层服务将结构化后的所述数据写入到各个存储节点;所述存储层服务收到数据后,将数据压缩后写入磁盘。5.如权利要求1

3任一项所述的数据库系统,其特征在于,所述数据库系统中的数据读取包括:所述智能客户端发送用于启动数据读取流程的查询请求;所述数据通过在所述智能客户端中的所述负载均衡算法选择所述中间层服务中相应的Proxy服务,将所述查询语句发给所述Proxy服务;所述中间层服务收到所述查询语句后,利用存储在所述元数据服务...

【专利技术属性】
技术研发人员:赵新宇
申请(专利权)人:优刻得科技股份有限公司
类型:发明
国别省市:

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

1