提供单租户和多租户环境的数据库系统技术方案

技术编号:12347133 阅读:76 留言:0更新日期:2015-11-18 19:20
数据库服务可以提供可以代表客户端维护表的多租户和单租户环境。所述服务(或基本系统)可以在任一种或两种类型的环境中创建数据库实例和表(例如,默认地或根据在创建所述实例或表的请求中所指定的各种参数值)。在接收和服务针对托管在单租户环境中的表的请求时,所述系统可以省略将在服务针对托管在多租户环境中的表的请求时执行的认证或计量操作中的至少一些。表可以由所述系统自动地(例如,根据观测的、预期的或所需的吞吐量)或响应于从客户端这样做(例如,增加吞吐量或降低成本)的显式请求而从单租户环境被移动到多租户环境,或反之亦然。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
—些领先的技术组织正投资于出售“软件即服务”的建设技术。此类服务向客户端或订户提供对共享存储(例如,数据库系统)和/或计算资源的访问。在多层电子商务系统内,可以将不同的资源分配给订户和/或来自整个机器的订户应用、CPU、存储器、网络带宽和I/o能力。客户端应用与数据库服务器之间的交互通常包括读取操作(只读查询)、写入操作(用来存储数据)和可以使用读取-修改-写入的工作流进行概念化的更新操作。实施多租户环境的数据库服务通常跨多个存储节点对数据进行分区,并且并置代表不同的客户一起维护(例如,在相同的存储节点上和/或在相同的数据库实例中)的表。实施单租户环境的数据库服务使其代表不同的客户端维护的表彼此隔离(例如,在不同的存储节点上和/或在不同的数据库实例中维护这些表)。【附图说明】图1是图示用于在多租户环境和单租户环境中创建数据库实例和数据库表的方法的一个实施方案的流程图。图2是图示将各种基于Web的服务提供给客户端的系统的一个实施方案的方框图。图3是图示被配置成实施基于Web服务的数据存储服务的系统架构的一个实施方案的方框图。图4A至图4C是图示根据一个实施方案的Web服务平台的各种组件的方框图。图5是图示根据一个实施方案的将各种基于Web的服务提供给客户端的系统的子系统的方框图。图6是图示用于在提供多租户环境中的数据库实例和单租户环境中的数据库实例的系统中创建表的方法的一个实施方案的流程图。图7是图示用于在单租户环境中的数据库实例中创建和访问表的方法的一个实施方案的流程图。图8是图示方法的一个实施方案的流程图,其用于图示在多租户环境中的数据库实例中创建和访问表的方法的一个实施方案。图9是图示用于在多租户环境中创建表并且将其移动到单租户环境的方法的一个实施方案的流程图。图10是图示用于在单租户环境中创建表并且将其移动到多租户环境的方法的一个实施方案的流程图。图11图示计算机系统的一个实施方案,其实施用于在多租户和单租户环境中提供数据库服务的本文中描述的技术中的一个或多个。尽管本文描述的技术容许各种修改和替代形式,但是其具体实施方案在附图中通过示例示出并且将在本文中详细地加以描述。然而,应理解附图和其详细描述并不旨在将本公开限于所公开的特定形式,而是相反,其意图是覆盖落在由所附权利要求书定义的本公开的精神和范围内的所有修改、等效物和替代物。【具体实施方式】如上所述,实施多租户环境的数据库服务通常将跨多个存储节点对数据进行分区,并且并置代表不同的客户一起维护(例如,在相同的存储节点上和/或在相同的数据库实例中)的表。多租户数据库服务通常将处理安全、服务质量合规、服务水平协议施行、月艮务请求计量和/或针对不同的客户端共同托管的表的其他表管理活动。这种多租户模型倾向于至少总体上减少客户的数据库服务的成本。然而,如果客户端想要在非常大规模使用的情况下(例如,在客户端需要每秒100万读取和/或每秒100万写入的吞吐量的情况下)接收数据库服务,则单租户模型可能比多租户环境对客户端更符合成本效益。例如,包括支持多租户和提供系统中的安全、合规/施行和/或计量操作所需的功能性可能会限制(例如,减少)系统可能能够为个别存储节点实现的吞吐量的数量。在一些实施方案中,将数据库服务提供给客户端的计算系统可以提供可以代表客户端创建、维护和/或管理表的多租户和单租户环境两者。如本文更详细描述的,数据库服务(或基本计算系统)可以在这些类型的环境的任一个或两个中创建数据库实例和表(例如,默认地或根据在创建实例或表的请求中所指定的各种参数值)。在一些实施方案中,在接收和服务针对托管在单租户环境中的表的请求时,系统可以省略将在服务针对托管在多租户环境中的表的请求时执行的管理操作中的至少一些(例如,一些认证和/或计量操作)。例如,由于实施单租户环境的数据库服务可以使其代表不同的客户端维护的表彼此隔离(例如,在不同的存储节点上和/或在不同的数据库实例中维护这些表),所以可能不需要一些或所有这些操作以便安全和有效地管理表以及为针对表的请求服务。如本文更详细描述的,在一些实施方案中,表可以由系统自动地(例如,根据观测的、预期的或所需的吞吐量)或响应于从客户端这样做(例如,以便增加吞吐量或降低成本)的显式请求而从单租户环境被移动到多租户环境,或反之亦然。在一些实施方案中,数据库服务可以为客户端(其可以包括客户端应用、用户和/或数据库服务订户)提供能力来提供单租户环境中的一个或多个数据库实例并且创建那些实例中的多个表,以及提供多租户环境中的一个或多个数据库实例(并且创建那些实例中的表)。基本系统可以使用不同的基本数据库类型来创建不同类型的环境的那些数据库实例,而针对在两种类型的环境中创建的表向客户端暴露相同的功能性和/或接口。例如,在一个实施方案中,在多租户环境中创建的数据库实例可以实施为非关系数据库,而在单租户环境中创建的数据库实例可以实施为关系数据库,但用于与这些数据库实例和/或托管在其中的表进行交互的应用编程接口和/或图形用户接口可能会向客户端暴露相同的功能性。在一些实施方案中,客户端对于托管在任一个环境中的数据库实例中的表可能会经历相同的可预测性和可扩展性(包括例如自动定标)。在图1中通过流程图图示用于在多租户环境和单租户环境中创建数据库实例和数据库表的方法的一个实施方案。如在I1所示,在这个示例中,方法可以包括接收在多租户环境和单租户环境中提供数据库服务的系统中创建数据库实例的请求。在一些实施方案中,请求可以指定环境类型(例如,多租户或单租户)。在其他实施方案中,用于创建请求的数据库实例的环境类型的选择可以基于预先确定的政策,该政策指定在数据库系统中创建的数据库实例的默认或初始选择。如图1中所示,响应于请求,方法可以包括数据库系统(或其模块)创建指定类型的环境中的数据库实例,如在120中。方法还可以包括系统接收创建另一数据库实例的请求,其中这个另一请求指定另一环境类型(例如,多租户或单租户),如在130中。响应于请求,数据库系统(或其模块)可以创建另一类型的环境中的数据库实例,如在140中。在一些实施方案中,方法可以包括数据库系统接收创建指定类型的环境中的表的请求以及创建相应的数据库实例中的表,如在150中。方法可以包括数据库系统接收和服务一个或多个请求,所述请求使用指定环境类型的协议来执行将表作为目标的数据库操作(例如,用于存储和/或检索表中的项目的操作),如在160中。在一些实施方案中,方法可以包括数据库系统接收将创建的表移动到另一类型的环境的请求,并且响应于这个请求,系统可以将表移动到另一类型的环境中的数据库实例,如在170中。随后,方法可以包括系统接收和服务使用另一环境类型的协议来执行将表作为目标的数据库操作的一个或多个额外的请求,如在180中。在一些实施方案中,创建任一个租户环境类型中的数据库实例可以包括创建存储节点的群集(例如,三个存储节点的群集),并且客户端可以能够请求(或以其他方式启动)创建不同类型的多个数据库实例。在一些实施方案中,客户端可以能够创建和访问单租户环境中的多个表(例如,用于执行各种数据库操作),并且系统可以允许客户端根据需要超过服务请求的预先确定的、预期的或协商的吞吐率(例如本文档来自技高网...

【技术保护点】
一种系统,其包括:一个或多个处理器;存储器,其耦合到所述一个或多个处理器;以及一个或多个存储节点;其中所述存储器存储程序指令,所述程序指令在由所述一个或多个处理器执行时使所述一个或多个处理器实施数据库服务,使得将多租户环境和单租户环境中的数据库服务提供给一个或多个数据库服务客户端,其中多租户环境包括将多个客户端的数据库表共同托管在单个数据库实例中的环境,并且其中单租户环境包括将不同的客户端的数据库表托管在不同的数据库实例中的环境;其中所述数据库服务被配置成:从客户端接收创建数据库实例的请求,其中所述请求指定将在多租户环境中创建所述数据库实例;供应所述一个或多个存储节点中的一个或多个以代表所述请求的客户端在多租户环境中创建数据库实例;从客户端接收创建另一数据库实例的请求,其中所述请求指定将在单租户环境中创建另一数据库实例;供应所述一个或多个存储节点中的一个或多个以代表所述请求的客户端在单租户环境中创建数据库实例;从客户端接收创建表的请求,其中所述请求指定将在多租户环境还是单租户环境中的数据库实例中创建所述表;以及在所述指定环境中的数据库实例中创建表。

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

【专利技术属性】
技术研发人员:S·斯瓦苏布拉玛尼恩S·斯泰法尼
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国;US

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

1