SIGMOD-24概览Part7: Industry Session (Graph Data Management)
👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance
🏛机构:字节
➡️领域:
- Information systems → Data management systems
- Storage management
📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据
- 背景
- 字节旗下产品(Tiktok/抖音/头条)每天生成大量图
- ByteGraph是字节的分布式图数据库,但随负载量增加显得力不从心
- 关于ByteGraph 3.0:ByteGraph的升级版本,主要结构包含
- 图存储引擎:内存索引是基于BW-Tree(一种适合图数据存储的树形数据结构),采取云存储
- 负载感知的空间回收机制:根据负载情况优化存储空间,减少写放大(写入量<<请求空间)
- 轻量级主从同步机制:保证扩展系统时,多个结点间的数据同步且一致,有利于实时处理
👇PG-Triggers: Triggers for Property Graphs
🏛机构:米兰理工
➡️领域:Triggers(触发器)是数据库的一种自动化操作,即特定事件发生时自动执行一系列预定操作
- Information systems → Triggers and rules
- Graph-based database models
- Theory of computation → Database query languages (principles)
📚摘要:提出了PG-Triggers的概念,是一个针对属性图(Property Graphs)添加触发器的方案
回顾一下属性图:一种图数据库模型,用于存储+管理图数据库,由以下三种结构组成
图数据库结构 对应关系数据库结构 举例 Nodes Entity 学生,老师 Properties Attribute 学生(StuID/成绩),老师(Course/TecherID) Edges Relationship 学生 ← 授课 \xleftarrow{授课} 授课老师 背景:
- 现状:图数据库正在进行标准化工作
- 作者要干啥呢:为图数据库引入PG-Triggers,以支持类似SQL的触发机制
PG-Triggers (说的是写啥,反正在我辽阔的知识盲区中)
- 定义了触发器的语法和语义
- Neo4j 实现:将PG-Triggers翻译成Neo4j图数据库中的APOC触发器
- Neo4j:一个库,用于增强Neo4j的Cypher查询语言的功能
- APOC触发器:一种触发结构,让Neo4j在数据变化时执行预定操作
- Memgraph 实现:在这个库也实现了以下,为证明PG-Triggers的机制不仅适用于Neo4j
👇GraphScope Flex: LEGO-like Graph Computing Stack
🏛机构:阿里巴巴
➡️领域:Computer systems organization → n-tier architectures.
📚摘要:提出了GraphScope Flex(GraphScope系统的升级),