elasticsearch,Hadoop,elasticsearch" /> elasticsearch,Hadoop,elasticsearch" />

Hadoop 使用elasticsearch作为中央数据存储库

Hadoop 使用elasticsearch作为中央数据存储库,hadoop,elasticsearch,Hadoop,elasticsearch,我们目前正在使用elasticsearch对大约1000万个文档进行索引和搜索。它工作得很好,我们对它的性能很满意。发起使用elasticsearch的同事确信,它可以用作中央数据存储库,其他数据系统(如SQL Server、Hadoop/Hive)可以将数据推送到它们。我没有任何反对的理由,因为我对这两方面的知识都太有限了。不过,我很担心 我知道elasticsearch中的数据是以一种对文本搜索有效的方式存储的。Hadoop存储数据的方式与文件系统一样,但可以高效地在多个数据节点上扩展/复制

我们目前正在使用elasticsearch对大约1000万个文档进行索引和搜索。它工作得很好,我们对它的性能很满意。发起使用elasticsearch的同事确信,它可以用作中央数据存储库,其他数据系统(如SQL Server、Hadoop/Hive)可以将数据推送到它们。我没有任何反对的理由,因为我对这两方面的知识都太有限了。不过,我很担心

我知道elasticsearch中的数据是以一种对文本搜索有效的方式存储的。Hadoop存储数据的方式与文件系统一样,但可以高效地在多个数据节点上扩展/复制块。因此,在我看来,使用Hadoop(因为它对数据的看法更不可知)作为中央数据存储库似乎更有益。然后将数据从Hadoop推送到SQL、elasticsearch等

我已经阅读了一些关于Hadoop和elasticsearch用例的文章,使用Hadoop作为中央数据存储库似乎很传统。然而,我找不到任何证据表明elasticsearch不是一个合适的替代方案


请帮忙

与所有数据库部署一样,它实际上取决于您的特定应用程序

Elasticsearch是一个伟大的开源搜索引擎,构建在ApacheLucene之上。它的特性和升级使得它基本上可以像一个无模式的JSON数据存储一样工作,可以使用特定于搜索的方法和常规的数据库CRUD命令来访问它

尽管Elasticsearch带来了诸多优势,但仍存在一些主要劣势:

  • 安全性-Elasticsearch不提供任何身份验证或访问控制功能。这是支持,因为他们已经

  • 事务-不支持数据操作上的事务或处理。现在,数据操作是通过logstash处理的

  • 耐用性-ES是分布式的,相当稳定,但备份和耐用性不如其他数据存储中的优先级高

  • 工具的成熟度-ES仍然相对较新,没有时间开发成熟的客户端库和第三方工具,这会使开发更加困难。我们可以认为现在已经相当成熟了。 周围有各种各样的连接器和工具,如kibana。但它仍然不适用于大型计算——用于搜索数据的命令不适用于数据库端的“大型”数据扫描和高级计算

  • 数据可用性-ES以“近实时”的方式提供数据,这可能需要应用程序中的其他注意事项(即:用户添加新评论的评论页面,刷新页面可能不会实际显示新帖子,因为索引仍在更新)

如果您能够处理这些问题,那么当然没有理由不使用Elasticsearch作为主要数据存储。它实际上可以通过不必复制数据来降低复杂性和提高性能,但这取决于您的特定用例

和往常一样,权衡好处,做一些实验,看看什么最适合你


免责声明:这个答案是不久前为Elasticsearch 1.x系列编写的。这些评论家仍然以某种方式支持2.x系列。但是Elastic正在开发它们,因为2.x系列提供了更成熟的工具、API和插件,每个示例都有安全方面的,甚至像Logstash或之类的传输客户端。

我强烈建议大多数用户不要使用elasticsearch作为主数据存储。在您的集群由于网络分区而崩溃之前,它将非常有效。即使是ES pros始终设置的最小主节点等设置也无法保存您。请参阅Aphyr的优秀分析和他的Call Me Maybe系列:

eliasah是对的,这取决于您的用例,但如果您的数据(和工作)对您很重要,请远离

将数据的黄金记录保存在真正专注于持久化的东西中,并从那里同步数据进行搜索。它增加了额外的复杂性和资源,但会带来更好的夜间休息:)


有很多方法可以做到这一点,如果elasticsearch做了您所需要的一切,您可以研究Kafka,将所有事件持久化到一个集群中,这样在出现问题时可以重播。我喜欢这种方法,因为它为elasticsearch提供了一个异步摄取管道,该管道也执行持久性

你是说你想把Elasticsearch用作数据仓库?这就是目的所在。我真的不希望这种情况发生,因为elasticsearch只是一个企业级lucene索引。Hadoop更合适。我只是想得到SO社区的一些同意,也许还有更多的原因,在提出我的担忧之前,againI读过一次,但我发现您是信息来源,现在不建议使用elasticsearch作为数据仓库,但在您做出决定之前,我给了您一些需要考虑的要点感谢您的详细回答。