15

Java JCR API 定义了一种持久性机制,可用于替代 RDBMS 的许多传统角色。例如,JackRabbit - JCR 参考实现 - 支持事务、SQL 查询、对象-内容映射等。

您可以选择其中一个,将二进制数据存储在 RDBMS 中的 BLOB/文件系统指针中,或者将文本数据存储在 JCR 节点属性中。有没有人有经验更换他们的数据库来支持 JCR?

您可以同时使用这两种数据,也许将二进制数据存储在 CR 中,将文本数据存储在 RDBMS 中,但是您必须表达系统之间的关系,使它们保持同步等。您还开始面临一个难题:“感觉不错将此文档标题与文档的二进制数据一起存储,因此我将其设为节点属性...但是我的数据库中有此文档记录,所以也许我应该将其保留在那里..”

你如何决定?

4

1 回答 1

13

Bertil Chapuis 有一篇关于该主题的论文:

JCR 还是 RDBMS?博文

还有 NoSQL 运动(例如,在本文中或在此处进行了描述),这是一个正在进行的讨论,嗯,可以说,“突出”了关系模型的缺点。

于 2009-08-25T08:48:36.200 回答