Answers:
坦白地说,大多数NoSQL数据库都不太适合大数据应用程序。对于绝大多数的大数据应用,表现MongoDB的相比,就像一个关系型数据库的MySQL是显著是够可怜的认股权证从类似的MongoDB完全避而远之。
随着中说,有一对夫妇NoSQL数据库的真正有用的特性,在您的青睐肯定的工作,当你的工作与大型数据集,但这些好处outweighing的NoSQL的普遍表现不佳的机会相比,SQL为只读密集型操作(与典型的大数据用例最相似)很低。
就个人而言,如果您正在为数据科学应用程序挑选一个后端,我建议您也检查一下诸如Neo4j之类的图形数据库,这些数据库对于某些类型的查询显示出非常好的性能。
json
是完全结构化的数据。从技术上讲,您可以使用NOSQL数据库对它进行任何类型的数据分析,而实际上并不相关。有一些工具建立在 mongo 之上,例如analytica。
无模式NoSQL方法的一个好处是您不会过早提交,并且可以使用诸如Apache Drill的适当工具在查询时应用正确的模式。有关详细信息,请参见此演示文稿。在大数据环境中,MySQL并不是我的首选。
考虑,尝试甚至使用多个数据库。在这里,这不仅仅是一个“性能”问题。这真的要取决于您的要求。您正在谈论多少数据?什么样的数据?您需要多快?您是沉重阅读还是沉重写作?
这是您在SQL数据库中无法做的一件事:计算情感。http://www.slideshare.net/shift8/mongodb-machine-learning
当然,在这种情况下,速度可能还不够快,无法满足您的需求,但这是可能的。通过缓存特定的合计值,甚至可以接受。你为什么要这样做?方便。
便利确实是您要说服的。这就是(在我看来)创建NoSQL数据库的原因。当然也有性能,但是我试图打折基准并更多地关注其他问题。
MongoDB(和其他一些NoSQL)数据库具有一些非常强大的功能,例如内置的map / reduce。与使用Hadoop这样的方法相比,这可以节省成本和时间。或者它可以提供原型或MVP来启动更大的业务。
图数据库呢?他们也是“ NoSQL”。查看类似OrientDB的数据库。如果您想争论性能...我认为您不会告诉我那里有更快的SQL数据库=)...并且图数据库根据您的需要有一些非常出色的应用程序。
技术规则(和互联网)对一件事情不太满意。您将受到限制并为失败做好准备。