返回介绍

7.1 图数据库

发布于 2025-04-22 19:57:19 字数 1038 浏览 0 评论 0 收藏

本章会介绍一种很有意思的 NoSQL 存储:图数据库( http://en.wikipedia.org/ wiki/Graph_database )。很明显,图数据库是一种后关系型(post-relational)的数据存储,因为它们进一步演进了数据库的概念并保持了一些原有的特性。它们提供了一种有效的方式来存储半结构化(semistructured)但高度连通的数据,并且允许我们以很快的速度查询和遍历链接数据(Linked Data)。

图数据库由节点(node)组成,节点通过带有标向和标记的关系(即边)进行连接,如图 7-1 所示。在属性图中,节点和关系都可以存有任意的键值(key/value)对。图由这些元素形成了复杂的网络,它鼓励我们按照真实世界原始数据结构进行领域建模。关系型的数据库依赖于固定的模式(schema),而图数据是无模式的(schema-free)并且数据结构上没有限制。关系可以很容易添加和修改,因为它们不是模式的一部分,而是实际数据的一部分。

0701

图 7-1 图数据库概览

可以将图数据库的高性能归功于将关联实体(join)的成本转移到了插入阶段 - 这是通过将关系作为数据结构的一等公民来实现的 - 从而允许我们以相同的时间从一个实体(节点)遍历到另一个节点。所以,不管数据集的规模如何,在图中进行指定遍历所消耗的时间是由遍历时跳跃的次数决定,而不是图中一共有多少节点和关系决定。在其他的数据库模型中,查找两个(或更多)实体之间关联的成本花费在每个查询之上。

借助于这一点,一个图就可以存储很多不同的领域实体,并在所有的实体之间建立有意思的关联。二次存取(secondary access)和索引结构也可以集成到图中,从而为一些节点或子图提供特殊的分组和访问路径。

鉴于图形数据库的特性,它们不依赖于聚集边界来管理原子性的操作,而是构建在 ACID(原子性、一致性、隔离性、持久性)的数据存储之上,从而具备了行之有效的事务保证。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。