用于数据库工作负荷的输入-输出优先化制造技术

技术编号:13038583 阅读:84 留言:0更新日期:2016-03-23 10:30
一种数据库管理系统可由第三方提供商操作,所述第三方提供商将所述系统托管在数据中心,并且将对所述系统的访问提供给代表各种实体的终端用户。可施加对总容量消耗的限制,但当容量消耗超过那些限制时,可造成服务中断。可对在所述系统上执行操作的请求进行分类。所述请求分类可与用于准入或拒绝所述请求的策略相关联。表示可用于执行所述操作的请求的容量的一个或多个令牌桶可用于确定以准入所述请求,且基于执行所述操作的成本而被更新。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】用于数据库工作负荷的输入-输出优先化相关申请的交叉引用本申请要求2013年5月17日提交的第13,897,232号美国专利申请的权益,其公开内容以引用的方式全文并入本文。专利技术背景数据库管理系统(“DBMS”)可由第三方提供商操作,第三方提供商将DBMS托管在数据中心中的服务器上,并且提供DBMS作为对各种实体(诸如企业、高校、政府机关和其它类型的客户)的服务。为了托管DBMS并将服务提供到各种实体,提供商通常维护硬件、软件和基础设施中的重要资源。此外,提供商可承担与操作DBMS相关的各种持续成本,诸如电力、维护成本和技术人员的薪水。相应地,为了将响应服务提供到各种实体,提供商可尝试使安装在其数据中心处的硬件和其它资源的容量和利用率最大化。附图简述在本文中提供的附图被设计来图示示例实施方案,且不旨在限制本公开的范围。图1是描绘通过网络服务暴露于终端用户并且通过对令牌分配和消耗机制的使用而限制容量消耗的数据库管理系统的框图。图2是描绘使用令牌分配和消耗机制执行所供应的容量的流程图。图3A是描绘令牌到令牌桶的分配以及消耗来自令牌桶的令牌的多个请求类型的图示。图3B是描绘将令牌分配到根据请求类型进行分类的多个令牌桶并且基于处理相应的请求类型而从桶提取令牌的图示。图4是将请求类型划分成多个请求类别并且使所述类别与准入策略相关联的图示,准入策略可控制确定准入哪个令牌桶以及从哪个桶或哪些桶提取令牌。图5是描绘用于基于请求的分类而获取并应用准入策略的实施方案的流程图。图6A是描绘将请求类型划分成多个请求类别并且使所述类别与准入策略相关联的图示,准入策略管理来自令牌桶的分级布置的请求准入和令牌提取。图6B是描绘从令牌桶的分级布置中的父桶扣除令牌的图示。图6C是描绘从令牌桶的分级布置中的子桶扣除令牌桶的图示。图6D是描绘从父桶扣除比可用于父桶的令牌多的令牌的图示。图6E是描绘从子桶扣除比可用于子桶或父桶的令牌多的令牌的图示。图6F是描绘令牌桶的分级布置的图示,其中具有相同优先级的一个或多个类别共享父桶。图7A是描绘用于获取与请求类别、令牌桶和准入策略有关的客户提供的信息的用户界面的说明性实例的图示。图7B是描绘适用于利用分级令牌桶模型的方法、用于获取与请求类别、令牌桶和准入策略有关的客户提供的信息的用户界面的说明性实例的图示。图8是描绘用于接收容量分配和准入策略信息连同客户的新建表的定义并且使用所述信息创建令牌桶以及在每个分区的基础上应用准入策略的步骤的流程图。图9是描绘可实践本公开的方面的计算环境的实施方案的框图。【具体实施方式】如上所述,提供商可将DBMS托管在数据中心中,并且提供对DBMS的访问作为对各种实体的服务。在这方面,DBMS可通过网络服务、网络应用、远程程序调用等被暴露。这些机制和其它在本文中可被称为服务。在一些实施方案中,DBMS可提供将一个或多个服务暴露于实体或客户的终端用户的集成前端。通过所述服务,终端用户可进行包括将通过使用对服务的应用编程接口( “API”)调用而在DBMS上执行各种操作和查询的请求。例如,请求可包括代表客户对API的调用,以及代表客户对DBMS上的操作的调用。提供商还可能要求来自客户的付款以作为使用该容量的交换。然而,努力的盈利性可取决于客户支付与代表其本身消费的容量成比例的量。可对客户施加容量消耗的限制,并且通过各种技术(诸如节流、排队等)执行。当使用超过供应给客户的量时,可拒绝或暂停代表客户针对服务的请求。在多种情况下,这可能对客户不利。例如,服务可以是电子商务网站或类似应用的组件,如果针对服务的请求被拒绝,则其可能不具有功能。然而,也许并非所有服务的请求对客户而言同样重要。虽然各种请求(诸如展示电子商务购物车的内容或处理客户订单)可能非常重要,但是其它请求可能不重要。例如,重要性相对低的某些类型的请求可包括维护任务、报告生成、数据挖掘等。这些任务还可能碰巧消耗相当大部分的容量,且因此更可能导致在已超过客户的被供应容量时造成的中断、阻断期或延迟。终端用户可通过发送包括操作的识别符和一个或多个参数的请求而调用DBMS上的操作。可识别任何数量的操作,并且可包括诸如读取或写入数据、执行关于数据的查询以及各种数据定义和模式相关的指令(诸如创建并删除表)的操作。可随请求包含的参数可以是任何类型的,诸如文本值、枚举值、整数等。参数的特定组合将根据被调用的操作的类型而不同。DBMS是用于维护数据的组织集合的软件和硬件系统。在DBMS中,数据通常由关键值与附加数据之间的关联组织。关联性质可基于存在于数据的集合中的现实世界的关系,或者其可以是任意的。各种操作可由DBMS执行,包括数据定义、查询、更新和管理。一些DBMS使用查询语言(诸如结构化查询语言(“SQL”)提供与数据库的交互,而其它使用包含诸如put()和get()等的操作的API。与数据库的交互还可基于各种协议或标准,诸如超文本标记语言(“HTML”)和可扩展标记语言(“XML”)。DBMS可包括各种架构组件,诸如用于将数据存储在一个或多个存储装置(诸如固态驱动)上的存储引擎。提供商可将任何数量的DBMS托管在其数据中心内。DBMS可在任何数量的计算节点上进行操作,并且可与各种存储装置相关联,以及使用广泛多样的联网设备和拓扑结构进行连接。此外,可托管各种DBMS,包括关系数据库、面向对象的数据库、非结构化查询语言(“NoSQL”)数据库等。如上所述,可对客户施加容量消耗的限制。在实施方案中,客户可能具有设定的容量消耗水平。客户的容量消耗水平可通过各种估计和测量技术来限制。因为在处理请求中可能涉及的广泛多样的计算资源,所以容量消耗可能难以确定。然而,各种可测量的数量可用作容量消耗的合理代理。在各种实施方案中,可采用数量(诸如发送到或接收自客户端应用的数据量)来估计通过处理某个请求而消耗的容量。例如,查询请求可扫描数据库表,以便确定符合查询中指定约束条件的行。所返回的行数可以是用于容量消耗的代理。例如,如果返回单行数据,则查询可能在范围上受到限制,且因此可能比产生被返回的许多数据行的查询消耗更少容量。以下结合附图描述了示例实施方案的更多细节。如上所述,在示例实施方案中,提供商将一个或多个DBMS托管在数据中心内,并且通过网络服务提供对各种DBMS的访问。图1描绘将供应的网络服务和数据库托管在数据中心内的环境。终端用户应用102可通过通信网络103、网关104和路由器106连接到数据中心100内的元素。本领域的普通技术人员将明白,该网络配置是可能并入本公开的实施方案的许多可能的配置中的一个。网络服务110可提供各种API,API提供与数据库116的操作相关的功能。在一些情况下,API可用作建立在更复杂的数据库界面或协议上的轻量级包装程序。例如,所描绘的API 111可能通过使用秉承表述性状态转移(“REST”)原则的界面提供对数据库116的查询功能的访问。然后,终端用户应用102可使用相当简单的REST语义来调用API 111,以查询关键值数据库,而无需理解数据库116的技术细节。网络服务110和数据库116可在多种平台上进行操作,诸如一个或多个计算机、虚拟机或其它形式的计算服务,这些可统称为计算节点。这些节点本文档来自技高网...

【技术保护点】
一种用于优先化数据库管理系统的容量消耗的系统,所述系统包括:一个或多个计算节点,其被配置来操作所述数据库管理系统;以及一个或多个存储器,其上存储有计算机可读指令,所述计算机可读指令在被执行时促使所述系统至少:接收请求以在所述数据库管理系统上执行操作,所述请求包括指示请求类别的信息、将代表客户执行的所述操作;从包括多个令牌桶的一个或多个数据结构中选择第一令牌桶,所述选择至少部分基于所述请求类别,所述第一令牌桶具有相关联的第一容量指示符;确定所述第一容量指示符指示代表所述客户执行所述操作的容量;执行所述操作;以及至少部分基于执行所述操作所利用的容量而更新所述第一容量指示符。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:大卫·克莱格·扬纳塞克比昂·帕特里克·斯威夫特肖维基兰库玛·曼尼斯旺米莱迪米格·玛斯卡伦汉斯·菲利佩卢毅军
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:美国;US

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

1