我正在开发一个约会网站,我正在考虑使用NoSQL数据库来存储配置文件等。我目前正在研究MongoDB,到目前为止,我感到非常高兴。唯一的担心是我在不同的网站上看到MongoDB不可靠且不好。
我研究了NoSQL的替代方案,发现没有人完全符合我的具体标准:
易于学习和使用。
开箱即用与PHP完全兼容。
快速且记录良好。
您如何看待,我是否正确使用MongoDB或者是浪费时间?
感谢所有关于此事的意见!
答案 0 :(得分:27)
我为我的社交服务创业公司研究了MongoDB,这绝对值得考虑。 MongoDB具有强大的功能集,使其成为RDBMS解决方案的现实和强大的替代品。
其中:
至于文件,没有泛滥,但这是因为这个项目仅在2009年开始;很快就会有更多。但是,您可以开始使用您的项目。除此之外,您还可以查看Kyle Banker的MongoDB in Action资源。
最后,我在MongoDB之前只有RDMBS的经验,不知道javascript或json,但仍然发现它非常简单和优雅。
答案 1 :(得分:8)
在MongoDB and CouchDB - Fit for Production?
上考虑这个相关问题MongoDB has a showcase of Production Deployments也是如此。一定要分析MongoDB的用途,而不是公司的大小。
答案 2 :(得分:7)
任何软件都可靠或不可靠。 MongoDB具有副本集,可为您提供硬件故障转移功能。您可以定期进行备份,这可以为您提供恢复间隔,并且您可以获得分片,这可以为您提供一些冗余,特别是与副本集结合使用时。
问题不在于技术是否可靠,问题在于您是否有适合您所选平台的明确定义的备份和恢复计划。
如果MongoDB满足您的需求,那么您就做出了正确的选择。只需确保调查您可以采取哪些措施来提高可靠性。
答案 3 :(得分:5)
如果它对Foursquare足够好,那么对你来说最有可能。
答案 4 :(得分:4)
我来自RDBMS背景(12年),过去6个月一直在研究NoSQL选项。对于您的场景,MongoDB听起来是个不错的选择。我从那些与MongoDB合作过一段时间的人那里听到的是,你应该遵循这些最佳实践:
这是来自MongoDB LA用户组的最佳实践演讲的video,我觉得很有用
答案 5 :(得分:2)
10gen,MongoDB背后的公司提供官方PHP驱动程序。 正如Jeremiah所说,他们在上一版本(1.6.0)中实现了副本集,并且他们已经调试了它(1.6.1和下一版本在几周内:1.6.2)。
而且,公司和社区的免费支持非常快速有效(“免费”是指Google群组中的问题:http://groups.google.com/group/mongodb-user?pli=1)
答案 6 :(得分:2)
嗯,关于可靠性的另一点:
答案 7 :(得分:2)
这取决于您需要的可靠性。 Mongo读取非常可靠 - 它具有强大的可用性和分片功能。
OTOH,Mongo写的不可靠。虽然大多数都通过,但永远不能保证更新成功与否,您必须手动查询数据库以检查它是否成功。因此,当您拥有更多读取而非绝对需要成功的写入时,最好使用Mongo。
答案 8 :(得分:0)
MongoDB将是一个不错的选择。我们评估并开始将MongoDB用于我们的业务用例。 MongoDB为我们提供了比Oracle更好的性能,而且它也很容易横向扩展。