您的应用程序是否灵活与否与您使用“nosql”,“文档数据库”或适当的RDBMS无关。没有人使用你的应用程序将会照顾任何方式。
如果编码时需要灵活性,您应该研究框架,比如ActiveRecord for Ruby,它可以使DB接口更加简单,通用和强大。在那个级别上,你可以获得更多的不仅仅是改变数据库,甚至可以变成数据库不可知的,这意味着你可以更改数据库而不用更改任何代码。事实上,我发现ActiveRecord通过将我从繁琐且容易出错的“与SQL混合的代码”中解放出来,提高了我的工作效率。
事实上,如果您觉得您需要一个无模式数据库,对于关键数据,您做错了什么。你正在为项目的关键需求提供你自己的便利,或者以为你以后不会遇到问题而无知。迟早,缺乏一致性会咬你的屁股,很难!
我觉得你是对hesistant RDBMS,因为你是不是真的所有的术语,语法舒适和良好的CS原则。
相信我,如果你要创造任何价值的应用程序,你百倍更好的学习SQL,首先ACID和良好的数据库的原则。只要阅读基础知识,并从现在的任何位置建立您的知识。对我们每一个人来说都是一样的,这需要时间,但是你从一开始就学会做事。
低层次的工具,如MongoDB的和等价只是为你提供无限更多的弹药,以拍摄自己在脚下。他们看起来很容易。但实际上,他们为编码人员留下了难以处理的工作,而一旦您掌握了基本知识,RDBMS将为您处理更多的问题。
为什么要使用电脑,如果你想要更多的工作,你可以回到纸上。设计将是一件轻而易举的事情,并且实现可以超快。完成。除了它当然不会是正确的。
在现实世界中,我们不能忽视的一致性,数据库设计和多音CS的原则。这就是为什么首先研究它们并继续学习的好主意。
不要购买炒作。你在这里问关于MongoDB的问题,但包括你真的需要其功能。凭借25年的电脑使用经验,我根本不会购买它。如果你有创造性地思考,可以使RDBMS做你想做的任何事情,或者可以利用框架来避免错误和浪费时间。
手工艺ACID属性到MongoDB的好像更多的工作对我来说,和经验,听起来像一种徒劳的锻炼; Tibial,而不是使用什么是已经设计以适应这样的目的。
为什么你想要或需要使用MongoDB?你看到它们有什么好处?为什么说,postgres不适合你的应用程序?有些公司(friendfeed)只是简单地将JSON存储在一个RDBMS中,给出一个灵活的架构以及一个普通DB的ACID好处。 – 2010-09-18 04:06:26
你也可以使用CouchDB,它也是一个文件db。 – TTT 2010-09-18 04:26:44
@Mark。因为我更喜欢使用嵌入对象而不是表,列和行的对象和对象。我更喜欢OOP范式,因为它符合人类思维的方式。 XML/JSON数据类型不能代替它。它只是用于存储小型结构而不是整个数据库结构。 – 2010-09-18 05:34:41