Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 一致哈希中的不可用节点_Database_Nosql_Distributed Computing_Consistent Hashing - Fatal编程技术网

Database 一致哈希中的不可用节点

Database 一致哈希中的不可用节点,database,nosql,distributed-computing,consistent-hashing,Database,Nosql,Distributed Computing,Consistent Hashing,从我读到的所有内容来看,在一致散列中,如果某个节点崩溃,该节点处理的密钥将重新映射到散列环中的相邻节点。这在概念上对我来说是有意义的 我不明白的是,对于分布式数据库,这在实践中是如何工作的。如果节点崩溃,如何将数据移动到另一个节点?它是否假定存在可用的备份/备用群集?或者它可以从中复制的冗余节点?是。从群集中的其他节点复制数据。如果不复制数据,则无法恢复数据 一致散列为我们提供了一个分配密钥的节点。如何识别在其上复制密钥的其他节点 答案是复制策略建立在一致散列的基础上。首先,使用一致散列来识别密

从我读到的所有内容来看,在一致散列中,如果某个节点崩溃,该节点处理的密钥将重新映射到散列环中的相邻节点。这在概念上对我来说是有意义的


我不明白的是,对于分布式数据库,这在实践中是如何工作的。如果节点崩溃,如何将数据移动到另一个节点?它是否假定存在可用的备份/备用群集?或者它可以从中复制的冗余节点?

是。从群集中的其他节点复制数据。如果不复制数据,则无法恢复数据

一致散列为我们提供了一个分配密钥的节点。如何识别在其上复制密钥的其他节点


答案是复制策略建立在一致散列的基础上。首先,使用一致散列来识别密钥所属的节点。其次,系统使用另一种算法复制数据。其中一种策略是,系统将数据写入到一致哈希环中的下一个节点(顺时针方向)。例如,您可以找到其他一些复制策略。

谢谢,这很有意义。