gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 14:15:57 25 4
gpt4 key购买 nike

我们目前正在使用 elasticsearch 对大约 1000 万份文档进行索引和搜索。它运行良好,我们对其性能感到满意。我发起使用 elasticsearch 的同事确信它可以用作中央数据存储库,其他数据系统(例如 SQL Server、Hadoop/Hive)可以将数据推送给它们。我没有任何反对意见,因为我对两者的了解都太有限了。但是,我很担心。

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

我读过几篇关于 Hadoop 和 elasticsearch 用例的文章,使用 Hadoop 作为中央数据存储库似乎很传统。但是,我找不到任何表明 elasticsearch 不是一个不错的选择的东西。

请帮忙!

最佳答案

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

Elasticsearch 是一个构建在 Apache Lucene 之上的优秀开源搜索引擎。它的功能和升级使其基本上可以像无模式的 JSON 数据存储一样运行,可以使用特定于搜索的方法和常规数据库 CRUD 类命令进行访问。

尽管 Elasticsearch 带来了所有优势,但仍有一些主要的缺点:

  • 安全性 - Elasticsearch 不提供任何身份验证或访问控制功能。 它受支持,因为它们具有 introduced shield .

  • 交易 - 不支持交易或数据操作处理。现在数据操作由logstash 处理。

  • 持久性 - ES 是分布式的并且相当稳定,但备份和持久性不像其他数据存储那样具有高优先级。

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

  • 数据可用性 - ES 以“近乎实时”的方式提供数据,这可能需要在您的应用程序中进行额外的考虑(即:用户添加新评论的评论页面,刷新页面可能实际上不会显示新帖子,因为索引仍在更新)。

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

一如既往,权衡利弊,做一些实验,看看什么最适合你。

免责声明:这个答案是不久前为 Elasticsearch 1.x 系列写的。这些批评者仍然以某种方式支持 2.x 系列。但 Elastic 正在研究它们,因为 2.x 系列每个示例都带有更成熟的工具、API 和插件,安全方面,如 Shield甚至像 Logstash 或 Beats 这样的传输客户端等

关于hadoop - 使用 elasticsearch 作为中央数据存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com