用于实施可扩展数据存储服务的系统和方法技术方案

技术编号:30766407 阅读:21 留言:0更新日期:2021-11-10 12:26
本发明专利技术涉及用于实施可扩展数据存储服务的系统和方法。提供了一种系统,包括:多个计算节点,共同地实现数据存储服务,该服务提供基于网络的接口用来接收服务请求,其中所述服务包括共同地实现非关系数据存储的多个存储节点;所述服务被配置为,响应于接收到代表存储服务客户端来创建表的服务请求并且其中所述服务请求指定服务于针对所述表的请求的既定吞吐量水平,在非关系数据存储中的多个存储节点中的一个或多个处分配用于表的资源以创建表,其中所分配的资源足以使表满足指定的既定吞吐量水平;并且所述数据存储服务被配置为,在分配了用于所述表的资源后,响应于接收到针对表修改既定吞吐量水平的请求,修改分配给所述表的资源。述表的资源。述表的资源。

【技术实现步骤摘要】
用于实施可扩展数据存储服务的系统和方法
[0001]本申请是国际申请日为2012年6月27日的、名称为“用于实施可扩展数据存储服务的系统和方法”的专利技术专利申请No.201280037292.5(PCT/US2012/044371)的分案申请。


[0002]本申请涉及一种用于实施可扩展数据存储服务的系统和方法。

技术介绍

[0003]多个前沿技术组织正投资构建出售“软件即服务”的技术。这些服务向客户端或订户提供对共享存储装置(例如,数据库系统)和/或计算资源的访问。在多层电子商务系统内,可以将不同资源分配给订户和/或来自整个机器的订户应用、CPU、存储器、网络带宽和I/O能力。
[0004]出于多种原因中的任何一种(包括安全问题、灾难预防和恢复问题、数据局部性和可用性问题等),代表用户管理大量数据的数据库系统可以在通常在不同位置中的两个或更多个机器上分布和/或复制所述数据。可以用任何数量的方式配置这些机器,包括配置成共享资源池。
[0005]客户端应用与数据库服务器之间的交互通常包括读操作(只读查询)、写操作(用来存储数据)和可使用读取

修改

写入工作流程而概念化的更新操作。
附图说明
[0006]图1是示出被配置来实施基于网络服务的数据存储服务的系统架构的一个实施方案的方框图。
[0007]图2A至图2C是示出根据一个实施方案的网络服务平台的各种组件的方框图。
[0008]图3A和图3B是示出根据一个实施方案的将数据作为项目存储在多个表格中的方框图。
[0009]图4是示出根据一个实施方案的包括数值属性的三个项目的方框图,所述数值属性被指定为存储所述三个项目的表格的主键。
[0010]图5是示出用于代表存储服务客户端创建由数据存储服务维护的表格的方法的一个实施方案的流程图。
[0011]图6是示出用于响应于通过网络服务API接收的请求而创建表格的方法的一个实施方案的流程图。
[0012]图7是示出用于生成表格元数据的方法的一个实施方案的流程图。
[0013]图8是示出CreateTable工作流程的一个实施方案的流程图。
[0014]图9是示出用于响应于更新项目的请求而更新项目的方法的一个实施方案的流程图。
[0015]图10是示出用于使用支持条件更新和/或多个输出选项的API来更新项目的方法的一个实施方案的流程图。
[0016]图11是示出用于将在非关系数据存储装置中维护的表格分区的方法的一个实施方案的流程图。
[0017]图12是示出用于执行查询的方法的一个实施方案的流程图。
[0018]图13是示出用于执行查询的方法的另一实施方案的流程图。
[0019]图14是示出用于执行表格扫描操作的方法的一个实施方案的流程图。
[0020]图15是示出根据一个实施方案的用于执行已指定扫描或响应限制的查询或扫描操作的方法的流程图。
[0021]图16是示出根据一个实施方案的用于提供数据存储服务的系统的数据模型的部分的方框图。
[0022]图17是示出用于使用优选吞吐量模型来代表数据存储服务客户端创建并管理表格的方法的一个实施方案的流程图。
[0023]图18是示出用于当维护或修改既定吞吐量水平时为针对特定表格的请求服务的方法的一个实施方案的流程图。
[0024]图19是示出用于当由数据存储服务代表存储服务客户端维护的表格的分区“有效”时移动所述分区的副本的方法的一个实施方案的流程图。
[0025]图20是示出用于使用物理拷贝机制移动副本的方法的一个实施方案的流程图。
[0026]图21是示出用于响应于划分由数据存储服务维护的表格的分区的请求而划分所述分区的方法的一个实施方案的流程图。
[0027]图22是示出用于响应于检测异常而移动由数据存储服务维护的表格的分区的方法的一个实施方案的流程图。
[0028]图23是示出用于响应于检测到存储节点上的热点而移动或划分由数据存储服务维护的表格的分区的方法的一个实施方案的流程图。
[0029]图24是示出用于代表一个或多个存储服务客户端维护并管理多个表格的方法的一个实施方案的流程图。
[0030]图25是示出根据一个实施方案的可以适用于实施数据存储服务的计算节点的方框图。
[0031]虽然本文中已通过以多个实施方案和说明性附图为实例的方式描述实施方案,但是本领域那些技术人员应认识到实施方案不限于已描述的实施方案或附图。应了解,附图和附图的详述不旨在将实施方案限于所公开的特定形式,而恰恰相反,本专利技术将涵盖落在如由所附权利要求定义的精神和范围内的所有修改、等效物和替代。本文中使用的标题是仅出于组织目的且并非意指用来限制描述或权利要求的范围。如本申请全文中使用,以允许意义(即,意指具有
……
的可能)而非强制意义(即,意指必须)使用单词“可以(may)”。类似地,单词“包括(include)”、“包括(including)”和包括(includes)意指包括但不限于。
具体实施方式
[0032]可以以各种组合且在各种实施方案中采用本文中描述的系统和方法以实施向存储服务客户端(例如,用户、订户或代表用户或订户访问数据存储服务的客户端应用)提供数据存储服务的基于网络的服务。如本文中详述,在一些实施方案中,服务可以支持代表客户端在非关系数据存储装置(例如,非关系数据库)中维护表格的无缝扩展。在一些实施方
案中,服务可以通过复制而提供高水平的持续性和可用性。在一些实施方案中,服务本身可能不一定强加最大表格大小或最大吞吐量的限制,且即使是具有大规模扩展的表格也不一定需要客户端分区。服务可以支持响应于检测到各种异常(例如,故障或错误状况、热点或表格大小和/或服务请求吞吐量中的增加)而对数据进行自动现场再分区,和/或对数据进行显式(例如,积极主动和/或订户起始的)现场再分区以支持规划或期望的表格大小和/或吞吐量增加。换句话说,在一些实施方案中,服务可以响应于接收到存储、检索、修改或删除可扩展表格中的项目的一个或多个请求而开始对表格再调整(扩展)和/或再分区。
[0033]在各种实施方案中,本文中描述的服务可以支持灵活的纲目、多个可用一致性模型、各种服务水平和/或商业模型选项、多个索引选项和/或多个查询类型。在一些实施方案中,存储服务客户端(例如,用户、订户或客户端应用)可以通过使用相对较小(且相对简易)的API集的网络服务接口与服务进行交互,使得服务的客户端在很大程度上从数据库管理的负担中解脱。服务可以展现出服务请求中的低等待时间。与一些先前数据存储服务不同的是,服务可以低成本支持可预测性能,同时支持多重租赁和自动热管理。
[0034]在各种实施方案中,本文中描述的数据存储服务可以提供应用程序接口(API),其包括支持对由所述服务代表存储服务客户端维护的表格中的数据进行下列操作中的一些或所有:放置(或存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统,包括:多个计算节点,每个计算节点包括至少一个处理器和存储器,所述多个计算节点共同地实现数据存储服务,该数据存储服务提供基于网络的接口,通过该接口接收服务请求,其中所述数据存储服务包括共同地实现非关系数据存储的多个存储节点;所述数据存储服务被配置为,响应于接收到代表存储服务客户端来创建表的服务请求并且其中所述服务请求指定服务于针对所述表的请求的既定吞吐量水平,在所述非关系数据存储中的所述多个存储节点中的一个或多个存储节点处分配用于所述表的资源以创建所述表,其中所分配的资源足以使所述表满足指定的既定吞吐量水平;并且所述数据存储服务被配置为,在分配了用于所述表的资源后,响应于接收到针对所述表修改所述既定吞吐量水平的请求,修改分配给所述表的所述资源。2.根据权利要求1所述的系统,其中,为了分配用于所述表的资源,所述数据存储服务被配置为:确定要创建的所述表的分区的数量;以及在所述一个或多个存储节点处创建所确定的数量的分区。3.根据权利要求2所述的系统,其中,为了修改分配给所述表的资源,所述数据存储服务被配置为修改所述表的分区的数量。4.根据权利要求3所述的系统,其中,为了修改所述表的分区的数量,所述数据存储服务被配置为执行以下中的至少一个:在一个或多个不同的存储节点处添加所述表的分区;或者在所述一个或多个存储节点之一处移除所述表的分区。5.根据权利要求1所述的系统,其中,响应于针对所述表的服务请求通信量超过当前的既定吞吐量水平,所述数据存储服务被配置为抑制接收的服务请求中超过所述当前的既定吞吐量水平的至少一部分服务请求,其中所述当...

【专利技术属性】
技术研发人员:S
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:

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

1