CN102804183B - 在持续工作负荷下的数据重新组织 - Google Patents
在持续工作负荷下的数据重新组织 Download PDFInfo
- Publication number
- CN102804183B CN102804183B CN201180014116.5A CN201180014116A CN102804183B CN 102804183 B CN102804183 B CN 102804183B CN 201180014116 A CN201180014116 A CN 201180014116A CN 102804183 B CN102804183 B CN 102804183B
- Authority
- CN
- China
- Prior art keywords
- copy
- subregion
- logical data
- data library
- library unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了通过划分(拆分)或重新组合(合并)逻辑数据库来自动(例如,动态地)重新组织(重新分割)现有分区的能力的体系架构。可对属于同一顾客的逻辑数据库并且基于在这些数据库中的表的分割来执行这一重新组织。这可不仅包括拆分分区的次级副本或合并分区的次级副本,也包括拆分分区的次级副本以创建新分区以及将两个分区合并成一个分区。此外,这些操作可在逻辑数据库正接受工作负荷时(在线)发生。
Description
背景技术
提供数据库功能作为一项服务(称为“软件作为服务”)要求在物理数据库内实现多重租赁。多重租赁数据可被托管以提供经由不同应用的从例如隔离的至共享的不同等级的访问。因此,在隔离环境中,租户彼此在逻辑数据库中被隔离。随着逻辑数据库大小的增长,或者工作负荷模式的改变,这一理想数字会改变。因此,优化每个物理服务器的逻辑数据库的数量和大小变得令人期望。
发明内容
下面提供了简化的发明内容,以便提供对此处所描述的一些新颖实施例的基本理解。本概述不是广泛的概览,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更具体实施例的序言。
所公开的体系架构提供了通过划分(拆分)或重新组合(合并)现有逻辑数据库来自动(例如,动态地)重新组织(重新分割)现有逻辑数据库的能力。可对属于同一顾客的逻辑数据库并且基于在这些数据库中的表的分割来执行这一重新组织。这可不仅包括拆分分区或合并分区,还包括分割分区的次级副本来创建新分区。此外,这些操作可在逻辑数据库正接受工作负荷(在线)时发生。
为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其它优点和新颖特征将变得显而易见。
附图说明
图1示出根据所公开的体系结构的计算机实现的数据库管理***。
图2示出数据库管理***的可替换实施例,其中更详细地示出分区和分区副本。
图3示出逻辑数据库单元中所做的修改可被复制到其它逻辑数据库单元的不同方式的图示。
图4示出根据所公开的体系结构的合并操作的图示。
图5示出基于对数据库性能的负面影响将第一分区分割成多个子分区的***。
图6示出了根据所公开的体系结构的计算机实现的数据库管理方法。
图7示出图6的方法的其它方面。
图8示出了根据本公开的体系结构的用于在持续工作负荷下重新组织经分割的数据的计算***的框图。
具体实施方式
本公开的体系结构为分布式数据库中的复制提供了拆分和合并功能。这一功能动态地划分或重新组合数据库的逻辑数据库单元(例如,属于同一顾客的单元)这甚至可在逻辑数据库单元正接受工作负荷(也称为在线数据)时进行。
该体系结构还适用于使用这些数据库中的表的分区的数据库***。分区可被视为一种在事务处理上一致的模式和数据单元,一种能够在分布式数据库***中向外扩大的单元。分区可包括主副本和零个或多个次级副本(分区的复制品)。主副本接收数据修改并随后向次级副本发送(例如,同时地)该修改。由于硬件和/或软件故障,副本通常位于多个机器上以保护数据。
分区包括数据库中的表。表包括具有在所有表中都有相同名称的一列,并且表是根据列来分割的。该列被称为分割密钥。每个分区包含水平的一部分表,其由分割密钥的值的范围所定义。所有的写是针对主副本执行的;还可任选地针对次级副本来执行读。
每个分区具有一个主副本和多个次级副本。写是针对主副本执行的。读也可任选地针对次级副本执行。当改变正由数据库***的关系引擎所执行时,所有针对索引所执行的改变都被捕获。模式和数据都被复制。这保证了在各副本之间不可能会有模式失配,因为所有的改变遵循相同的复制协议并且总是发生在主副本上。
改变随后被异步地发送至多个次级副本。这不会阻止主副本进一步取得进展,直到达到提交事务的时刻。在一个实现中,可在副本中使用法定数量***(quorumsystem)。在这一情景中,从次级副本获取法定数量(一半+1)的确认。仅仅等待法定数量的确认消除了一些副本和提交所存在的瞬时减速,即使一些副本正故障但却未接收到故障通知。最慢次级副本和主副本之间的最大增量也可被控制,这确保了故障恢复期间的可管理的追赶时间。
在法定数量的次级副本发送确认之后,由事务所保持的锁定被释放,并且向数据库***客户机确认事务提交。如果法定数量的副本没有确认,则客户机连接被中止并且事务的结果未被定义,直到故障恢复完成。
故障恢复***确保只要法定数量的副本可用,事务就会被保留。值得注意的是,与分布式事务***(也称为双阶段提交***)相反,这是单阶段提交。值得注意的是,与传统异步复制的主要区别在于在任何时间点容许故障恢复而无数据丢失的能力,其中当处于异步数据库复制***中时,数据丢失的量没有被定义,因为主副本和次级副本彼此可任意地不同。
为了从故障中恢复,提出了CSN(提交序列号)概念,其中CSN是一个(时间点(epoch),序号)元组,被用于唯一地标识***中被提交的事务。使用相同的CSN顺序来对主副本和次级副本作出改变。CSN被记录在数据库***事务日志中并且在数据库***崩溃恢复期间被恢复。CSN允许副本在故障恢复期间被比较。在新的主副本的可能的候选之中,具有最高CSN的副本被挑选。这确保所有已向数据库***客户机确认过的事务已被保留,只要法定数量个副本是可用的。时间点组件在每次故障恢复发生时增加,并且被用于消除在故障期间正进行中的事务(否则将会分配重复的事务提交序号)。
在一次故障之后,副本可尝试从当前的主副本追赶。用于在这一过程中起到协助的机制包括存储器中的追赶队列、使用数据库***事务日志作为可持久的存储的持久保存追赶队列、以及副本拷贝。
追赶和拷贝算法是在线的,即当次级副本正被追赶或拷贝时,主副本既可接受读请求也可接受写请求。追赶算法(基于追赶期间次级副本所提供的CSN)标识对次级副本来说未知的第一事务并且从该处重新进行改变。
在其中追赶算法不太有效的受限制的示例中(例如,从一个故障点之后有太多改变,通过提交没有被其它副本所提交的事务而导致的副本分歧),拷贝算法可被用来追赶次级副本,并且其具有以下特性:拷贝算法是在线的,其通过使拷贝在两个数据流即拷贝扫描流和在线改变流中运行来支持;两个流使用主副本处的锁定来同步;拷贝操作是安全的,因为其不会破坏次级分区的事务一致性,直到拷贝成功完成;以及拷贝操作不具有追赶阶段并且被确保在拷贝扫描一结束后就完成。
无论是在追赶还是拷贝期间,次级副本都运行在“幂等模式”中,“幂等模式”被定义为:如果没有行就***行(或创建模式实体);如果行存在则更新行(或修改模式实体);并且如果行存在则删除行(或丢弃模式实体)。由于在追赶期间,可能具有已在次级副本上提交过的重叠事务,所以采用幂等模式。幂等模式允许忽略已在次级副本应用的改变的能力。另外,在拷贝期间,拷贝流可能发送仅作为部分在线流而创建的行或模式实体。在线流也可能尝试更新或删除还未被拷贝的行。
所公开的体系结构捕捉针对索引所执行的所有数据修改,因为这些修改是由数据库***的引擎(例如,关系引擎)在主副本处执行的。这些修改随后被异步地发送至次级副本。
现在将参考附图,全部附图中相同的附图标记用于指代相同的元素。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出根据所公开的体系结构的计算机实现的数据库管理***100。总的来说,***100包括重新组织组件108,其作为既使用拆分功能也使用合并功能的复制组件112的一部分。拆分功能允许添加一个或多个次级副本的分区,同与父分区相关联的密钥范围相比,次级副本包含较小部分的分区密钥范围。这些副本被称为“经过滤的”,并且仅对落在对应的较小的分区密钥范围内的表格行应用修改。合并功能执行相反的操作,使得多个(例如,两个)主副本发送修改至跨两个分区密钥范围的单个次级副本。
当经过滤的次级副本被添加到分区时,存在其中复制机制能确保次级副本接收到其需要的所有修改的方法。这些方法包括追赶和拷贝。
追赶将所有发生在分区上的修改从主副本发送至次级副本。在这种情况下,次级副本过滤出对应相关的修改。拷贝不查看修改,而是从主副本上的表格中读取(扫描)并将当前数据发送给次级副本。在这种情况下,主副本上的表格扫描可被限制为仅针对与经过滤的次级副本有关的行。
为了支持这一特性,***100可包括通过参数104定义的、并且由提供在线数据的逻辑数据库单元(记为逻辑数据库1-N)组成106的分布式数据库(例如,关系数据库)102。***100还可包括重新组织组件108,其监视与性能限制有关的参数104并且对数据库组成106执行动态调整,以响应于影响数据库性能的改变来创建逻辑数据库单元的新的组成110(记为逻辑数据库1-S)。换句话说,基于性能参数,数据库被动态调节以增加或减少数据库组成中的逻辑数据库单元的数量。
在重新组织组件108执行调整期间,逻辑数据库单元在线地操作(可在任何时间访问的数据)以提供持续的对数据的访问。重新组织组件108可响应于对数据库性能的不利影响将一个逻辑数据库单元拆分成两个逻辑数据库单元。两个逻辑数据库单元对所接收的修改进行过滤以仅允许相关修改供复制。逻辑数据库单元是副本的分区的副本,其接收修改以经由复制追赶操作来复制数据。逻辑数据库单元是副本的分区的副本,其接收修改以经由复制拷贝操作来复制数据,复制拷贝操作仅扫描与该副本有关的源副本表。
重新组织组件108还可将多个逻辑数据库单元合并成单个逻辑数据库单元,以减少与独立管理多个逻辑数据库单元相关联的开销成本。多个逻辑数据库单元可以是被合并成单个逻辑数据库单元中的修改所来自的不同分区的主副本,该单个逻辑数据库单元是次级副本。最终,这一次级副本成为新的合并分区的主副本。
图2示出数据库管理***200的可替换实施例,其中更详细地示出分区和分区副本。***200包括由参数204定义的、并且由提供数据的副本(记为主副本和次级副本1-N)组成206的分布式数据库202。副本的组成206在线地操作以提供对数据的持续访问。重新组织组件108监视例如与性能限制有关的参数204,并且响应于影响数据库性能的改变来执行对副本的数据库组成206的动态调整以创建新的副本组成208(记为主副本和次级副本1-S)。
重新组织组件108可响应于对数据库性能的不利影响将副本拆分成更小的副本。更小的数据库各自对从主副本接收的数据修改进行过滤以仅允许相关的修改。从该拆分所得到的副本(子)能经由复制追赶操作或复制拷贝操作来接收数据修改。重新组织组件108还可将多个副本合并成单个副本,以减少以其他方式与独立管理多个逻辑数据库单元相关联的开销成本,其中多个副本是被合并成单个副本的修改所来自的不同分区的主副本。
分布式数据库202可以是分布式关系数据库,其包括主副本和分布在多个服务器机器上的一个或多个次级副本。重新组织组件108可根据对数据库性能的影响通过增加或减少次级副本的数量来动态地调整组成206。
图3示出逻辑数据库单元中所做的修改可被复制到其它逻辑数据库单元的不同方式的图示300。此处,逻辑数据库单元是以下副本:主副本302、第一次级副本304、第二次级副本306、以及第二次级副本308。主副本302具有分区密钥范围[A-B),其中左方括号“[”代表这组分区密钥范围A-B的封闭端,而右圆括号“)”代表这组分区密钥范围A-B的开放端。
在第一示例中,对主副本302所做的所有修改被发送给第一次级副本304。第一次级副本304未经过滤,使得发送的所有修改都被复制到第一次级副本304。
第二次级副本306使用过滤器310,该过滤器310过滤来自主副本302的与范围[A-C)中的分区密钥相关联的所有修改。如所示出的,密钥范围[A-C)是较大范围[A-B)的子范围,记为(A<C<B)。因此,对于从主副本302发送给第二次级副本306的修改来说,只有那些与分区密钥范围[A-B),更具体来说是子范围[A-C)内所标识的分区表条目相关联的修改被复制到第二次级副本306。值得注意的是,对第二次级副本506的复制经由追赶方法来实现。如之前所指出的,追赶方法将发生在分区上的所有修改从主副本发送给次级副本,而次级副本过滤出对应相关的修改。值得注意的是,在所有情况下,过滤器可以是执行过滤功能的一组表达式。
第三次级副本308通过拷贝来使用过滤,这仅发生在主副本表处。回忆起拷贝不查看修改,而是读取(扫描)主副本上的表格并将当前数据修改发送给次级副本。主副本302上的表格扫描可被限制为仅针对与经过滤的次级副本有关的行。再次,如所描绘的,密钥范围[A-C)是较大范围[A-B)的子范围,记为(A<C<B)。因此,对于从主副本302发送给第三次级副本308的修改来说,只有那些与分区密钥范围[A-B),更具体来说是子范围[A-C)内所标识的主副本302中的分区表条目相关联的修改被复制到第三次级副本308。
图4示出根据所公开的体系结构的合并操作的图示400。此处,主副本402的修改被合并成单个次级副本。例如,主副本402可包括在分区密钥范围[C-D)中具有修改的第一分区的第一主副本404和在分区密钥范围[E-F)中具有修改的第二分区的第二主副本406。合并功能被应用于将来自主副本402的修改合并成分区密钥范围[A-B)的单个次级副本408,其中C、D、E以及F位于范围[A-B)内。
以下是可在外部接口中使用的用于初始化拆分和合并的示例语法。拆分命令语法可以是:
Splitpartition<appName>,<tablegroupName>,<low>,<high>,<split-point>[,<split-point>…]
一种实现可允许仅单个拆分点,而另一实现可允许多个拆分点。
合并命令语法可以是:
Mergepartition<appName>,<tablegroupName>,<new-low>,<new-high>
这创建了一个具有<new-low>至<new-high>范围的合并的分区并且包括该范围内的所有现有分区。<new-low>或者与现有分区中的<low>相匹配或者处于未分配的范围中。<new-high>或者与现有分区中的<high>相匹配或者处于未分配的范围中。
图5示出基于对数据库性能的不利影响将第一分区502(逻辑数据库单元)拆分成子分区504(逻辑数据库单元)的***500。这一功能可发生在分区级以减少例如臃肿的分区的大小。考虑第一分区502包括主分区506和三个次级分区508。第一分区502的大小已增长到已对数据库和/或机器性能产生不利影响。也可以是这种情况:被监视的数据库和/或机器的参数现在违反管理数据库和/或机器***的性能的一个或多个正在实施的策略。
在任意情况下,重新组织组件108监视并将第一分区502的副本组成(506和508)动态地调整成两个子分区:第二分区510和第三分区512。第二分区510被创建为如今包括第二主副本514和次级副本516(以及可任选地其它次级物)。第三分区512被创建为如今包括第三主副本518和次级副本(520和522)。
分区(510和512)可根据需要被重新安置到不同机器,或都保留在同一机器上,因为资源如今可独立分配给分区(520和522)。可对拆分副本应用如此处所描述的过滤。
重新组织组件还可应用合并操作来合并分区,使得在根据策略针对被监视的参数进行管理时,合并不会对数据库/***性能产生不利影响,或甚至有可能改进性能。类似于此处所描述的副本合并来执行合并。
以下是对拆分和合并功能的附加描述。分区拆分和合并被用于管理分区大小。当分区对于单个服务器机器或例如基于某些其它的基于策略的限制来说变得过大时,分区可被拆分成一个或多个其它子分区,使得新数据可仍旧被添加到该分区。相反,当分区大小由于例如数据删除变小时,独立地管理和查询分区的开销成本变大。因此,合并分区是有用的以便例如减少总的开销或出于其它有益的目的。
在逻辑数据库单元作为分区的上下文中,分区拆分和合并可被模型化为副本创建和分区重新配置的组合。首先,构建一个或多个目标副本并随后进行重新配置以解除激活源分区并激活目标分区。在拆分的情况下,目标分区是拆分(或子)分区,而源分区是当前分区。对于合并,目标分区是组合的经合并的分区,而源分区是当前的各个分区。
当重新组织组件将一个分区拆分成两个或更多子分区时,分区拆分开始。子分区被创建并被标记为依赖于父分区。在常规处理期间,根据父分区为子分区创建副本。一旦每个子分区具有足够的副本,分区被重新配置以解除激活父分区并激活子分区。这一过程使父分区被解除激活并且不再是主。此时子分区变成独立分区。父分区被丢弃。
当提供了待合并的分区的列表时,分区合并开始。经合并的分区被创建,而当前分区被标记为依赖于经合并的分区。在常规处理期间,根据当前的各个分区为经合并的分区创建副本。一旦经合并的分区具有足够的副本,分区被重新配置以解除激活原始分区并激活经合并的分区。这一过程使原始分区未激活并且不再是主。经合并的分区变为活跃且作为主。原始分区被丢弃。
拆分和合并设计是相似的,并且可被概括为单个组合的设计。拆分/合并以创建依赖于彼此的各个分区开始。在常规处理期间,基于现有分区为新创建的分区创建副本。一旦新创建的分区具有足够的副本,该分区被重新配置以解除激活原始分区并激活新创建的分区。这一过程使原始分区未激活并且不再是主。此时新创建的分区是独立分区。原始分区最终被丢弃。
分区合并和拆分的这一实现包括依赖分区、跨分区复制、以及超级配置的概念。依赖分区是对彼此具有依赖性且不能被独立处理的分区。这违背了当前实现,在当前实现中各个分区是独立处理的。使用归属分区链接来指示分区之间的依赖性链接。这些链接包括分区(或副本)所依赖于的分区的分区id。当处理分区的消息或状态时,即使消息是被派往依赖分区,归属分区也被加载。这允许归属分区能够保持对依赖分区的任何改变的知晓。可检索来自适当分区的决策所需的信息。
对于跨分区复制,对构建和追赶子副本或经合并的副本的需要不再受限于相同分区的副本。对于拆分,复制层处理仅包含主副本的子集的次级副本。如之前所指示的,这些被称为经过滤的次级副本。对于合并,复制层能够处理在单个次级副本处接收来自多个主副本的复制流。
超级配置是包含对于多个分区的分开的配置的配置。配置定义了至少副本意义上的分区修补。对于法定数量的计算(基于主副本和确认接收到发送自主副本的修改的一组子副本来计算法定数量),在超级配置之前的所有独立配置的法定数量被视为已达到法定数量。
通过从现有副本拷贝而不是物理地拆分现有副本来构建拆分期间的子副本(新副本);类似地,对于合并,经合并的副本不是通过缝合两个现有副本来创建的,即使这些副本存在在同一节点(机器)上。
如之前所描述的,分区之间的依赖性可使用归属分区id的概念来指示。这一id标识了当前负责处理给定分区的分区。
依赖分区可被作为单个组来处理。为了便于此,分区对象可以是相互依赖的分区的树,其中根分区管理所有其它分区。由于根分区负责所有分区,当作出抓取分区的请求时,即使请求只是针对依赖分区中的一个,也返回从根开始的整棵树。
处理逻辑可处理对所有相互依赖的分区的处理,以包括处理消息、添加/丢弃副本以及重新配置。处理所需要的具体的值基于根分区、依赖分区或它们的组合的值。
通过从使用与构建相同分区的副本相同的逻辑的原始分区的主副本构建新的(子)分区的副本来创建该新的(子)分区的副本。在拆分的情况下,这意味着将经过滤的次级副本添加到主副本的复制关系中。在合并的情况下,这可涉及将新副本添加到各个原始分区的主副本的复制关系中。
拆分重新配置被拆分成两个阶段。因为拆分重新配置产生多个主副本并且将重新配置的领导者的责任与主副本彼此拆分,所以能够这样做。第一阶段解除激活父分区,并且还确保法定数量的子分区的每一个的初始配置被追赶至父分区。此时子分区被追赶,因为第二阶段的重新配置不再能够访问父分区。这暗示着每个子分区的初始配置是在解除激活重新配置开始前确定的。
初始配置由在拆分早期构建的一组副本中的副本所组成。这一初始配置在解除激活重新配置的激活阶段被传递给各个子分区并因此被持久保存。这一重新配置的主副本是父分区的当前主副本(或者如果当前主副本故障的话,可以是任何其它父分区副本)。一旦重新配置完成,这一主副本停止作为主副本(这一重新配置使得父分区没有主副本)。当解除激活重新配置完成时,子分区随后变成独立分区。
第二阶段激活子分区。此时,为每个子分区启动独立的重新配置并为它们建立激活的主副本。这些重新配置可并行执行。
此处所包括的是一组表示用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流程图形式示出的一个或多个方法被示出并且描述为一系列动作,但是可以理解,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域的技术人员将明白并理解,方法可被替换地表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。
图6示出了根据所公开的体系结构的计算机实现的数据库管理方法。在600,分布式数据库被组织为由逻辑数据库单元(例如,主副本和次级副本)组成的分区。在602,监视与性能限制(软件、服务器机器硬件、小或大尺寸的分区、网络带宽等)相关联的参数,该性能限制影响分布式数据库的性能。在604,响应于数据库性能且在逻辑数据库单元在线时动态地重新组织分区的组成(例如,逻辑数据库单元的数量)。
图7示出图6的方法的其它方面。在700,响应于对数据库性能的不利影响,分区被拆分成逻辑数据库单元的两个新的分区。在702,分区与另一分区合并来创建新分区以改进数据库性能。在704,逻辑数据库单元(其是一个副本)被拆分成新的副本,新的副本被分配给新的分区。在706,逻辑数据库单元(其是副本)被合并成该分区中的新副本或新的分区。在708,从源逻辑数据库单元发送给接收的逻辑数据库单元的修改在源逻辑数据库单元处或在接收的逻辑数据库单元处被过滤作为对修改的复制的一部分。
如在本申请中所使用的,术语“组件”和“***”旨在表示计算机相关的实体,其可以是硬件、软件和有形硬件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、模块、执行的线程和/或程序等软件组件。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。词语“示例性”在此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。
现在参考图8,所示是根据所公开的体系结构的可用于在持续工作负荷之下重新组织经分割的数据的计算***800的框图。为了提供用于其各方面的附加上下文,图8及以下讨论旨在提供对其中可实现各方面的合适的计算***800的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。
用于实现各方面的计算***800包括计算机802,其具有处理单元804、诸如***存储器806等的计算机可读存储、以及***总线808。处理单元804可以是各种市场上可买到的处理器中的任一种,诸如单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其它计算机***配置来实施,包括小型机、大型计算机、以及个人计算机(例如,台式、膝上型等)、手持式计算设备、基于微处理器的或可编程的消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。
***存储器806可包括计算机可读存储,如易失性(VOL)存储器810(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)812(如ROM、EPROM、EEPROM等)。基本输入/输出***(BIOS)可被存储在非易失性存储器812中,并且包括诸如在启动期间便于在计算机802内的组件之间传递数据和信号的基本例程。易失性存储器810还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
***总线808提供了用于包括,但不限于***存储器806的***组件到处理单元804的接口。***总线808可以是若干种总线结构中的任一种,这些总线结构还可使用各类可购买到的总线架构中的任一种互连到存储器总线(带有或没有存储器控制器)以及***总线(例如,PCI、PCIe、AGP、LPC等)。
计算机802还包括机器可读存储子***814以及用于将存储子***814对接到***总线808和其他所需计算机组件的存储接口816。存储子***814可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)中的一个或多个。存储接口816可包括诸如,例如EIDE、ATA、SATA和IEEE1394等接口技术。
一个或多个程序和数据可被存储在存储器子***806、机器可读和可移动存储器子***818(例如,闪存驱动器形状因子技术)和/或存储子***814(例如,光、磁、固态)中,这些程序和数据包括操作***820、一个或多个应用程序822、其他程序模块824以及程序数据826。
一个或多个应用程序822、其他程序模块824以及程序数据826可包括例如图1的***100的实体和组件、图2的***200的实体和组件、图3的图示300的实体和流程、图4的图示400的实体和流程、图5的***500的实体和组件、以及图6和7的流程图所表示的方法。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作***820、应用822、模块824和/或数据826的全部或部分也可被高速缓存在诸如易失性存储器810等存储器中。应该明白,所公开的体系结构可以用各种市场上可购得的操作***或操作***的组合(例如,作为虚拟机)来实施。
存储子***814和存储器子***(806和818)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。存储子***814和存储器子***(806和818)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。指令可以存在于非瞬态介质。这些指令当由计算机或其他机器执行时,可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或者可跨多个介质存储,使得指令共同出现在一个或多个计算机可读存储介质上,而不管所有指令是否都在同一介质上。
计算机可读介质可以是可由计算机802访问的任何可用介质,且包括可移动和不可移动的易失性和非易失性、内部和/或外部介质。对于计算机802,介质容纳以任何合适的数字格式对数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所披露的体系结构的新颖方法的计算机可执行指令。
用户可以使用诸如键盘和鼠标等外部用户输入设备828来与计算机802、程序和数据交互。其他外部用户输入设备828可包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、照相机识别***、指示笔、触摸屏、姿势***(例如,眼移动、头移动等)和/或类似物。在计算机802是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备830来与计算机802、程序和数据交互。这些和其它输入设备通过输入/输出(I/O)设备接口832经由***总线804连接到处理单元808,但也可通过其它接口连接,如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等。I/O设备接口832也便于输出***设备834的使用,如打印机、音频设备、摄像设备等,如声卡和/或板载音频处理能力。
一个或多个图形接口836(通常也称为图形处理单元(GPU))提供计算机802和外部显示器838(例如,LCD、等离子)和/或板载显示器840(例如,对于便携式计算机)之间的图形和视频信号。图形接口836也可作为计算机***板的一部分来制造。
计算机802可以使用经由有线/无线通信子***842到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机802描述的许多或所有元件。逻辑连接可包括到局域网(LAN)、广域网(WAN)热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在联网环境中使用时,计算机802经由有线/无线通信子***842(例如,网络接口适配器、板载收发机子***等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备844等通信。计算机802可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机802的程序和数据可被存储在远程存储器/存储设备中,如与分布式***相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机802可用于使用诸如IEEE802.xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE802.11空中调制技术)中的无线设备。这至少包括对于热点的Wi-Fi(或无线保真)、WiMax,以及BluetoothTM无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、g等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE802.3相关的介质和功能)。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在详细描述或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
Claims (12)
1.一种计算机实现的数据库管理***,具有存储由处理器执行的可执行指令的非瞬态计算机可读介质,包括:
分布式数据库,其由性能参数所定义,并且具有提供在线数据的多个逻辑数据库单元的数据库组成;以及
副本组件的重新组织组件,其监视与性能限制有关的性能参数,并响应于影响数据库性能的改变对所述数据库组成执行动态调整以增加或减少所述数据库组成中的逻辑数据库单元,
其中所述重新组织组件将多个逻辑数据库单元合并成单个逻辑数据库单元,以减少与独立地管理多个逻辑数据库单元相关联的开销成本,所述多个逻辑数据库单元是不同分区的主副本,来自所述不同分区的修改被合并到所述单个逻辑数据库单元中,所述单个逻辑数据库单元是次级副本。
2.如权利要求1所述的***,其特征在于,在由所述重新组织组件所做的调整期间,所述逻辑数据库单元在线操作以提供对数据的持续访问。
3.如权利要求1所述的***,其特征在于,所述重新组织组件响应于对所述数据库性能的不利影响将一个逻辑数据库单元拆分成两个逻辑数据库单元。
4.如权利要求3所述的***,其特征在于,所述两个逻辑数据库单元对所接收的修改进行过滤以仅允许相关改变供复制。
5.如权利要求3所述的***,其特征在于,所述逻辑数据库单元是副本或副本的分区,所述分区或副本经由复制追赶操作来接收对数据的修改。
6.如权利要求3所述的***,其特征在于,所述逻辑数据库单元是副本或副本的分区,所述副本或分区经由复制拷贝操作来接收对数据的修改,所述复制拷贝操作仅扫描与所述副本或所述分区有关的源表。
7.如权利要求1所述的***,其特征在于,所述分布式数据库是分布式关系数据库,其包括主副本和分布在多个服务器机器上的次级副本,所述重新组织组件根据对所述数据库性能的影响通过增加或减少所述次级副本的数量来动态地调整所述组成。
8.一种在处理器和存储器上执行的计算机实现的数据库管理方法,包括:
将分布式数据库组织成由逻辑数据库单元组成的分区;
监视与影响所述分布式数据库的性能的性能限制相关联的参数;以及
响应于数据库性能并且在所述逻辑数据库单元在线时动态地重新组织所述分区的组成,
其中所述动态地重新组织所述分区的组成包括将逻辑数据库单元合并成所述分区中的新副本或新的分区,所述逻辑数据库单元是副本。
9.如权利要求8所述的方法,其特征在于,还包括响应于对所述数据库性能的不利影响将分区拆分成逻辑数据库单元的两个新的分区。
10.如权利要求8所述的方法,其特征在于,还包括将分区与另一分区合并以创建新分区,以改进所述数据库性能。
11.如权利要求8所述的方法,其特征在于,还包括将逻辑数据库单元拆分成新的副本,其中所述逻辑数据库单元是副本,所述新的副本被分配给新的分区。
12.如权利要求8所述的方法,其特征在于,还包括在源逻辑数据库单元处或接收的逻辑数据库单元处对从源逻辑数据库单元发送至接收的逻辑数据库单元的修改进行过滤,作为修改的复制的一部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/723,696 | 2010-03-15 | ||
US12/723,696 US9009112B2 (en) | 2010-03-15 | 2010-03-15 | Reorganization of data under continuous workload |
PCT/US2011/028155 WO2011115841A2 (en) | 2010-03-15 | 2011-03-11 | Reorganization of data under continuous workload |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102804183A CN102804183A (zh) | 2012-11-28 |
CN102804183B true CN102804183B (zh) | 2016-03-09 |
Family
ID=44560884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180014116.5A Active CN102804183B (zh) | 2010-03-15 | 2011-03-11 | 在持续工作负荷下的数据重新组织 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9009112B2 (zh) |
EP (1) | EP2548139A4 (zh) |
CN (1) | CN102804183B (zh) |
WO (1) | WO2011115841A2 (zh) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060476B1 (en) | 2008-07-14 | 2011-11-15 | Quest Software, Inc. | Backup systems and methods for a virtual computing environment |
US8429649B1 (en) | 2008-09-25 | 2013-04-23 | Quest Software, Inc. | Systems and methods for data management in a virtual computing environment |
US8458654B2 (en) * | 2008-10-22 | 2013-06-04 | International Business Machines Corporation | Identifying impact of database changes on an application |
US8996468B1 (en) | 2009-04-17 | 2015-03-31 | Dell Software Inc. | Block status mapping system for reducing virtual machine backup storage |
US9778946B2 (en) | 2009-08-07 | 2017-10-03 | Dell Software Inc. | Optimized copy of virtual machine storage files |
US8782001B2 (en) * | 2010-02-19 | 2014-07-15 | International Business Machines Corporation | Computation of impacted and affected code due to database schema changes |
US10198463B2 (en) * | 2010-04-16 | 2019-02-05 | Salesforce.Com, Inc. | Methods and systems for appending data to large data volumes in a multi-tenant store |
US9569446B1 (en) | 2010-06-08 | 2017-02-14 | Dell Software Inc. | Cataloging system for image-based backup |
US8898114B1 (en) | 2010-08-27 | 2014-11-25 | Dell Software Inc. | Multitier deduplication systems and methods |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10713280B2 (en) | 2010-12-23 | 2020-07-14 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US9740762B2 (en) | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10997211B2 (en) | 2010-12-23 | 2021-05-04 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US8572031B2 (en) | 2010-12-23 | 2013-10-29 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10262050B2 (en) | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US10366100B2 (en) | 2012-07-26 | 2019-07-30 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9805108B2 (en) | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US9881034B2 (en) | 2015-12-15 | 2018-01-30 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US9471593B1 (en) * | 2010-12-30 | 2016-10-18 | Emc Corporation | Method and apparatus for ensuring consistent ordering of writes in a distributed database storage system |
US8965901B2 (en) | 2011-03-01 | 2015-02-24 | Mongodb, Inc. | System and method for determining exact location results using hash encoding of multi-dimensioned data |
US8554726B2 (en) * | 2011-06-01 | 2013-10-08 | Clustrix, Inc. | Systems and methods for reslicing data in a relational database |
US9886312B2 (en) * | 2011-09-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Dynamic provisioning of virtual video memory based on virtual video controller configuration |
US9311375B1 (en) * | 2012-02-07 | 2016-04-12 | Dell Software Inc. | Systems and methods for compacting a virtual machine file |
US8527462B1 (en) | 2012-02-09 | 2013-09-03 | Microsoft Corporation | Database point-in-time restore and as-of query |
US10762011B2 (en) | 2012-04-30 | 2020-09-01 | Hewlett Packard Enterprise Development Lp | Reflective memory bridge for external computing nodes |
EP2845110B1 (en) * | 2012-04-30 | 2018-10-24 | Hewlett-Packard Enterprise Development LP | Reflective memory bridge for external computing nodes |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9083614B2 (en) | 2012-10-15 | 2015-07-14 | Oracle International Corporation | System and method for supporting out-of-order message processing in a distributed data grid |
US9189503B2 (en) * | 2012-12-06 | 2015-11-17 | Microsoft Technology Licensing, Llc | Database scale-out |
US9053166B2 (en) * | 2012-12-10 | 2015-06-09 | Microsoft Technology Licensing, Llc | Dynamically varying the number of database replicas |
US9659080B1 (en) * | 2013-04-29 | 2017-05-23 | Google Inc. | Categorization for constraint-based placement of object replicas in a distributed storage system |
CN103473321A (zh) * | 2013-09-12 | 2013-12-25 | 华为技术有限公司 | 数据库管理方法与*** |
US9418131B1 (en) | 2013-09-24 | 2016-08-16 | Emc Corporation | Synchronization of volumes |
US9378106B1 (en) | 2013-09-26 | 2016-06-28 | Emc Corporation | Hash-based replication |
US10324750B2 (en) | 2013-11-18 | 2019-06-18 | Hitachi, Ltd. | Computer system, computer system management method and program |
US10055440B2 (en) * | 2014-02-24 | 2018-08-21 | Sap Se | Database table re-partitioning using trigger-based capture and replay |
US11093468B1 (en) * | 2014-03-31 | 2021-08-17 | EMC IP Holding Company LLC | Advanced metadata management |
US9342465B1 (en) | 2014-03-31 | 2016-05-17 | Emc Corporation | Encrypting data in a flash-based contents-addressable block device |
US9606870B1 (en) | 2014-03-31 | 2017-03-28 | EMC IP Holding Company LLC | Data reduction techniques in a flash-based key/value cluster storage |
US9396243B1 (en) | 2014-06-27 | 2016-07-19 | Emc Corporation | Hash-based replication using short hash handle and identity bit |
US10025843B1 (en) | 2014-09-24 | 2018-07-17 | EMC IP Holding Company LLC | Adjusting consistency groups during asynchronous replication |
US9304889B1 (en) * | 2014-09-24 | 2016-04-05 | Emc Corporation | Suspending data replication |
US10223437B2 (en) * | 2015-02-27 | 2019-03-05 | Oracle International Corporation | Adaptive data repartitioning and adaptive data replication |
US10713275B2 (en) | 2015-07-02 | 2020-07-14 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US10423626B2 (en) | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10394822B2 (en) | 2015-09-25 | 2019-08-27 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10579618B1 (en) * | 2015-12-15 | 2020-03-03 | Amazon Technologies, Inc. | Query routing and rewriting |
US10152527B1 (en) | 2015-12-28 | 2018-12-11 | EMC IP Holding Company LLC | Increment resynchronization in hash-based replication |
WO2017130377A1 (ja) * | 2016-01-29 | 2017-08-03 | 株式会社日立製作所 | 計算機システム、及び、データ処理方法 |
US10310951B1 (en) | 2016-03-22 | 2019-06-04 | EMC IP Holding Company LLC | Storage system asynchronous data replication cycle trigger with empty cycle detection |
US10324635B1 (en) | 2016-03-22 | 2019-06-18 | EMC IP Holding Company LLC | Adaptive compression for data replication in a storage system |
US10095428B1 (en) | 2016-03-30 | 2018-10-09 | EMC IP Holding Company LLC | Live migration of a tree of replicas in a storage system |
US9959073B1 (en) | 2016-03-30 | 2018-05-01 | EMC IP Holding Company LLC | Detection of host connectivity for data migration in a storage system |
US9959063B1 (en) | 2016-03-30 | 2018-05-01 | EMC IP Holding Company LLC | Parallel migration of multiple consistency groups in a storage system |
US10565058B1 (en) | 2016-03-30 | 2020-02-18 | EMC IP Holding Company LLC | Adaptive hash-based data replication in a storage system |
US10108632B2 (en) * | 2016-05-02 | 2018-10-23 | Google Llc | Splitting and moving ranges in a distributed system |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10621050B2 (en) | 2016-06-27 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
US9983937B1 (en) | 2016-06-29 | 2018-05-29 | EMC IP Holding Company LLC | Smooth restart of storage clusters in a storage system |
US10083067B1 (en) | 2016-06-29 | 2018-09-25 | EMC IP Holding Company LLC | Thread management in a storage system |
US10048874B1 (en) | 2016-06-29 | 2018-08-14 | EMC IP Holding Company LLC | Flow control with a dynamic window in a storage system with latency guarantees |
US10152232B1 (en) | 2016-06-29 | 2018-12-11 | EMC IP Holding Company LLC | Low-impact application-level performance monitoring with minimal and automatically upgradable instrumentation in a storage system |
US10013200B1 (en) | 2016-06-29 | 2018-07-03 | EMC IP Holding Company LLC | Early compression prediction in a storage system with granular block sizes |
US10902015B2 (en) | 2017-01-19 | 2021-01-26 | International Business Machines Corporation | Parallel replication of data table partition |
US10866868B2 (en) | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
US11144518B2 (en) | 2018-11-28 | 2021-10-12 | International Business Machines Corporation | Detecting data mapping relationship within database system and optimizing data operation |
CN109614378A (zh) * | 2018-12-05 | 2019-04-12 | 国网江西省电力有限公司信息通信分公司 | 一种应用于数据库日志分析的解析模型 |
US11243982B2 (en) | 2019-04-10 | 2022-02-08 | International Business Machines Corporation | Immutable partitioning for databases |
US11106698B2 (en) * | 2019-06-11 | 2021-08-31 | Sap Se | Multi-master with ownership transfer |
US11442916B2 (en) | 2020-04-21 | 2022-09-13 | Netapp, Inc. | Flat object storage namespace in an object storage system |
US11714615B2 (en) | 2020-09-18 | 2023-08-01 | International Business Machines Corporation | Application migration using cost-aware code dependency graph |
US20220092049A1 (en) * | 2020-09-24 | 2022-03-24 | International Business Machines Corporation | Workload-driven database reorganization |
US11455219B2 (en) | 2020-10-22 | 2022-09-27 | Oracle International Corporation | High availability and automated recovery in scale-out distributed database system |
US11308066B1 (en) | 2021-02-24 | 2022-04-19 | International Business Machines Corporation | Optimized database partitioning |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035851B1 (en) * | 2001-12-07 | 2006-04-25 | Ncr Corp. | Reorganization of database records using partition merging |
US7269595B1 (en) * | 2003-03-19 | 2007-09-11 | Unisys Corporation | Reducing database reorganization time |
CN101128827A (zh) * | 2005-02-24 | 2008-02-20 | 塞朗德***有限公司 | 用于交换网络中分布式数据管理的方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710915A (en) | 1995-12-21 | 1998-01-20 | Electronic Data Systems Corporation | Method for accelerating access to a database clustered partitioning |
US6223182B1 (en) | 1998-06-30 | 2001-04-24 | Oracle Corporation | Dynamic data organization |
US6609131B1 (en) | 1999-09-27 | 2003-08-19 | Oracle International Corporation | Parallel partition-wise joins |
US6529917B1 (en) * | 2000-08-14 | 2003-03-04 | Divine Technology Ventures | System and method of synchronizing replicated data |
US6931390B1 (en) | 2001-02-27 | 2005-08-16 | Oracle International Corporation | Method and mechanism for database partitioning |
US6970876B2 (en) * | 2001-05-08 | 2005-11-29 | Solid Information Technology | Method and arrangement for the management of database schemas |
US6920460B1 (en) | 2002-05-29 | 2005-07-19 | Oracle International Corporation | Systems and methods for managing partitioned indexes that are created and maintained by user-defined indexing schemes |
US7266561B2 (en) | 2004-03-18 | 2007-09-04 | International Business Machines Corporation | Method and apparatus for splitting and merging request and response data at runtime |
US7319997B1 (en) | 2004-06-07 | 2008-01-15 | Ncr Corp. | Dynamic partition enhanced joining |
US8392400B1 (en) * | 2005-12-29 | 2013-03-05 | Amazon Technologies, Inc. | Method and apparatus for stress management in a searchable data service |
US20070239661A1 (en) * | 2006-03-28 | 2007-10-11 | Sun Microsystems, Inc. | Systems and methods for a distributed in-memory database and distributed cache |
US20070288526A1 (en) * | 2006-06-08 | 2007-12-13 | Emc Corporation | Method and apparatus for processing a database replica |
US8396862B2 (en) | 2007-07-30 | 2013-03-12 | Teradata Us, Inc. | Product join dynamic partition elimination for multilevel partitioning |
US7958088B2 (en) * | 2007-12-14 | 2011-06-07 | Yahoo! Inc. | Dynamic data reorganization to accommodate growth across replicated databases |
US8150802B2 (en) * | 2008-03-24 | 2012-04-03 | Microsoft Corporation | Accumulating star knowledge in replicated data protocol |
US8051032B2 (en) * | 2008-07-31 | 2011-11-01 | Yahoo! Inc. | System and method for loading records into a partitioned database table |
US8055615B2 (en) * | 2009-08-25 | 2011-11-08 | Yahoo! Inc. | Method for efficient storage node replacement |
-
2010
- 2010-03-15 US US12/723,696 patent/US9009112B2/en active Active
-
2011
- 2011-03-11 CN CN201180014116.5A patent/CN102804183B/zh active Active
- 2011-03-11 EP EP11756766.9A patent/EP2548139A4/en not_active Ceased
- 2011-03-11 WO PCT/US2011/028155 patent/WO2011115841A2/en active Application Filing
-
2015
- 2015-03-10 US US14/643,896 patent/US10061830B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035851B1 (en) * | 2001-12-07 | 2006-04-25 | Ncr Corp. | Reorganization of database records using partition merging |
US7269595B1 (en) * | 2003-03-19 | 2007-09-11 | Unisys Corporation | Reducing database reorganization time |
CN101128827A (zh) * | 2005-02-24 | 2008-02-20 | 塞朗德***有限公司 | 用于交换网络中分布式数据管理的方法和装置 |
Non-Patent Citations (1)
Title |
---|
The ClustRa Telecom Database:High Availability,High Throughput, and Real-Time Response;Hvasshoved等;《Proceedings of the 21stInternational Conference on Very Large Databases》;19950930;第472页右栏第4部分至第473页左栏第1段 * |
Also Published As
Publication number | Publication date |
---|---|
US10061830B2 (en) | 2018-08-28 |
US9009112B2 (en) | 2015-04-14 |
EP2548139A4 (en) | 2016-09-21 |
WO2011115841A3 (en) | 2011-12-29 |
US20110225122A1 (en) | 2011-09-15 |
US20150186490A1 (en) | 2015-07-02 |
CN102804183A (zh) | 2012-11-28 |
EP2548139A2 (en) | 2013-01-23 |
WO2011115841A2 (en) | 2011-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102804183B (zh) | 在持续工作负荷下的数据重新组织 | |
AU2016405587B2 (en) | Splitting and moving ranges in a distributed system | |
US9563516B2 (en) | Managing backup operations from a client system to a primary server and secondary server | |
CN103443773B (zh) | 利用多个存储设备减少数据库录入的写延迟的方法和*** | |
US9785691B2 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
US8285824B2 (en) | Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized | |
US9256605B1 (en) | Reading and writing to an unexposed device | |
DE69922065T2 (de) | Namensverwaltung eines hochkonfigurierbaren Mehrknoten-EDV-Systems | |
DE112019002609T5 (de) | Wechseln zwischen Fehlerreaktionsmodellen für ein Speichersystem | |
JP5330503B2 (ja) | ストレージ性能の最適化 | |
US7111192B2 (en) | Method for operating storage system including a main site and a backup | |
DE112020003423T5 (de) | Architektur von virtuellem speichersystem | |
US20050050288A1 (en) | Storage system, method of controlling storage system, and storage device | |
US20090049054A1 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
US20080281959A1 (en) | Managing addition and removal of nodes in a network | |
US20100153346A1 (en) | Data integrity in a database environment through background synchronization | |
US7047379B2 (en) | Autonomic link optimization through elimination of unnecessary transfers | |
CN108228390A (zh) | 数据回档方法及装置 | |
US11449398B2 (en) | Embedded container-based control plane for clustered environment | |
US11119862B2 (en) | Delta information volumes to enable chained replication of data by uploading snapshots of data to cloud | |
EP4250119A1 (en) | Data placement and recovery in the event of partition failures | |
CN116233146A (zh) | 实现跨分布式存储集群的缓存一致性的技术 | |
CN116389233A (zh) | 容器云管理平台主备切换***、方法、装置和计算机设备 | |
JP2005301560A (ja) | クラスタファイルサーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150720 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150720 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |