SOLR和VNodes和令牌

时间:2016-10-06 06:28:36

标签: datastax-enterprise datastax-startup

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

请看一下:Question_Answer

我想问一下 - 使用DSE 5.0以及今年在C * Summit上提到的5.1和5.2即将发生的变化,同样的建议会有用吗?

我们的用例是:

平台必须始终可用。 (卡桑德拉)
数据必须是可搜索的。 (SOLR / Lucene)
该平台必须提供分析/数据仓库/ BI等(图形/火花)

由于DSE,所有这一切都可以在单一产品中实现!谢谢DataStax!

但是我们存储的数据量和交易数量非常适中 我们的规范适用于应用程序中的100个并发会话 - 当然甚至不能转换为100个并发数据库请求/操作
在大多数情况下,我们的应用程序类似于日常企业CRUD应用程序
虽然并非荒谬,但AWS实例并非完全免费 为每个工作负载建立一个单独的集群(具有足够的复制以实现持续可用性)将是我们的成本问题
虽然我理解,概念证明可以提供一些帮助 - 但没有真正的工作量/真实用户 - 通过服务/应用程序 - 只有“生产”系统和流氓用户:才能真正提供洞察力。你能做的最好的就是“加载”功能测试
简而言之,从平台的角度来看,我们有点卡在这里
我们最初想的是:
2个地理隔离数据中心
每个DC 2个机架
每个机架2个节点
射频3 local_quorum的CL
如果我们发现我们遇到性能问题,我们可以向外扩展 - 在最初的2个机架中添加额外的机架或额外节点。

至于V节点或令牌数量,我们不知道
DSE Search的文档说V-nodes增加了30%的开销,所以听起来你不应该使用V节点,但是在文档的表格中它也说使用16或32.它们怎么可能同时存在?

如果我们能够在单个节点上成功运行所有工作负载(我们的要求真的很小),我们是运行V节点(16或32)还是运行单个令牌?
最后,还有另一种选择吗? 您是否可以在同一数据中心中拥有具有不同工作负载的节点?单个节点是否针对特定工作负载设置了RAM / CPU要求?
假设每个数据中心有4个节点(仅作为起始位置 - 我们不知道您是否可以在单个节点上成功运行搜索/或在单个节点上运行Spark)
节点1:Just Cassandra
节点2:Cassandra和搜索
节点3:Cassandra和Graph
节点4:Cassandra和Spark

如果搜索需要64GB内存 - 那么就是它......但是只有Cassandra节点可以只使用8或16
因此,我们可以根据每个工作负载类型的CPU和内存来满足 - 但仍然只有一个DC。 (我们将有2个用于冗余 - 但实际上它是单个DC安装:镜像)

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

Vnodes为搜索解决方案的分散 - 聚集部分增加了额外的开销。在一些基准测试中,高达30%。由于动态扩展的好处,一些客户愿意承担这种开销并且想要使用vnodes。

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

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

另外,我并不完全清楚你的意图。你有点意味着2个节点,RF = 3。我猜它只是短语,但如果没有 - 值得注意的是,你想要至少与RF一样多的节点以获得最佳覆盖率!