MongoDB适合OLTP或数据仓库操作吗?

4

mongo db适合用于OLTP或DW操作吗?

在OLTP操作中,mongodb的响应时间和效率如何?将mongodb用作Web应用程序后端是否安全?

在mongodb本身中,我们可以进行MapReduce操作。那么使用hadoop集成器的必要性是什么?

我想知道mongo db作为BIG DW系统的替代品有多强大?


2
这个问题太宽泛了,无法回答。无论MongoDB是否适合特定项目都取决于确切的项目要求,即使知道这些要求,这仍然是一个高度主观的问题。 - Philipp
2个回答

4

我正在使用MongoDB进行在线事务处理操作,目前每秒有100多个操作,并且MongoDB可以处理更多。在理想情况下,您可以期望每秒数万次的操作,但在实践中很难达到这个数字。

响应时间确实取决于您的复制/写入首选项,因为MongoDB让您控制查询执行(请参见CAP定理)。我不知道您所说的“效率”是什么意思,我可以说insert操作已经足够高效了(不要使用update进行OLTP)。

我没有使用过MongoDB的安全选项,因为我的所有Web应用程序都可以完全访问数据库,而我关闭了面向公众的REST API。

不要在大型数据集上使用MongoDB的MapReduce,你必须相信我:)这很痛苦!我发现聚合框架适用于具有大量数据集(GB级别)的大量操作。如果这不是您的情况,请尝试使用Hadoop上的MapReduce实现,我没有这样的经验,但总是想尝试。

作为一种选择,您可以考虑使用Hadoop的HDFS作为主存储,并使用类似于messagepack的二进制格式。我听说过这样的解决方案。

我认为MongoDB中的WiredTiger与MessagePack有相似之处。您的团队是否仍在使用MongoDb进行OLTP?您遇到了任何限制吗?我正在研究MongoDB用于OLTP,希望能从任何使用过它的人那里得到反馈。谢谢。 - Lance

2
今天,由于需要易于扩展、动态数据库的需求越来越大,NoSQL数据库变得越来越受欢迎,特别是当您处理立方体和海量数据时。如果您需要大规模运行,关系型数据库无法跟上摄入率。关系型数据库不是为今天的Web/移动/IOT应用程序而构建的。
回答您的问题:对于BI解决方案,最常用的数据库类型是面向SQL的。然而,这并不意味着不能使用NoSQL。主要区别在于它们最初设计的原因,完美完整的BI解决方案将是根据各自的特定目的同时使用两者。
然而,缺少针对NoSQL数据仓库的方法。由于支持并行和分布式计算框架,MapReduce可用于提高创建NoSQL数据仓库的性能。
我邀请您查看我们自己的解决方案-Databasel。它被设计为NoSQL的商业智能(支持MongoDB)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接