一致散列是分布式系统中用于在多个节点上均衡分布数据的一种技术,它可以在节点添加或移除时将数据移动最小化,使得需要可伸缩性和断层容恕性的NoSQL数据库成为理想.

理解一致的仇恨

一致的散列指定每个数据项和每个节点在散列环上的位置。数据存储在最接近数据散列值的节点上。当添加或删除节点时,只需要重新分配一小部分数据。

一致增长计算

核心计算涉及使用统一的散列函数的散列节点标识符和数据密钥。环上的位置决定了数据的位置。当一个新的节点加入时,它接管了环中某一部分的责任,只重新分配该部分内的数据。

在 NoSQL 数据库中的应用程序

许多 NoSQL 数据库都执行一致的散列以提高可扩展性和可用性。例如卡桑德拉、迪纳摩DB和里亚克。这些系统使用这一技术来均衡地分发数据,并优雅地处理节点故障。

  • 分布式数据存储
  • 装入平衡
  • 过失容忍度
  • 可缩放性