论文摘要
一篇关于图数据库模式语言的联合研究论文,荣获了今年ACM数据管理特别兴趣小组(SIGMOD)会议的最佳行业论文奖。该研究由来自领先机构和学术界的专家共同完成。
图数据库与模式需求
与标准关系型数据库将数据存储在链接表中不同,图数据库将数据存储在图中,其中边表示数据项之间的关系。图数据库在需要创建数据关系并快速导航这些连接的用例中很受欢迎,例如单一客户视图、欺诈检测、推荐和安全。某中心的图数据库服务旨在实现可扩展性和高可用性,允许客户在毫秒内查询数十亿个关系。
模式的作用与演变
模式是定义数据库结构的一种方式,包括允许的数据类型、它们之间可能的关系以及逻辑约束。这项工作对客户很重要,因为它将允许客户以一种可在不同供应商间移植的方式描述和定义其图的结构,并加快构建图应用程序的速度。
标签属性图模型
标签属性图(LPG)数据模型是构建图应用程序的一个突出选择。LPG基于三个基本要素对图状数据进行建模:节点、边和属性。图数据库与关系型数据库的一个区别特性是,图数据库不需要显式的模式定义。关系模型中的模式级信息(表和属性名称)在图数据库中作为数据本身的一部分表示。换句话说,通过插入或更改节点标签、边标签和属性名称等图元素,可以隐式地扩展或更改模式,而无需运行(通常是繁琐的)模式操作。
缺少显式模式是一个关键的差异化因素,它降低了在图中开始数据建模和应用程序构建的负担。遵循按需付费模式,构建新应用程序的图应用程序开发人员可以从一小部分数据开始,并随着应用程序的发展插入新的节点类型、属性和互连边,而无需维护显式模式。
模式演化
虽然这有助于构建图应用程序的初始速度,但通常在图应用程序的整个生命周期中,人们希望从隐式模式转向显式模式。一旦数据库填充了图数据的初始版本,就产生了对灵活模式支持的需求。在这个阶段,模式主要扮演描述性角色。随着应用程序生命周期的推进,图数据模型趋于稳定,开发人员可能会受益于更严格的规定性模式方法,该方法能强有力地断言图中的形状和逻辑不变量。
PG-Schema提案
受这些需求的驱动,这篇SIGMOD论文提出了一种称为PG-Schema的数据定义语言(DDL),旨在向用户提供完整的模式灵活性。
主要特性
PG-Schema允许定义节点类型、边类型和各种约束。例如,它可以定义带有标签Customer的节点类型,这些节点具有customerId属性,并从更一般的person节点类型派生。边类型可以建立在节点类型之上,并指定连接节点的边的类型和结构。此外,还可以定义类似于关系数据库中主键的KEY约束,以及强制每个账户至少有一个所有者的约束。
关键字STRICT强制图中的所有元素遵守图类型体中定义的类型之一,并且所有约束都必须满足。这实现了模式优先范式。为了适应灵活和部分模式用例,PG-Schema提供了LOOSE关键字作为STRICT的替代方案,其解释更为宽松。类似OPEN(与隐含的默认值CLOSED相对)这样的关键字可用于部分或完全指定带有给定顶点标签的顶点可以携带的属性集。这些机制提供的灵活性使得定义部分模式变得容易,这些模式可以增量调整和完善,以捕捉上述的模式演化需求。
标准化与未来影响
PG-Schema不仅为图模式和约束语言提供了一个具体提案,而且旨在提高人们对标准化图模式方法重要性的认识。论文中的概念和思想由图领域的主要公司和学术界共同开发,并且在相关组织内有正在进行的倡议,旨在推动这些概念的标准化。
特别是,该组织与目前正在标准化新图查询语言(GQL)的ISO委员会关系密切。由于一些GQL ISO委员会成员也是PG-Schema论文的合著者,双方一直保持持续的双向交流,预计未来版本的GQL标准将包含丰富的DDL,可能会采纳论文中提出的概念和想法。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)