JCR 实现 - 透明存储

JCR Implementations - transparent storage

我们正在探索 JCR API 对我们应用程序的可用性,在搜索网络时我发现了来自 Nuxeo 的 this 文章,他们提到以下几点是他们这样做的主要原因放弃 JCR。

Opacity of the in-database storage. We wanted data stored in a SQL database to be real SQL tables with visible data. This is helpful for many things, be it imports, backups, debugging, etc. While the goal of JCR to be the "SQL of content" is noble, the reality is that all our customers want data to be in a SQL database, not in something they don't know. We had had previously the same problem with Zope and its ZODB btw. Serializing Java objects in database columns is really not our idea of a clean storage.

虽然那篇文章很老了,但我想知道关于存储不透明的那一点在 Jackrabbit OAK 或 ModeShape 的情况下是否仍然正确。

Jackrabbit OAK的RDB持久化基本上在JSON中序列化文档。但是,原始数据库内容不容易解码,因为有时写入操作会序列化为差异,并且 JSON 主体可能会被压缩。此外,二进制内容以分段的 blob 形式写入。