gpt4 book ai didi

mongodb - 在 MongoDB 或 Hadoop 中存储大日志以进行分析与在文件管理器上压缩文件相比有优势吗?

转载 作者:可可西里 更新时间:2023-11-01 10:44:28 26 4
gpt4 key购买 nike

目前,我们存储了大量文件管理器的日志(30G/天 x3 台机器 = 平均 100G)。日志是压缩的。

搜索日志的实际工具是搜索相应的日志(根据时间范围),将它们复制到本地,解压缩,然后搜索xml以获取信息并显示。

我们正在研究制作类似 spunk 的工具来搜索日志的可能性(它是消息总线的输出:发送到其他系统的 xml 消息)。

依赖类似 mongo 的数据库而不是直接查询压缩日志文件有什么优势?我们还可以在数据库中索引一些数据,并让程序搜索目标 zip 文件...是什么带来了 mongodb 或更多的 hadoop?

最佳答案

我曾从事 MongoDB 工作,目前正在研究 Hadoop,因此我可以列出一些您可能会感兴趣的差异。

  1. MongoDB 需要您将文件存储为文档(而不是原始文本数据)。 HDFS 可以将其存储为文件,并允许您使用自定义 MapReduce 程序来处理它们。
  2. MongoDB 将要求您选择一个好的分片键,以便在集群中有效地分配负载。由于您正在存储日志文件,因此可能会很困难。
  3. 如果您可以将格式化后的日志存储在 MongoDB 中的文档中,那么您就可以在大量日志中以非常低的延迟查询数据。我的上一个项目有基于 MongoDB 的内置日志记录,与原始文本日志的 MapReduce 分析相比,分析速度非常快。但日志记录必须从头开始。
  4. 在 Hadoop 中,您可以使用 Hive、HBase 和 Impala 等技术来帮助您分析文本格式的日志,但需要牢记 MapReduce 的延迟(尽管有一些方法可以优化延迟)。

总结一下:如果您可以在整个堆栈中实现基于 mongoDB 的日志记录,请选择 MongoDB,但如果您已经拥有文本格式的日志,那么请选择 Hadoop。如果您可以将 XML 数据实时转换为 MongoDB 文档,那么您可以获得一个非常有效的解决方案。

关于mongodb - 在 MongoDB 或 Hadoop 中存储大日志以进行分析与在文件管理器上压缩文件相比有优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517806/

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