在无共享分布式数据库中快速检测和修复故障的系统和方法与流程

文档序号:35014174发布日期:2023-08-04 06:21阅读:29来源:国知局
在无共享分布式数据库中快速检测和修复故障的系统和方法与流程

本发明涉及存储系统,并且更具体而言,涉及无共享数据库系统(shared-nothingdatabase system)。


背景技术:

1、在多处理系统上运行的数据库通常分为两类:共享持久存储数据库和无共享数据库。共享持久存储数据库预期计算机系统中的所有持久存储设备对所有处理节点都是可见的。因此,共享持久存储数据库系统中的协调器进程可以将任何工作颗粒(work granule)指派给任何节点上的进程,而不管包含在该工作颗粒执行期间将被访问的数据的持久存储装置的位置。共享持久存储数据库可以在无共享和共享持久存储计算机系统两者上运行。为了在无共享计算机系统上运行共享持久存储数据库,可以向操作系统添加软件支持,或者可以提供附加的硬件以允许进程直接访问远程持久存储设备。

2、无共享数据库假设只有当数据被包含在与进程属于同一节点的持久存储装置中时,该进程才能访问该数据。因此,只有在要在工作颗粒中处理的数据驻留在与进程相同的节点中的持久存储装置中的情况下,无共享数据库中的协调器进程才能将工作颗粒指派给该进程。无共享数据库可以在共享持久存储装置和无共享多处理系统两者上运行。为了在共享持久存储机器上运行无共享数据库,可以提供一种机制来对数据库进行逻辑分区,并将每个分区的所有权指派给特定节点。

3、基于前述,显然期望提供一种对无共享数据库系统的哪个节点能够处理工作的限制较少的无共享数据库系统。例如,当任务正在读取存储在数据库系统中的特定数据项的特定版本时,期望提供如下无共享数据库系统,其中有多个节点能够执行该任务。能够执行同一任务的节点的数量越大,工作负载就越容易在可用节点之间平衡。此外,期望执行读取操作的节点能够读取截至指定的快照时间的数据。为了进一步提高性能,期望在不获得锁的情况下执行读取操作,并且即使在读取尚未提交的事务所触及的数据项时也不阻塞。

4、本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应仅由于将本部分中所述的任何方法包括在本部分中而认为本方法中的任何方法都有资格作为现有技术。另外,不应当假设本节中描述的任何方法仅仅因为它们被包括在本节中就已被充分理解、是例行或常规的。


技术实现思路



技术特征:

1.一种方法,包括:

2.如权利要求1所述的方法,还包括:

3.如权利要求1所述的方法,其中,监视所述计数器包括确定所述计数器是否正在改变。

4.如权利要求1所述的方法,其中,所述多个主机中的每个主机通过至少两个不同的网络连接到所述多个主机中的每个其他主机。

5.如权利要求1所述的方法,还包括:

6.如权利要求5所述的方法,其中:

7.如权利要求6所述的方法,还包括:

8.如权利要求6所述的方法,其中,在所述多个控制实例内,控制实例通过与其它控制实例交换心跳来监视其它控制实例的健康状况。

9.如权利要求6所述的方法,其中:

10.如权利要求1所述的方法,其中,每个邻居监视器通过使用rdma读取操作读取其一个或多个指定的邻居主机的计数器来确定由其一个或多个指定的邻居主机维护的计数器是否正在递增。

11.如权利要求1所述的方法,还包括:

12.如权利要求5所述的方法,其中:

13.如权利要求12所述的方法,其中,响应于被通知所述特定引擎实例不健康,所述控制实例向所有幸存的引擎实例发送通知以向所有幸存的引擎实例通知所述特定引擎实例从所述引擎实例集群被排除。

14.如权利要求5所述的方法,其中:

15.一种或多种存储指令的非暂态计算机可读介质,所述指令在由一个或多个计算设备执行时,使得执行如权利要求1-14中的任一项所述的方法。

16.一种系统,包括:


技术总结
提供了一种无共享数据库系统,其中每个表的行被指派给“切片”,并且每个切片的多个副本(“复本”)跨多个节点的持久存储装置存储。从表的特定行读取数据的请求可以由存储该行所指派到的切片的复本的任何节点处置。对于每个切片,切片的单个复本被指定为“主复本”。所有DML操作都由具有目标行所指派到的切片的主复本的节点执行。然后将改变传播到同一切片的其它复本(“二级复本”)。

技术研发人员:W·H·小布里奇,D·布罗尔,M·许,B·克洛茨,N·J·S·迈克诺顿,A·米拉瓦拉普,U·潘查克沙拉雅,G·F·斯沃特,T·拉希里,J·R·洛埃扎
受保护的技术使用者:甲骨文国际公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1