CN117874050A - 一种基于云原生分布式数据库的跨节点数据访问优化方法 - Google Patents
一种基于云原生分布式数据库的跨节点数据访问优化方法 Download PDFInfo
- Publication number
- CN117874050A CN117874050A CN202311712710.2A CN202311712710A CN117874050A CN 117874050 A CN117874050 A CN 117874050A CN 202311712710 A CN202311712710 A CN 202311712710A CN 117874050 A CN117874050 A CN 117874050A
- Authority
- CN
- China
- Prior art keywords
- data
- log
- database
- access
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000005457 optimization Methods 0.000 title claims abstract description 19
- 230000002085 persistent effect Effects 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 7
- 238000011084 recovery Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013523 data management Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云数据库技术领域,尤其涉及一种基于云原生分布式数据库的跨节点数据访问优化方法,本发明提出以下方案,提供了一种基于云原生分布式数据库的跨节点数据访问优化方法,首先数据管理者根据数据存储策略将增量日志发送至云原生分布式数据库的存储层,其次当数据消费者发出读请求时,数据管理者根据申请日志对数据库实例的访问权限进行检验根据跨节点数据访问策略向数据消费者提供访问服务,最后数据库实例收集所有事务的读点,发送至数据管理者,数据管理者总结读点值,并从中选取最小的读点值,存储实例根据最小的读点值进行存储更新,从而提升性能。
Description
技术领域
本发明涉及云数据库技术领域,尤其涉及一种基于云原生分布式数据库的跨节点数据访问优化方法。
背景技术
基于传统关系型数据库架构的分布式系统设计具有较高的技术复杂度,其主要有两个方面的原因,一方面复杂的关系模型对数据的组织和访问提出了很高要求,另一方面存储和计算耦合增加了系统在水平扩展、资源调度、故障转移、备份恢复等方面的难度,抛开依赖专有硬件的解决方案,业界主流的方案从上面两点入手,例如众多MPP架构的数据库系统采用share-nothing架构,在集群扩展性方面具有优势,但对于单个数据分片,还是传统的主从架构,存储和计算耦合的问题未能有效解决。而以存算分离为基础的各种云原生方案,虽然已经发展出多主架构,但为了平衡分布式场景带来的延迟和性能挑战,通常采用乐观锁一类的方式实现状态同步,这在实际应用时对业务提出更高的要求,如果业务不做流量的合理拆分,其写能力理论上也无法线性扩展。一种可行的方案是结合两种架构,具体的可以将MPP数据库运行在存算分离的架构上,这种架构结合二者的优势,能同时解决上述两个问题。
例如授权公告号为CN110990483B的中国专利公开了一种用于分布式缓存中的缓存节点的数据访问方法、控制方法、分布式缓存系统、分布式缓存中的业务节点及分布式缓存中的中心控制节点,待访问数据以Erlang数据结构存储于缓存节点,缓存节点对应有虚拟节点,在访问待访问数据时,基于hash函数利用待访问数据的标识查找与待访问数据的标识相映射的虚拟节点,然后远程调用缓存节点并从缓存节点中本地查找以Erlang数据结构存储的待访问数据。如果缓存节点中存在该待访问数据,则从缓存节点中读取待访问数据,避免了直接从数据库中读取待访问数据,避免了对数据库IO造成巨大的压力。
以上专利均存在本背景技术提出的问题:复杂的关系模型对数据的组织和访问提出了很高要求,存储和计算耦合增加了系统在水平扩展、资源调度、故障转移、备份恢复等方面的难度,为解决以上问题,本申请设计了一种基于云原生分布式数据库的跨节点数据访问优化方法。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种基于云原生分布式数据库的跨节点数据访问优化方法,首先数据管理者根据数据存储策略将增量日志发送至云原生分布式数据库的存储层,其次当数据消费者发出读请求时,数据管理者根据申请日志对数据库实例的访问权限进行检验根据跨节点数据访问策略向数据消费者提供访问服务,最后数据库实例收集所有事务的读点,发送至数据管理者,数据管理者总结读点值,并从中选取最小的读点值,存储实例根据最小的读点值进行存储更新。
为实现上述目的,本发明提供如下技术方案:
一种基于云原生分布式数据库的跨节点数据访问优化方法,包括以下步骤;
S1:当数据库实例发出写请求时,数据管理者根据数据存储策略将增量日志发送至云原生分布式数据库的存储层;
S2:当数据消费者发出读请求时,数据管理者根据申请日志对数据库实例的访问权限进行检验,如果检验合格,根据跨节点数据访问策略向数据消费者提供访问服务,如果检验不合格,数据管理者驳回数据消费者的读请求;
S3:数据库实例收集所有事务的读点,发送至数据管理者,数据管理者总结读点值,并从中选取最小的读点值,存储实例根据最小的读点值进行存储更新;
所述S1中所述增量日志包括待存储的数据和数据库实例的写请求;
所述S1中所述数据存储策略的具体步骤如下:
S1.1:数据管理者接收数据库实例发出写请求,将写请求和待存储的数据进行封装,将增量日志转发至云原生分布式数据库的存储层;
S1.2:存储层中的存储实例接收增量日志,并对存储的数据进行排序,根据递增原则对新接收的增量日志的日志序列号进行更新,存储层对新接收的增量日志进行重新封装,添加日志序列号,转发至数据管理者;
S1.3:数据管理者接收添加日志序列号的增量日志,并将日志序列号添加至已完成持久化日志,对已完成持久化日志的日志序列号序列进行检查,如果检查不合格,发出报错,如果检查合格,将已完成持久化日志中最新的日志序列号作为一致性读点;
S1.4:数据管理者将最新的一致性读点添加至增量日志,并将更新后的增量日志转发给数据库实例;
S1.5:数据库实例持续从数据管理者获取最新的增量日志,根据增量日志中的一致性读点更新数据库实例的一致性读点序列,同时在内存中回放一致性读点之前的所有日志操作;
所述S1.3中所述检查包括连续性检查和完整性检查,所述连续性检查包括序号连续性检查,所述完整性检查包括内容完整性检查和流程完整性检查;
所述S2中所述申请日志包括数据消费者的访问权限和数据消费者的读请求;
所述跨节点数据访问策略的具体步骤如下:
S2.1:数据管理者接收数据消费者的申请日志,并从申请日志中提取出待执行的申请访问语句,并根据预设的匹配规则匹配出与申请访问语句对应的目标访问数据标识;
S2.2:数据管理者根据哈希函数对目标数据标识进行映射,获取目标访问数据的一致性读点,并将目标访问数据的一致性读点转发至数据数据库实例;
S2.3:数据库实例接收目标访问数据的一致性读点,将目标访问数据的一致性读点对应的存储位置进行标识,设置读点,并创建数据副本;
S2.4:数据库实例将反馈信息发送至数据消费者,数据库消费者将读点作为版本号直接从存储层读取存储实例所保存的数据,并在读取结束后及时释放反馈信息;
所述S2.4中所述反馈信息包括读点和数据副本;
所述S3具体步骤如下:
S3.1:数据库实例收集所有事务的读点,根据读点的日志序列号进行递增排序,将最小的日志序列号作为数据库实例最小值定位;
S3.2:数据管理者收集所有数据库实例的数据库实例最小值定位,对数据库实例最小值定位进行排序,获取最小值,将最小值发送至存储实例,存储实例对小于最小值的日志进行应用和回收操作,不再支持小于最小值版本的页面读请求;
一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行所述的一种基于云原生分布式数据库的跨节点数据访问优化方法;
一种电子设备,包括处理器和所述的存储介质,所述处理器执行所述存储介质中所述的一种基于云原生分布式数据库的跨节点数据访问优化方法。
与现有技术相比,本发明的有益效果是:
1.本发明实现数据消费实例直接从存储实例读取其它实例数据,解决读写冲突问题,减少一次网络转发,从而提升性能表现;
2.本发明对延迟不敏感的数仓类产品实现了云原生架构融合可以有效减少网络IO,降低延迟,提升吞吐,使云原生分布式数据库架构拥有和经典云原生架构接近的延迟和性能表现。
附图说明
通过阅读参照以下附图所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例1一种基于云原生分布式数据库的跨节点数据访问优化方法的流程示意图;
图2为本发明实施例1云原生分布式架构结构图;
图3为本发明实施例1MPP架构结构图;
图4为本发明实施例1存储分离架构结构图;
图5为本发明实施例2分布式查询的跨实例数据访问方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。
实施例1:
请参阅图1,本发明提供的一种实施例:一种基于云原生分布式数据库的跨节点数据访问优化方法,包括以下步骤;
S1:当数据库实例发出写请求时,数据管理者根据数据存储策略将增量日志发送至云原生分布式数据库的存储层;
S2:当数据消费者发出读请求时,数据管理者根据申请日志对数据库实例的访问权限进行检验,如果检验合格,根据跨节点数据访问策略向数据消费者提供访问服务,如果检验不合格,数据管理者驳回数据消费者的读请求;
S3:数据库实例收集所有事务的读点,发送至数据管理者,数据管理者总结读点值,并从中选取最小的读点值,存储实例根据最小的读点值进行存储更新;
所述S1中所述增量日志包括待存储的数据和数据库实例的写请求;
请参阅图2,本发明实施例云原生分布式架构图,该架构在存算分离的云原生架构之上,整合MPP的分布式计算框架,以实现计算和存储的极致弹性,计算节点是典型的MPP架构,每个节点负责部分数据的读写,各个节点数据分区不重合。所有数据统一持久化在分布式存储系统中,这样每个节点的存储具有了弹性,且不再需要备机来保证数据的可靠性;
所述S1中所述数据存储策略的具体步骤如下:
S1.1:数据管理者接收数据库实例发出写请求,将写请求和待存储的数据进行封装,将增量日志转发至云原生分布式数据库的存储层;
S1.2:存储层中的存储实例接收增量日志,并对存储的数据进行排序,根据递增原则对新接收的增量日志的日志序列号进行更新,存储层对新接收的增量日志进行重新封装,添加日志序列号,转发至数据管理者;
S1.3:数据管理者接收添加日志序列号的增量日志,并将日志序列号添加至已完成持久化日志,对已完成持久化日志的日志序列号序列进行检查,如果检查不合格,发出报错,如果检查合格,将已完成持久化日志中最新的日志序列号作为一致性读点;
S1.4:数据管理者将最新的一致性读点添加至增量日志,并将更新后的增量日志转发给数据库实例;
S1.5:数据库实例持续从数据管理者获取最新的增量日志,根据增量日志中的一致性读点更新数据库实例的一致性读点序列,同时在内存中回放一致性读点之前的所有日志操作;
所述S1.3中所述检查包括连续性检查和完整性检查,所述连续性检查包括序号连续性检查,所述完整性检查包括内容完整性检查和流程完整性检查;
所述S2中所述申请日志包括数据消费者的访问权限和数据消费者的读请求;
请参阅图3,本发明实施例MPP架构图,MPP架构最重要的特点就是引入了分布式执行引擎来满足需要查询大量数据的分析类查询请求,在分布式执行过程中,一个实例可能需要读取另一个实例的数据,这些数据需要先由数据管理实例从存储层拉取到实例的内存中,再发送给数据消费实例;
请参阅图4,本发明实施例存储分离架构结构图,在日志的存算分离架构下,数据库实例的写请求通过增量日志下发到存储层,同时取消页面的刷脏,由存储层异步完成增量日志到数据页面的回放操作。这种设计使得存储层支持读取指定版本的页面,并由此实现了主备实例共享一份存储数据的云原生架构;
所述跨节点数据访问策略的具体步骤如下:
S2.1:数据管理者接收数据消费者的申请日志,并从申请日志中提取出待执行的申请访问语句,并根据预设的匹配规则匹配出与申请访问语句对应的目标访问数据标识;
S2.2:数据管理者根据哈希函数对目标数据标识进行映射,获取目标访问数据的一致性读点,并将目标访问数据的一致性读点转发至数据数据库实例;
S2.3:数据库实例接收目标访问数据的一致性读点,将目标访问数据的一致性读点对应的存储位置进行标识,设置读点,并创建数据副本;
S2.4:数据库实例将反馈信息发送至数据消费者,数据库消费者将读点作为版本号直接从存储层读取存储实例所保存的数据,并在读取结束后及时释放反馈信息;
所述S2.4中所述反馈信息包括读点和数据副本;
所述S3具体步骤如下:
S3.1:数据库实例收集所有事务的读点,根据读点的日志序列号进行递增排序,将最小的日志序列号作为数据库实例最小值定位;
S3.2:数据管理者收集所有数据库实例的数据库实例最小值定位,对数据库实例最小值定位进行排序,获取最小值,将最小值发送至存储实例,存储实例对小于最小值的日志进行应用和回收操作,不再支持小于最小值版本的页面读请求。
实施例2:
请参阅图5,本发明提供一种实施例:分布式查询的跨实例数据访问方法,具体步骤如下:
S201:数据消费实例向数据管理实例发送全局快照,初始化数据读取任务;
S202:数据管理实例记录目标读取数据的一致性位点为读点,同时生成本地快照,将本地快照和读点发送给数据消费实例;
S203:数据消费实例获取到读点和本地快照后,使用读点直接从存储层读取数据,并使用本地快照实现多版本并发控制;
S204:数据消费实例读取完数据后,通知数据管理实例释放读点和本地快照。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,包括以下步骤;
S1:当数据库实例发出写请求时,数据管理者根据数据存储策略将增量日志发送至云原生分布式数据库的存储层;
S2:当数据消费者发出读请求时,数据管理者根据申请日志对数据库实例的访问权限进行检验,如果检验合格,根据跨节点数据访问策略向数据消费者提供访问服务,如果检验不合格,数据管理者驳回数据消费者的读请求;
S3:数据库实例收集所有事务的读点,发送至数据管理者,数据管理者总结读点值,并从中选取最小的读点值,存储实例根据最小的读点值进行存储更新。
2.根据权利要求1所述的一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述S1中所述增量日志包括待存储的数据和数据库实例的写请求。
3.根据权利要求2所述的一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述S1中所述数据存储策略的具体步骤如下:
S1.1:数据管理者接收数据库实例发出写请求,将写请求和待存储的数据进行封装,将增量日志转发至云原生分布式数据库的存储层;
S1.2:存储层中的存储实例接收增量日志,并对存储的数据进行排序,根据递增原则对新接收的增量日志的日志序列号进行更新,存储层对新接收的增量日志进行重新封装,添加日志序列号,转发至数据管理者;
S1.3:数据管理者接收添加日志序列号的增量日志,并将日志序列号添加至已完成持久化日志,对已完成持久化日志的日志序列号序列进行检查,如果检查不合格,发出报错,如果检查合格,将已完成持久化日志中最新的日志序列号作为一致性读点;
S1.4:数据管理者将最新的一致性读点添加至增量日志,并将更新后的增量日志转发给数据库实例;
S1.5:数据库实例持续从数据管理者获取最新的增量日志,根据增量日志中的一致性读点更新数据库实例的一致性读点序列,同时在内存中回放一致性读点之前的所有日志操作。
4.根据权利要求3所述一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述S1.3中所述检查包括连续性检查和完整性检查,所述连续性检查包括序号连续性检查,所述完整性检查包括内容完整性检查和流程完整性检查。
5.根据权利要求4所述一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述S2中所述申请日志包括数据消费者的访问权限和数据消费者的读请求。
6.根据权利要求5所述一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述跨节点数据访问策略的具体步骤如下:
S2.1:数据管理者接收数据消费者的申请日志,并从申请日志中提取出待执行的申请访问语句,并根据预设的匹配规则匹配出与申请访问语句对应的目标访问数据标识;
S2.2:数据管理者根据哈希函数对目标数据标识进行映射,获取目标访问数据的一致性读点,并将目标访问数据的一致性读点转发至数据数据库实例;
S2.3:数据库实例接收目标访问数据的一致性读点,将目标访问数据的一致性读点对应的存储位置进行标识,设置读点,并创建数据副本;
S2.4:数据库实例将反馈信息发送至数据消费者,数据库消费者将读点作为版本号直接从存储层读取存储实例所保存的数据,并在读取结束后及时释放反馈信息。
7.根据权利要求6所述一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述S2.4中所述反馈信息包括读点和数据副本。
8.根据权利要求7所述一种基于云原生分布式数据库的跨节点数据访问优化方法,其特征在于,所述S3具体步骤如下:
S3.1:数据库实例收集所有事务的读点,根据读点的日志序列号进行递增排序,将最小的日志序列号作为数据库实例最小值定位;
S3.2:数据管理者收集所有数据库实例的数据库实例最小值定位,对数据库实例最小值定位进行排序,获取最小值,将最小值发送至存储实例,存储实例对小于最小值的日志进行应用和回收操作,不再支持小于最小值版本的页面读请求。
9.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1-8中任一项所述的一种基于云原生分布式数据库的跨节点数据访问优化方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9所述的存储介质,所述处理器执行所述存储介质中如权利要求1-8中任一项所述的一种基于云原生分布式数据库的跨节点数据访问优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311712710.2A CN117874050A (zh) | 2023-12-13 | 2023-12-13 | 一种基于云原生分布式数据库的跨节点数据访问优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311712710.2A CN117874050A (zh) | 2023-12-13 | 2023-12-13 | 一种基于云原生分布式数据库的跨节点数据访问优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117874050A true CN117874050A (zh) | 2024-04-12 |
Family
ID=90585393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311712710.2A Pending CN117874050A (zh) | 2023-12-13 | 2023-12-13 | 一种基于云原生分布式数据库的跨节点数据访问优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117874050A (zh) |
-
2023
- 2023-12-13 CN CN202311712710.2A patent/CN117874050A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704290B2 (en) | Methods, devices and systems for maintaining consistency of metadata and data across data centers | |
JP4586019B2 (ja) | 非故障ノードによる並列な回復 | |
CN109739935B (zh) | 数据读取方法、装置、电子设备以及存储介质 | |
US7257689B1 (en) | System and method for loosely coupled temporal storage management | |
US9460008B1 (en) | Efficient garbage collection for a log-structured data store | |
US9922075B2 (en) | Scalable distributed transaction processing system | |
US8401994B2 (en) | Distributed consistent grid of in-memory database caches | |
US8768977B2 (en) | Data management using writeable snapshots in multi-versioned distributed B-trees | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
CN103106286B (zh) | 元数据的管理方法和装置 | |
CN102937964B (zh) | 基于分布式系统的智能数据服务方法 | |
WO2019109854A1 (zh) | 分布式数据库数据处理方法、装置、存储介质及电子装置 | |
CN113377868A (zh) | 一种基于分布式kv数据库的离线存储系统 | |
CN110489092B (zh) | 一种数据库读写分离架构下读取数据延迟问题的解决方法 | |
US20230418811A1 (en) | Transaction processing method and apparatus, computing device, and storage medium | |
CN115114374B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN111752945B (zh) | 一种基于容器和层次模型的时序数据库数据交互方法和系统 | |
CN115114294A (zh) | 数据库存储模式的自适应方法、装置、计算机设备 | |
CN113032356B (zh) | 一种客舱分布式文件存储系统及实现方法 | |
US10387384B1 (en) | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write | |
CN105956041A (zh) | 基于Spring Data for MongoDB集群的数据模型处理方法 | |
WO2023159976A1 (zh) | 数据分段写入方法、数据读取方法及装置 | |
CN117874050A (zh) | 一种基于云原生分布式数据库的跨节点数据访问优化方法 | |
JP4137366B2 (ja) | データベース管理方法及びデータベース管理装置 | |
CN118093592A (zh) | 针对分布式对象存储系统的元数据索引存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |