我一直在尝试看看能否使用基于文档的数据库(在本例中为CouchDB)来满足一些需求。这里有两个通用的要求:
- 对具有某些字段的实体进行CRUD操作,其中该字段具有唯一索引
- 类似于eBay的电子商务Web应用程序(更好的描述请参见此处)。
我开始认为,基于文档的数据库不是最好的选择来解决这些要求。此外,我无法想象出文档型数据库的用途(也许我的想象力太有限了)。
您能否解释一下,当我尝试为这些需求使用文档导向数据库时,是否是在“要梨子还是要榆树”?
我一直在尝试看看能否使用基于文档的数据库(在本例中为CouchDB)来满足一些需求。这里有两个通用的要求:
我开始认为,基于文档的数据库不是最好的选择来解决这些要求。此外,我无法想象出文档型数据库的用途(也许我的想象力太有限了)。
您能否解释一下,当我尝试为这些需求使用文档导向数据库时,是否是在“要梨子还是要榆树”?
我不确定在此处添加什么,因为您上次在该帖子中发表的最后一条评论是“非常有用!谢谢”。是否还有某些方法未涵盖到导致您遇到问题?我认为MrKurt的答案已经很充分了,我只是增加了一个小优化,可以减少争用。
是否需要对数据进行规范化?
基于文档的数据库最适合存储文档。Lotus Notes是常见的实现方式,Notes电子邮件就是一个例子。对于您所描述的电子商务、CRUD等,关系型数据库更适合设计用于存储和检索被索引的数据项/元素(而不是文档)。
关于CRUD操作:整个REST范式可以直接映射到CRUD(或反之亦然)。因此,如果您知道可以使用资源(通过URI可识别)和一组基本操作(即CRUD)来建模您的需求,则可能非常接近基于REST的系统,这是许多面向文档的系统提供的开箱即用功能。