提取到MongoDB进行分析

| 我有一个包含约3亿客户及其几个角度的属性的关系数据库(360)。 为了执行一些分析,我打算对MongoDB进行提取,以便具有更适合于应用数据挖掘技术的“扁平”表示。 那有意义吗?为什么? 谢谢!     
已邀请:
        没有。 它不是存储,这里是您关注的问题,它是您的扁平化策略。 要注意的是,如何以及在何处存储扁平化数据是次要的问题,请注意,MongoDB是一个文档数据库,无论如何本质上都不是平面的。 一旦拥有适合您分析的形状的数据,然后看一下存储策略,MongoDB可能会合适,或者您会发现可以轻松使用Map Reduce类型功能的东西更适合分析...(HBase for例)     
        这可能是有道理的。您可以做的一件事是在横向扩展设置中设置MongoDB。然后,使用正确的数据结构,您可以跨碎片并行运行查询(它可以自动为您执行): http://www.mongodb.org/display/DOCS/Sharding 否则,这将使实时分析成为可能。 如果您选择正确的数据模型,则可以避免任何形式的联接(在整个水平范围内都很好),从而加快查询速度。 最后,您还可以对数据进行映射/归约处理。 http://www.mongodb.org/display/DOCS/MapReduce 需要注意的一个警告是,没有像MongoDB AFAIK那样的SQL Reporting Services。     
        我发现MongoDB的mapreduce速度很慢(但是他们正在努力改进它,请参见此处:http://www.dbms2.com/2011/04/04/the-mongodb-story/)。 也许您可以使用Infobright的社区版进行分析?看到这里:http://www.infobright.com/Community/ 诸如Postgresql之类的关系数据库也可以执行分析(afaik MySQL无法进行哈希联接,而其他关系数据库则可以)。     

要回复问题请先登录注册