Triplestore 数据库的优点和缺点是什么?
triplestore 数据库(例如 Mulgara? 在哪些情况下其性能会与传统关系数据库有显着差异?
我特别考虑的是您拥有 namespace:predicate=value
形式的数据的情况。 Triplestores 似乎会保持数据的“自然”形式,但我想知道除此之外是否还有其他具体优势。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我是 Redland 的创建者,其中包括 C 语言的本机三重存储,而且我使用了一些Java 系统,如 Jena 和 Sesame。
在不知道您的问题是什么的情况下很难说更多,但一般来说,如果您的问题空间/查询模式更“图形”而不是“客观”,则本机三重存储会工作得更好。 对象性意味着您倾向于总是进行操作 - 每次设置/获取相同的数据模式 - 在这种情况下,您不妨使用 ORM 或其他对象关系映射和固定模式。 如果您的问题和模式更加动态 - “Graphy” - 您可能会从三重存储方法中受益,在这种方法中,与通常在 RDBMS 世界(又名联接)中相比,更容易在数据之间进行跳跃。
当然,还有文档方法,例如 CouchDB,但这很难从您提供的信息中得知。
I'm the creator of Redland which includes native triple stores in C plus I've used some of the Java systems like Jena and Sesame.
It's hard to say more without knowing what your problem is but in general native triple stores work better if your problem space/query pattern is more 'graphy', rather than 'objecty'. Objecty means you tend to always manipulate - set/get the same pattern of data each time - in that case you might as well use ORM or other object-relational mappping and a fixed schema. If your problem and schema is more dynamic - 'Graphy' - you may benefit from the triple store approach where it's easier to hop across the data than it is typically in a RDBMS world (aka joins).
Of course there is also the document-approach too such as CouchDB but that's hard to know from the info you've given.
我假设您正在询问三元组的持久性(可能还有通过四元组的图形),其中存储是“本机”三元组存储(例如,TDB)或具有三重存储覆盖的关系数据库(例如 SDB)。
如果您详细说明您的要求,我相信 Stack Overflow 成员可以提供更直接的答案,但只是我的想法:
I assume you're asking about persistence of triples (and possibly graphs via quads) where the storage is either a "native" triple store (for example, TDB) or a relational database with a triple store overlay (like SDB).
If you an elaborate on your requirements, I'm sure Stack Overflow members can offer a more directed answer, but just off the top of my head: