用于数据库横向扩展的方法及装置制造方法及图纸

技术编号:22185961 阅读:54 留言:0更新日期:2019-09-25 03:35
一种用于横向扩展数据库信息的方法可包括创建第二数据库实例化。该方法可以包括:配置用于转移至第二数据库的第一数据库的一个或多个分区,以及配置第二数据库以供接收一个或多个第一数据库分区。该方法还包括将一个或多个第一数据库分区转移至第二数据库。

Method and Device for Lateral Expansion of Database

【技术实现步骤摘要】
用于数据库横向扩展的方法及装置本申请是申请日为2013年12月2日、申请号为201380063806.9的专利技术专利申请“用于数据库横向扩展的方法及装置”的分案申请。
本申请总体上涉及数据库,更具体地涉及用于数据库横向扩展的方法及装置。
技术介绍
数据库是支持将数据存储为称作表格的逻辑结构的集合的软件系统,每个表格包含具有指定结构的记录。随着单个数据库内应用数目的增长,对于该数据库提供合理的响应时间而言该数据库上的负载可能变得过高。解决这一问题的一种办法是在该数据库内增加更多用于附加的数据的存储。然而,这一解决方案可能增加数据递送时间,从而提供较不期望的最终用户体验。此外,在一些实例中,因为纵向扩展(例如,增加附加的盘空间、RAM、CPU等)具有实践上以及物理上的限制(例如,单个数据库服务器可能仅支持特定量的RAM),故而数据库的横向扩展可能是必要的。
技术实现思路
提供本
技术实现思路
来以简化形式介绍一些概念,这些概念将在以下详细描述部分中进一步描述。本
技术实现思路
并不旨在标识出本专利技术的主题的关键特征或必要特征,也不旨在用于帮助确定本专利技术的主题的范围。提供了诸实施例以启用数据库横向扩展。达到容量的数据库可以被实时地横向扩展以提供附加的数据库并降低单个数据库上的负载。为此,公开了提供数据库内容的向外扩展的方法和系统。第一数据库可能处于或接近容量且服务器组件可被触发以发起数据移动。服务器组件可随后执行用于创建或扩展第二数据库以及将一部分第一数据库数据转移至第二数据库的过程。一实施例包括用于提供数据库内容的向外扩展的方法。该方法可以主要地包括:创建第二数据库的实例化,第二数据库实例化部分地基于第一数据库达到容量;配置用于转移至第二数据库的第一数据库的一个或多个分区;配置第二数据库以接收一个或多个第一数据库分区;以及将一个或多个第一数据库分区转移至第二数据库。还公开了包括当被处理器执行时、提供数据库内容的向外扩展的可执行指令的计算机可读介质。计算机可读介质包括可被处理器执行以进行以下操作的指令:创建第二数据库的实例化,第二数据库实例化部分地基于第一数据库达到容量;配置用于转移至第二数据库的第一数据库的一个或多个分区;配置第二数据库以供接收一个或多个第一数据库分区;以及将一个或多个第一数据库分区转移至第二数据库。还公开了包括当被处理器执行时、提供数据库内容的向外扩展的可执行指令的计算机可读介质。计算机可读介质包括可被处理器执行以进行以下操作的指令:从第一数据库接收警报消息,该警报消息指示第一数据库达到容量;创建第一数据库的第一数据子范围,第一数据子范围具有只读模式;将第二数据库的范围至少扩展至第一数据子范围的范围;在第二数据库上创建第二数据子范围,第二数据子范围具有变化模式,第二数据子范围创建在邻近第一数据子范围的数据库位置处;将与键值相关联的数据转移至所述第二数据库,该键值表示所述第一数据子范围的开始点和结束点;将第二数据子范围的模式改变成只读;将第一数据子范围的模式改变成已删除;移除第二数据库上的第二数据子范围,这将所包含数据的数据模式改变成读写;清除源数据库上的第一数据子范围,这使得源数据库数据范围收缩成排除第一数据子范围;以及删除与键值相关联的第一数据库中的数据。附图说明现在参考附图,在全部附图中,相同的附图标记表示相应的部分:图1示出用于根据本公开一实施例的提供数据库横向扩展的系统的高级架构;图2是示出根据本公开一实施例的用于提供数据库横向扩展的例程的流程图;图3A-3F进一步示出根据本公开一实施例的用于提供数据库横向扩展的例程;图4是示出根据本公开一实施例的用于提供数据库横向扩展的方法的流程图;图5是示出根据本公开一实施例的用于提供数据库横向扩展的方法的流程图;图6是示出根据本公开一实施例的用于提供数据库横向扩展的方法的流程图;以及图7是可在其中实施本专利技术的各实施例的计算系统的简化框图。具体实施方式在下面的详细描述中,将参考构成本专利技术的一部分的附图,在附图中,通过例图,示出了特定实施例或示例。可以将这些方面组合起来,也可以使用其他方面,并且在不偏离本专利技术的精神或范围的情况下,可以进行结构更改。因此,以下详细描述并不旨在限制,并且本专利技术的范围由所附权利要求及其等效方案来限定。提供各实施例以启用针对数据库达到容量的实时数据库横向扩展。公开了提供数据库横向扩展的方法和系统。在本文所述的实施例中,数据库横向扩展系统和方法在对具有快速增长的数据大小和用户基数的系统中的数据的快速访问场景中提供了改进的响应时间。诸方法和诸系统提供了其中任何数据库可被动态划分的可伸缩的横向扩展,这提供了对正在改变中的用户行为的增加的反应时间。数据库横向扩展系统提供针对任何数据库的必要机制以在各个数据库之间执行数据转移操作。本文中的各实施例还提供了针对运行时操作的一组规则,其使得运行时操作能够与各个数据库之间的数据转移操作并行地运行。本文中的各实施例进一步提供了数据状态的数据转移历史,其可以在数据转移期间从已执行的备份来恢复数据库的情况下被用来选择数据恢复应用。现在参考附图,其中类似标号代表类似元素,现在将描述各种解说性实施例。图1示出用于根据一实施例的提供数据库横向扩展的系统100的高级架构。图1中显示的系统仅仅出于说明目的。计算机系统100及其组件包括用于与其他计算设备、通信设备和/或其他系统通信的功能,且并不旨在限于本文中所描述的实施例和示例。如图1所示,计算机系统100包括但不限于与服务器通信的第一数据库102和第二数据库104。第一数据库102和第二数据库104在下文中也可被分别称作源数据库和目标数据库。一般而言,数据库102、104可以被配置成存储相关数据的集合,诸如商业金融交易。在示例性实施例中,第一数据库102和第二数据库104可以被配置成能够用服务技术操作来提供对数据库102、104中所存储的数据的访问以供在工作流、文档等中使用。数据库102、104包括关联结构。关联结构对数据库的用户是透明的,但是对高效操作和数据库管理系统的控制是必要的。关联结构的示例是索引,其一般但非必须地按B树或散列索引的形式。第一数据库102和第二数据库104可以优选是关系数据库,其中的数据被组织在多个具有二维行和列形式的表格中。例如,关系数据库可以尤其包括关系数据库管理系统(RDBMS),其可以是支持数据库特征的控制系统,数据库特征包括但不限于,将数据存储在存储介质上,从存储介质检索数据,以及更新存储介质上的数据。一般而言,存储在关系数据库中的数据通过用户定义的查询来访问,该用户定义的查询由诸如SQL的查询语言构成。一般地,对于任何给定的SQL查询,存在需要在数据上执行的数个过程操作,以便执行SQL查询的对象。例如,存在需要执行的数个联接以及表格扫描从而实现期望的目标。尽管上述实施例描述了一包括利用SQL数据库服务技术的数据库的系统,应当理解本文中所述的各实施例不应被解释为受限于SQL数据库服务技术,并且还可以利用来自其他开发者和/或制造商的其他数据库服务技术。图1中的服务器106可以包括简化的SQL服务器RDMBS架构。如下面更全面描述道,服务器106可以包括数据库横向扩展模块108。根据各实施例,服务器106可以包括各种程序模块和应用本文档来自技高网...

【技术保护点】
1.一种用于为包括第一数据范围的第一数据库提供数据库横向扩展的系统,所述系统包括:至少一个处理器;以及存储器,其耦合到所述至少一个处理器,所述存储器包括计算机可执行指令,当由所述至少一个处理器执行时,所述计算机可执行指令执行包括以下操作的方法:配置第二数据库以供接收一个或多个第一数据库分区,其中,配置所述第二数据库包括:在所述第二数据库上在充分邻近所述第一数据范围的位置处创建第二数据范围,其中所述第二数据范围至少扩展至所述第一数据范围的范围;以及将所述第二数据范围指定为变化的;将所述一个或多个第一数据库分区转移至所述第二数据库;以及生成数据转移历史,所述数据转移历史包括在转移所述一个或多个第一数据库分区时执行的操作。

【技术特征摘要】
2012.12.06 US 13/707,0371.一种用于为包括第一数据范围的第一数据库提供数据库横向扩展的系统,所述系统包括:至少一个处理器;以及存储器,其耦合到所述至少一个处理器,所述存储器包括计算机可执行指令,当由所述至少一个处理器执行时,所述计算机可执行指令执行包括以下操作的方法:配置第二数据库以供接收一个或多个第一数据库分区,其中,配置所述第二数据库包括:在所述第二数据库上在充分邻近所述第一数据范围的位置处创建第二数据范围,其中所述第二数据范围至少扩展至所述第一数据范围的范围;以及将所述第二数据范围指定为变化的;将所述一个或多个第一数据库分区转移至所述第二数据库;以及生成数据转移历史,所述数据转移历史包括在转移所述一个或多个第一数据库分区时执行的操作。2.如权利要求1所述的系统,其中,转移所述一个或多个第一数据库分区包括将与键值相关联的数据转移至所述第二数据库,所述键值表示所述第一数据范围的开始点和结束点。3.如权利要求2所述的系统,其中,转移所述一个或多个第一数据库分区还包括:将所述第一数据范围指定为已删除,并将所述第二数据范围指定为只读。4.如权利要求3所述的系统,还包括:在将所述第一数据范围指定为已删除之后,删除所述第二数据库上的所述第二数据范围,其中,删除所述第二范围将与所述键值相关联的数据指定为读写。5.如权利要求1所述的系统,其中,所述数据转移历史还包括恢复所述第一数据库和所述第二数据库中的至少一个所需的信息。6.如权利要求5所述的系统,还包括:将所述数据转移历史存储在所述第一数据库和所述第二数据库中的至少一个上,并使用所述信息来恢复所述第一数据库和所述第二数据库中的至少一个上的数据。7.如权利要求5所述的系统,其中,所述信息包括至少第三数据范围的位置。8.如权利要求1所述的系统,所述方法还包括在将所述一个或多个第一数据库分区转移至所述第二数据库之后,从所述第一数据库移除所述第一数据范围,其中,从所述第一数据库移除所述第一数据范围不包括从所述第二数据库删除与所述键值相关联的数据。9.一种用于横向扩展存储在包括第一数据范围的第一数据库上的数据库信息的方法,所述方法包括:配置第二数据库以供接收一个或多个第一数据库分区,其中,配置所述第二数据库包括:在所述第二数据库上在充分邻近所述第一数据范围的位置处创建第二数据范围,其中,所述第二数据范围至少扩展至所述第一数据范围的范围;以及将所述第二数据范围指定为变化的;以及将所述一个或多个第一数据库分区转移至所述第二数据库,其中,所述转移服从一个或多个运行时规则。10.如权利要求9所述的方法,还包括:创建第二数据库的实例化;以及配置用于转移至所述第二数据库的、所述第一数据库的一个或多个分区。11.如权利要求10所述的方法,其中,所述第二数据库的所述实例化是响应于在所述第一数据库处接收的消息而创建的,所述消息包括关于所述第一数据库的容量的信息。12.如权利要求9所述的方法,其中,所述数据范围是与开始点和结束点相关联的二进制键值的范围。13.如权利要求9所述的方法,其中,所述一个或多个第一数据库分区包括权重属性,所述权重属性对应于所述一个或多个第一数据库分区中的数据量。14.根据权利要求9所述的方法,其中,为所述第一数据范围分配模式,所述模式指示在所述第一数据范围中的数据的运行时行为。15.如权利要求14所述的方法,其中,所述模式确定所述第一数据范围的数据访问状况。16.如权利要求9所述的方法,其中,所述第一数据库提供包括所述一个或多个第一数据库分区的总计数和总权重的消息。17.如权利要求9所述的方法,还包括:将所述第一数据范围的模式指定为已删除,并且从所述第一数据库删除所述第一数据范围。18.如权利要求9所述的方法,还包括:在将所述一个或多个第一数据库分区转移至所述第二数据库之后,从所述第一数据库移除所述第一数据范围,其中,从所述第一数据库移除所述第一数据范围不包括从所述第二数据库删除与所述键值相关联的数据。19.如权利要求9所述的方法,其中,当所述第二数据范围被指定为变化的时,所述一个或多个运行时规则中的至少一个防止将数据写入到所述第一数据范围。20.一种用于扩展存储在包括第一数据范围的第一数据库上的数据库信息的方法,所述方法包括:配置第二数据库以供接收一个或多个第一数据库分区,其中,配置所述第二数据库包括:在所述第二数据库上在充分邻近所述第一数据范围的位置处创建第二数据范围,其中所述第二数据范围至少扩展至所述第一数据范围的范围;以及将所述第二数据范围指定为变化的;将所述一个或多个第一数据库分区转移至所述第二数据库;生成数据转移历史,所述数据转移历史包括在转移所述一个或多个第一数据库分区时执行的操作;以及将所述数据转移历史存储在所述第一数据库和所述第二数据库中的至少一个上。21.一种用于横向扩展存储在第一数据库上的数据库信息的方法,包括:创建第二数据库的实例化;配置用于转移至所述第二数据库的、所述第一数据库的一个或多个...

【专利技术属性】
技术研发人员:G·吉恩科H·L·瓜达拉玛G·常A·S·沃森
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1