0

注意:我做了一些重新格式化并添加了一些附加信息。

请看一下这个:Question_Answer

我想问 - 对于 DSE 5.0 以及今年在 C* 峰会上提到的 5.1 和 5.2 即将发生的变化,相同的建议是否有用?

我们的用例是:

该平台必须始终可用。(Cassandra)
数据必须是可搜索的。(SOLR / Lucene)
平台必须提供分析 / 数据仓库 / BI 等 (Graph / Spark)

多亏了 DSE,所有这些都可以在单一产品中实现!谢谢DataStax!

但是我们存储的数据量和交易数量非常少。
我们的规范是针对应用程序中的 100 个并发会话——当然,这甚至不能转化为 100 个并发 DB 请求/操作。

在大多数情况下,我们的应用程序类似于日常企业 CRUD 应用程序。

虽然并不荒谬,但 AWS 实例并不是完全免费的。
为每个工作负载拥有一个单独的集群(具有足够的复制以实现持续可用性)对我们来说将是一个成本问题。

虽然我理解,概念证明可以提供一些帮助——但没有真正的工作负载/真正的用户——通过服务/应用程序——只有“生产”系统和流氓用户才能真正提供洞察力。你能做的最好的就是“加载”功能测试。

简而言之,从平台的角度来看,我们有点卡在这里。

最初,我们考虑拥有:

2 个用于地理隔离的数据中心
每个 DC
2 个机架 每个 Rack
RF 2 个节点 3
CL of local_quorum

如果我们发现遇到性能问题,我们可以横向扩展 - 添加一个额外的机架或最初的 2 个机架的额外节点。

至于 V 节点或令牌数量,我们不知道。

DSE 搜索的文档说 V-nodes 增加了 30% 的开销,所以听起来你不应该使用 V-nodes,但是在文档中的一个表中它还说使用 16 或 32。它怎么可能两者兼而有之?

如果我们可以在单个节点上成功运行所有工作负载(我们的要求真的很低),我们是使用 V 节点(16 或 32)运行还是运行单个令牌?

最后,还有其他选择吗?
您可以在同一个数据中心拥有具有不同工作负载的节点吗?单个节点在哪里设置了特定工作负载的 RAM / CPU 要求?

假设我们每个数据中心有 4 个节点(仅作为起点 - 我们不知道您是否可以在单个节点上成功运行 Search / 或在单个节点上运行 Spark)

节点 1:仅 Cassandra
节点 2:Cassandra 和 Search
节点 3:Cassandra 和 Graph
节点 4:Cassandra 和 Spark

如果 Search 需要 64GB RAM - 就这样吧……但只有 Cassandra 的节点可以使用 8 或 16个。

所以我们可以满足每个工作负载类型的 CPU 和内存方面 - 但仍然只有一个 DC。(我们将有 2 个用于冗余 - 但实际上它是单个 DC 安装:镜像)

提前感谢您的帮助。

4

1 回答 1

1

Vnodes 为搜索解决方案的分散收集部分增加了额外的开销。在某些基准测试中,这一比例高达 30%。由于动态扩展的好处,一些客户愿意承受这种开销并希望使用 vnode。

如果您拥有或正在计划一个小型集群 - 并且不需要动态扩展它 - 那么我肯定会建议坚持使用单个令牌。这种方法的隐藏好处是,您的维修速度也会稍快一些。这有助于搜索,因为您正在阅读相当于 CL.ONE 的内容。

可以在同一个 DC(搜索、分析和现在的图表)上运行所有功能,但您会发现开销增加。您将需要具有更多内存和 cpu 资源的更大节点来应对处理负载。我可能会从 128 Gb 的内存开始,然后从那里开始。我想如果你的负载真的很轻,你可能会少花钱。与您打算运行的所有规模的基准测试一样,这是关键。

顺便说一句,我并不完全清楚您对 RF 的意图。你有点暗示2个节点和RF = 3。我猜这只是措辞,但如果不是 - 值得注意的是,您至少需要与 RF 一样多的节点以获得最佳覆盖范围!

于 2016-10-06T07:56:20.477 回答