基于云存储类别的可变缓存可用性制造技术

技术编号:38768265 阅读:7 留言:0更新日期:2023-09-10 10:41
公开的技术涉及根据各种实体的分类,来管理这些实体的数据的分布式存储。分布式存储系统的数据库节点可从多个实体中的第一实体接收存储数据集的请求。数据库节点可进一步获得与第一实体相关联的元数据,其中,元数据指定这些实体的多个分类中的一个分类。数据库节点可将数据集提供至多个缓存中的一个或多个缓存以便存储。缓存可位于两个或更多个可用区域中,并配置为基于在与第一实体相关联的元数据中识别的第一实体的分类而存储该数据集。数据库节点还可将数据集存储在联接至数据库节点的共享对象储存器中。的共享对象储存器中。的共享对象储存器中。

【技术实现步骤摘要】
【国外来华专利技术】基于云存储类别的可变缓存可用性

技术介绍


[0001]公开文本总体涉及一种存储系统,并且更具体地,涉及使用缓存集群和对象存储来复制并检索数据。
[0002]相关技术描述
[0003]现代数据库系统常规地实现管理系统,这些管理系统使用户能够有组织地存储可被高效访问并操纵的信息的集合。在许多情况下,这些数据库系统包括协同工作以实现数据库服务的数据库节点和存储节点。数据库节点通常处理数据库事务以读取和操纵数据,而存储节点工作以确保那些事务的结果以可被有效访问的方式被存储。管理系统还经常设法确保数据库系统的数据跨各个区域被充分复制,以便在数据库系统的部分故障或变得不可用的情况下,防止数据丢失。
附图说明
[0004]图1A是示出根据一些实施方案的云环境的示例性元件的框图。
[0005]图1B描绘的框图示出根据一些实施方案的存储缓存的示例。
[0006]图2是示出根据一些实施方案的包括云基服务的云环境的示例性元件的框图,该云基服务配置为处理对云基服务的写入请求。
[0007]图3描绘的框图示出根据一些实施方案的包括云基服务的云环境的示例性元件,该云基服务配置为处理对云基服务的写入和读取请求。
[0008]图4描绘的框图示出根据一些实施方案的包括具有三个可用区域的云基服务的云环境的示例性元件,该云基服务配置为处理对云基服务的写入和读取请求。
[0009]图5描绘的框图示出根据一些实施方案的包括云基服务的云环境的示例性元件,该云基服务配置为处理对云基服务的写入和读取请求以及对写入和读取请求的日志的写入和读取。
[0010]图6描绘的框图示出根据一些实施方案的包括云基服务和集群管理器的云环境的示例性元件。
[0011]图7描绘的框图示出根据一些实施方案的包括云基服务的云环境的示例性元件,该云基服务配置为将写入请求的存储引导至共享对象储存器以供云基服务的本地存储的随后填充。
[0012]图8是示出根据一些实施方案的包括云基服务的云环境的示例性元件的框图,该云基服务配置为基于与各种实体相关联的元数据处理来自各种实体的写入和读取请求。
[0013]图9是示出根据一些实施方案的配置为识别用于存储第一实体的数据的缓存的示例性数据库节点的框图。
[0014]图10A是示出根据一些实施方案的基于实体分类的缓存空间的示例性分配的框图。
[0015]图10B是示出根据一些实施方案的给定可用区域中的示例性系统崩溃的框图。
[0016]图11是示出根据一些实施方案的用于使用基于类别的技术来处理写入请求的示例性方法的流程图。
[0017]图12是示出根据一些实施方案的用于使用基于类别的技术来处理对存储在一个或多个缓存中的数据的读取请求的示例性方法的框图。
[0018]图13是示出根据一些实施方案的用于在云基服务中处理写入请求的示例性方法的流程图。
[0019]图14是示出根据一些实施方案的用于在云基服务中处理写入请求的另一示例性方法的流程图。
[0020]图15描绘可实现公开文本的各种技术的示例性多租户数据库系统(MTS)。
[0021]图16描绘示例性计算机系统的框图。
具体实施方式
[0022]随着公司寻求将其基础设施移至云中,云计算服务(或简称为“云”)变得越来越流行。如本文使用的,术语“云”是根据其充分理解含义使用的,并且是指可通过互联网对一个或多个组织可用的计算机资源(诸如数据存储和计算能力)的按需可用性。公有云的一个示例是Amazon Web Services
TM
(AWS),其由Amazon
TM
(供应商)提供给多个公司(组织)以托管并运行其软件。公有云的资源(例如,计算硬件、存储硬件等)通常分布在多个地理领域(称为“云区”)上,其中,每个云区具有那些资源的多个隔离网络(称为“可用区域”)。公司可在位于地理位置适宜的云区的特定区域内的计算机系统上,实例化其软件。
[0023]如本文描述的,分布式数据库存储系统可将数据存储在数据存储集群中,该集群包括跨多个可用区域分布的存储服务器。为了数据存储集群中的持久数据存储冗余,可跨附加可用区域中的服务器,复制存储在每个可用区域中的存储服务器上的数据。在许多情况下,这些存储服务器并非原本就是为公有云设计的;相反,存储服务器设计用于单个集中式网络,并且因此不具有云区或可用区域的概念。因此,跨多个可用区域分布的分布式数据库存储系统可能不能正确地解释可用区域故障以及与跨云中的区域的通信相关联的时延和成本。例如,在可用区域中发生故障的情况下,可响应于该故障跨可用区域复制数据。然而,跨可用区域移动数据可降低性能,因为在跨可用区域移动数据时,时延增加。性能降低可能是事务性数据库的问题,该数据库需要高性能(低时延)以快速访问数据。另外,跨可用区域移动数据的成本可能是昂贵的。公开文本至少解决了如下技术问题:在无时延问题以及与跨可用区域移动数据相关联的成本的情况下复制数据。
[0024]公开文本描述的各种技术用于使云基服务能够通过集成利用短暂存储缓存(如基于内部非易失性存储器(NVMe)的存储)和共享对象储存器(如Amazon S3
TM
),以实现跨可用区域移动数据。共享对象储存器为持久数据提供成本有效、持久和可扩展存储。然而,共享对象储存器不具有事务性数据库所需的性能能力(诸如低时延以用于快速访问数据)。短暂存储缓存提供低时延数据传送,但是短暂存储缓存是在由于电源故障或其他故障事件而丢失数据的情况下的临时存储。因此,公开文本考虑为分布式数据库存储系统(诸如提供事务性数据库存储的系统)提供低成本、低时延和耐用持久存储的技术。
[0025]在以下描述的各种实施方案中,云基存储服务具有跨共享对象储存器之前的多个
可用区域实例化的多个存储缓存。存储缓存可在数据存储集群中实例化,其中,存储缓存跨多个可用区域分布,以用于跨可用区域实现数据的复制和可用性。每个可用区域能够单独向共享对象储存器写入数据以及从共享对象储存器读取数据。数据存储集群之后的共享对象储存器提供数据存储集群中的数据的持久且耐用的复制存储。在各种情况下,诸如Kubernetes
TM
或Apache Zookeeper
TM
的编排服务或集群管理器用于实例化不同可用区域内的存储缓存。在各种实施方案中,可用区域包括本文进一步描述的数据库节点。数据库节点处理用于数据存储集群的数据的检索、操纵和存储。例如,数据库节点可响应于在云基存储服务中存储数据的请求,而将数据写入到存储缓存和共享对象储存器两者中。数据库节点可响应于数据检索请求而从存储缓存中检索数据,以通过利用存储缓存的低时延来提供快速数据检索。共享对象储存器在存储缓存故障的情况下,提供数据的备份。
[0026]这些技术可能是有利的,因为它们在提供持久性数据存储以防止数据丢失的同时,允许低时延的数据检索。另外,这些技术提供云环境内的数据的低时延且低成本移动。例如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:由分布式存储系统的数据库节点从多个实体中的第一实体接收存储数据集的请求;由所述数据库节点获得与所述第一实体相关联的元数据,其中所述元数据指定所述多个实体的多个分类中的一个分类;由所述数据库节点将所述数据集提供至多个缓存中的一个或多个缓存以便存储,其中所述多个缓存被配置为基于在与所述第一实体相关联的元数据中识别的所述第一实体的分类而存储所述数据集,并且其中所述多个缓存位于两个或更多个可用区域中;和由所述数据库节点将所述数据集存储在联接至所述数据库节点的共享对象储存器中。2.根据权利要求1所述的方法,其中所述获得通过以下执行:从所述分布式存储系统的集群管理器接收与所述多个实体中的不同实体相关联的元数据,其中所述元数据包括由所述集群管理器基于与不同数据集相关联的实体的分类针对所述不同数据集而保持的标签。3.根据权利要求2所述的方法,其中所述数据集的标签指示存储所述数据集的副本的多个缓存的相应可用区域。4.根据权利要求1所述的方法,其中所述多个缓存还被配置为:基于在与所述第一实体相关联的元数据中指示的所述第一实体的分类和在与第二实体相关联的元数据中指示的所述第二实体的分类,为所述多个实体中的所述第一实体分配比所述第二实体更大的缓存空间量。5.根据权利要求1所述的方法,其中所述多个缓存还被配置为:响应于系统故障:基于所述第一实体的分类,确定将所述第一实体的数据从所述共享对象储存器重新填充入所述多个缓存中的一个或多个缓存;和基于第二实体的分类,确定不将所述多个实体中的第二实体的数据重新填充入所述多个缓存中的一个或多个缓存,其中所述第一实体的数据的重新填充是在没有被缓存未命中引发的情况下执行的。6.根据权利要求1所述的方法,其中所述多个缓存还被配置为:基于所述第一实体的分类,跨不同可用区域存储所述第一实体的数据的多个副本;和基于所述多个实体中的第二实体的分类,存储所述第二实体的数据的单个副本。7.根据权利要求1所述的方法,其中所述多个缓存还被配置为:基于第二实体的分类,在执行针对所述第一实体存储的数据的缓存回收之前,执行针对所述第二实体存储的数据的缓存回收。8.根据权利要求1所述的方法,还包括:由所述数据库节点从所述多个实体中的第二实体接收针对第二数据集的请求;由所述数据库节点基于与所述第二实体相关联的元数据而识别存储所述第二数据集的所述多个缓存中的第一缓存,其中所述第一缓存位于第一可用区域中;和由所述数据库节点响应针对所述第二数据集的所述请求,其中所述响应是基于从所述第一缓存检索所述第二数据集而执行的。9.根据权利要求8所述的方法,还包括:由所述数据库节点确定在所述第一缓存中已经发生缓存未命中;和
由所述数据库节点基于与所述缓存未命中相关联的实体的分类,确定是否使用来自所述共享对象储存器的数据而针对来自所述第一缓存的数据未命中提供查询服务。10.根据权利要求1所述的方法,还包括:由所述数据库节点从所述多个实体中的第二实体接收针对第二数据集的请求;和由所述数据库节点从所述共享对象储存器检索所述第二数据集,其中基于在与所述第二实体相关联的元数据中指示的分类而执行所述检索。11.一种分布式存储系统,包括:数据集群,其包括分隔为多个可用区域的多个存储缓存;共享对象储存器,其联接至所述数据集群;和多个数据库节点,其位于所述多个可用区域中;其中第一可用区域中的第一数据库节点被配置为:从多个实体中的第一实体接收针对...

【专利技术属性】
技术研发人员:V
申请(专利权)人:易享信息技术有限公司
类型:发明
国别省市:

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

1