2

我正在考虑将 AWS 的罐装 Elasticsearch 服务用作单节点集群,以允许在 100MM 小记录(人名和他们的公司等,以及其他属性)的记录集中进行搜索。阅读量很大,每三个月更新一次。

https://aws.amazon.com/elasticsearch-service/

我只想使用一个节点来节省亚马逊成本。

我将继续在 AWS RDS 中掌握我的数据,因此这是我在发生“灾难”时可以从中恢复的地方。

单节点 Elasticsearch 服务器是否可以被认为与单节点​​ MySQL 数据库一样可靠(在总体方案中非常可靠)?

4

1 回答 1

2

在理论上,可靠性可以定义为成功的概率,在其他方面可以定义为1-probability of failure

众所周知,没有任何系统能够以 100% 的可靠性运行,甚至在单点故障(=单节点)的情况下更是如此,即故障概率永远不会为 0,即使对于亚马逊怪物也是如此。因此,根据绝对理论,单个节点是不可靠的

话虽如此,最终可靠性的概念始终是相对的(与上面定义的绝对意义相反),这意味着最终由您决定您认为可靠与否,即您不在乎您的节点在 3 分钟内每天/每周/每月关闭一次,但仍然达到 99.999% 的正常运行时间。

另一个非常具体的问题是,您需要确定单个节点是否可以容纳 100MM 文档,并且仍然可以服务搜索请求、聚合以及您拥有的东西,速度是否足够快,并且仍然对您的用户有益。

要达到的第一个限制通常是堆的数量,它不应该高于 30.5GB。粗略地说,您需要弄清楚您的 100MM 文档是否可以保存在具有 30.5 GB 堆的单个节点中。测试很简单:配置你的 ES 服务,用你的所有文档加载它,并运行一些模拟用户预期负载的负载测试,你会很快发现你是否内存不足以及这个问题的答案最终将是直截了当的。

于 2015-11-01T07:47:48.383 回答