问题标签 [consistent-hashing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
971 浏览

algorithm - 在 PostgreSQL 的一致哈希解决方案中重新平衡虚拟节点的算法?

我正在使用 PostgreSQL 9.3,并且我已经使用 plproxy 实现了与虚拟节点的一致散列。

在当前设置中,节点之间的节点添加和重新平衡正在工作(服务器之间的数据移动是使用PostgrelSQL 外部数据包装器完成的)。

但是有一个限制。在当前设置中,所有物理节点都被假定为相等。即添加节点时,无法为每个服务器提供虚拟节点计数。我也想建立这种行为。

所以我在问什么是更好的算法来实现这个。目前的算法只是在服务器之间平均分配服务器的虚拟节点容量。在新算法中,我希望看到虚拟节点移动的最小量。

前任:

假设我们有 4 个服务器的集群,每个服务器有 64 个虚拟节点(总共 256 个虚拟节点)。我想添加具有 200 个(或一定百分比的虚拟节点)虚拟节点的服务器(服务器 X),以便每 4 台服务器对这个新服务器做出同等贡献,从而在一定程度上满足其虚拟节点数。

但是当添加新节点(即服务器 X )时,我不想为该服务器分配所有 200 个节点。我需要一种算法来从现有服务器中分配一些百分比,以便在一定程度上满足新服务器的 200 个节点的需求,并且以前的 4 个服务器不会大量丢失虚拟节点数。

在物理服务器之间划分虚拟节点的更好策略是什么?

0 投票
0 回答
249 浏览

akka - 使用 Akka 集群的 Amazon Dynamo Like 数据库

我正在尝试使用 Akka 构建类似 Dynamo 的数据库

此处的 Akka 集群规范中给出了提示http://doc.akka.io/docs/akka/2.0/cluster/cluster.html

在此处输入图像描述

如何实现读写副本?

我已经实现了单系统数据代理,并且 repo 在这里https://github.com/pamu/AkkaDynoDB

0 投票
1 回答
164 浏览

database - 任何人都可以帮助提供有关散列的教程吗?

最近我读了一些关于散列技术的论文。散列似乎无处不在。

在计算机科学中,哈希表通常被用作一种高效的查找数据结构。

在加密中,散列是在诸如 md5 散列、sha 散列等技术中。

在数据库区。散列是在数据库中建立表的键。

在机器学习中,散列是为高效处理和经济存储创建短散列码,例如局部敏感散列、min-hash、sim-hash、散列技巧等。

这些应用程序在散列方面的相同点和不同点是什么?你能帮忙提供一些关于这些散列的读物或参考吗?尤其是它们之间的差异。我对这些散列技术感到困惑。

0 投票
2 回答
987 浏览

java - How do you use consistent hashing with the java elasticache libs?

Im trying to use elasticache as a memcache service with AWS's elasticache client library for java.

The following code works for connecting to the cluster:

But any attempt I've made to use consistent hashing results in memcache client failing to initialize:

or

Any attempt I've made to use anything but a vanilla MemcacheClient results in errors such as :

2015-04-07 07:00:32.914 WARN net.spy.memcached.ConfigurationPoller: The configuration is null in the server localhost 2015-04-07 07:00:32.914 WARN net.spy.memcached.ConfigurationPoller: Number of consecutive poller errors is 7. Number of minutes since the last successful polling is 0

Also, I've verified with telnet, spymecached libs, and the vanilla MemcacheClient constructor, that the security groups are permissive.

0 投票
1 回答
628 浏览

algorithm - 一致散列和锥形散列有什么区别?

我所知道的是:

  • 一致性哈希:统一的分布式存储系统
  • 锥形哈希:非均匀分布式存储系统

我想知道:

  • 这个怎么运作?
  • 它有什么用?
  • 这两种散列有什么区别?

我无法理解这两者之间的区别。请有人帮我解决这个问题!

0 投票
2 回答
1578 浏览

scala - 来自 Scala 和 Guava 的 Murmur3 的不同结果

我正在尝试使用 Murmur3 算法生成哈希。哈希是一致的,但它们是 Scala 和 Guava 返回的不同值。

为什么我得到不同的哈希值?

0 投票
2 回答
2905 浏览

cassandra - 如何确保一致的哈希有效?

我将在一堆节点上实现一致的散列。每个节点的容量都是有限的(比如说 1GB)。我从一个节点开始,当它变满时,我将添加另一个节点并使用一致的散列来重新分配数据并通过添加新节点继续前进。但是,仍然有可能节点已满。我知道一些 nosql 数据库,例如 cassandra 使用一致的散列来做类似于我正在做的事情。如何使用一致的哈希避免节点溢出?

0 投票
1 回答
571 浏览

php - PHP memcached 模块中的一致性哈希如何工作?

尽管我在互联网上进行了很多搜索,但我无法回答一些关于 memcached 的问题。

  1. PHP 的 memcached 模块使用的一致性哈希算法是什么?
  2. 它的设置是什么(即在环上添加服务器多少次?)
  3. 一致性哈希数组(连续环)是缓存在某处,还是在每次脚本执行时重新计算?如果是后者,这会导致性能问题/计算能力的浪费吗?

谢谢

0 投票
1 回答
457 浏览

algorithm - 是否有支持密钥零重映射的一致哈希算法?

我理解经典的一致缓存算法,在添加/删除节点时,必须将一些键重新映射到不同的节点。如果我放宽一些要求,是否有一种算法完全不支持重新映射?

在我的应用程序中,我想逐步将键分配给节点:

  1. 一旦一个键被分配给一个节点,它就会永远留在那里。

  2. 节点被添加但不被移除。一个节点在添加后永远不会关闭 - 假设一个复制/备份机制在工作。

  3. 密钥不需要在节点之间均匀分布。尽力而为:当添加一个新节点时,分配给它的新键比旧节点多。

    这种情况有算法吗?

0 投票
1 回答
42 浏览

html - 将环添加到一致的散列圈以表示数据

我正在实现一致的散列,因此绘制了一个带有扇区的圆圈,如Circle Demo所示。扇区代表节点。

我的圈子所在的 HTML 是:

现在我想在圆的圆周上添加一些点(小环)来显示属于特定节点的键值对。

我正在为我的圈子唱 HTML5。

添加 data(key value pair my circle) 后,圆的边界上应该有一些环(或任何其他表示),如所需的圆输出

如何在 HTML5 中实现这一点?蒂亚:)