如何解决提取到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无法进行哈希联接,而其他关系数据库则可以)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。