仅使用单节点(服务器)时elasticSearch还有用吗?

a.k*_*a.k 3 database rdbms sharding nosql elasticsearch

我很好奇,但找不到有关单服务器(节点)elasticsearch 系统的任何资源。我读过有关 NOSQL 及其数据分片的横向扩展优势的内容。如果在一台服务器上运行我的 NOSQL 数据库并在同一台服务器上运行 elasticSearch,elastic 仍然会比替代方案(具有正常查询/lucene 搜索的关系数据库)更快,还是会“失去”作为分布式/集群搜索的优势引擎?

因为我对 NOSQL-search VS 不太感兴趣。SQL 搜索,但更多地涉及 Elastic 的复制/分布式风格及其在单节点集群中使用它的缺点。

谢谢

The*_*ins 7

在单节点集群中运行它不会损失性能 - 事实上它可能会更快。您确实会失去冗余性、可靠性以及在需要时易于扩展的能力。但由于它不再需要将主节点的元数据与集群中的其他节点同步,因此它可能比有两个节点更快……而且 ES 实际上位于 Lucene 之上。当然,使用一个盒子你就会失去复制,因为没有任何东西可以复制!

话虽这么说,您是在寻找 NOSQL 还是文档存储?ES 最初的目的是作为一个内置模糊搜索的文档存储。我知道很多人(包括我们)都将它用作分布式 NOSQL 类型数据库,但如果您不需要 ES 附带的额外功能,则可以使用更快的平台来执行此操作。

最后,您应该考虑 JVM(特别是 GC)如何与此机器上运行的其他服务一起运行。

如果这是一个潜在的生产系统,我会担心。不要在同一个机器上运行大型服务,即使您必须将它们分成两个较小的机器。