Java JCR API定义了一种持久性机制,可用于替换RDBMS的许多传统角色.例如,JackRabbit - JCR参考实现 - 支持事务,SQL查询,对象内容映射等.
您可以选择一个或另一个,将二进制数据存储在RDBMS中的BLOB /文件系统指针或JCR节点属性中的文本数据中.有没有人有经验取代抛弃他们的数据库而转向JCR?
您可以使用两者,可能在CR中存储二进制数据,在RDBMS中存储文本数据,但是您必须表达系统之间的关系,保持它们同步等等.您也开始面对一个难题,"它感觉正确用文档的二进制数据存储这个文档标题,所以我将它作为一个节点属性...但是我在我的数据库中有这个文档记录所以也许我应该把它保存在那里......"
你是如何决定的?
Bertil Chapuis有一篇关于这个主题的论文:
JCR还是RDBMS?(博客文章)
还有NoSQL运动(在本文中描述,例如,或在这里),这是一个持续的讨论,嗯,让我们说,"突出"关系模型的缺点.