【问题标题】:Extract to MongoDB for analysis提取到 MongoDB 进行分析
【发布时间】:2011-05-31 21:52:41
【问题描述】:

我有一个关系数据库,其中包含大约 3 亿客户及其从多个角度 (360) 的属性。 为了执行一些分析,我打算对 MongoDB 进行提取,以便获得更适合应用数据挖掘技术的“平面”表示。 这有意义吗?为什么?

谢谢!

【问题讨论】:

    标签: mongodb analytics data-mining


    【解决方案1】:

    没有。

    这里关注的不是存储,而是您的扁平化策略。

    如何以及在何处存储扁平化数据是次要问题,注意 MongoDB 是一个文档数据库,无论如何都不是扁平化的。

    一旦您的数据具有适合您的分析的形状,那么,看看存储策略,MongoDB 可能是合适的,或者您可能会发现允许简单 Map Reduce 类型功能的东西更适合分析... (以 HBase 为例)

    【讨论】:

      【解决方案2】:

      可能有意义。您可以做的一件事是在水平横向扩展设置中设置 MongoDB。然后使用正确的数据结构,您可以跨分片并行运行查询(它可以自动为您完成):

      http://www.mongodb.org/display/DOCS/Sharding

      这可以使实时分析成为可能,否则就不可能。

      如果您选择正确的数据模型,则可以通过避免任何类型的连接来加快查询速度(在水平范围内同样适用)。

      最后,您还可以在数据上使用 map/reduce 做很多事情。

      http://www.mongodb.org/display/DOCS/MapReduce

      需要注意的一点是,没有什么能像 MongoDB AFAIK 的 SQL 报告服务一样。

      【讨论】:

        【解决方案3】:

        我发现 MongoDB 的 mapreduce 很慢(但是他们正在努力改进它,请参见此处:http://www.dbms2.com/2011/04/04/the-mongodb-story/)。

        也许您可以使用 Infobright 的社区版进行分析?见这里:http://www.infobright.com/Community/

        像 Postgresql 这样的关系数据库也可以进行分析(afaik MySQL 不能进行哈希连接,但其他关系数据库可以)。

        【讨论】:

          猜你喜欢
          • 2013-03-18
          • 2014-06-13
          • 2018-08-25
          • 2019-08-22
          • 2014-08-18
          • 2015-03-10
          • 1970-01-01
          • 1970-01-01
          • 2019-06-20
          相关资源
          最近更新 更多