Rom*_*man 18 mysql couchdb mongodb cassandra mongodb-.net-driver
现在我正在开发一个Web应用程序的原型,它聚合了来自大量用户的大量文本条目.必须经常显示此数据并经常更新.目前,我将内容存储在MySQL数据库中,并使用NHibernate ORM层与数据库进行交互.我有一个为用户,角色,提交,标签,通知等定义的表.我喜欢这个解决方案,因为它运行良好,我的代码看起来很好,理智,但我也担心MySQL将如何执行大小我们的数据库达到了很多.我觉得它可能很难以足够快的速度执行连接操作.
这让我想到了非关系型数据库系统,如MongoDB,CouchDB,Cassandra或Hadoop.不幸的是,我也没有经验.我在MongoDB上看过一些好评,看起来很有趣.我很乐意花时间学习如果一个人走的路.我非常感谢任何一个提供积分或问题时,没有关系dbms?
Mat*_*hew 18
这里的其他答案主要集中在技术方面,但我认为重点关注创业公司方面的事情:
基本上,不要花时间(==钱)担心要使用哪个数据库,因为MySQL可以处理大量数据,已得到充分证明并得到很好的支持.
让我们回到事物的技术方面......的东西,将有一个远在你的应用程序不是db的选择的速度影响较大,数据是如何有效,可以缓存.有效的缓存可以对减少数据库负载和加快应用程序的一般响应速度产生巨大影响.我会花时间研究缓存解决方案,并确保以可以充分利用这些解决方案的方式开发应用程序.
仅供参考,我选择的缓存解决方案是memcached.
到目前为止,没有人在关系方面提到过PostgreSQL作为MySQL的替代品.请注意,MySQL库是纯GPL,而不是LGPL.如果您链接到它们,这可能会迫使您释放您的代码,尽管具有更多法律经验的人可能会更好地告诉您其影响.另一方面,链接到MySQL库与仅连接到服务器和发出命令不同,您可以使用封闭源来实现.
PostreSQL通常是Oracle的最佳免费替代品,BSD许可证应该更加商业友好.
由于您更喜欢非关系数据库,因此请考虑转换将更具戏剧性.如果您需要自定义数据库,还应考虑许可证类型因素.
有三件事对你最好的数据库选择有哪些深刻的影响,你没有提到:
然而,大多数人只会因为不喜欢学习SQL而选择非关系型数据库