来源:互联网 更新时间:2026-08-27 14:22
2024年8月26日,数据管理与数据库领域的顶级国际会议VLDB 2024在广州举办。蚂蚁集团知识引擎团队的一篇论文被收录为Industry track的现场展示论文(Oral Paper),题目是《KGFabric: A Scalable Knowledge Graph Warehouse for Enterprise Data Interconnection》。
简单来说,KGFabric是一套基于分布式文件系统(DFS)的、全量知识仓储的解决方案。它采用SPG作为数据模型,能够更好地表达真实世界,同时在存储和计算效率上做了深度优化。最关键的能力是它支持Graph Fabric——在保护用户隐私的前提下实现多域图谱的融合,直接击中了知识图谱“数据孤岛”的痛点。与主流的关系型DBMS和图数据库相比,KGFabric在语义关系的存储空间上减少了90%以上;在实际工作负载中,图融合的性能提升了21倍;在多跳语义图分析任务中,性能甚至提高了100倍。
在蚂蚁集团内部的实践中,团队构建了蚂蚁知识图谱平台。这个平台上涵盖了商户、公司、账户、产品等多个领域的特定知识图谱,管理着数万亿的结构化知识图谱,为搜索、推荐、风险控制等业务提供支撑。平台提供基于跨领域知识复用的多种企业级知识管理能力,支持多样化图谱业务的自助接入,并支撑了多种下游服务和图推理、图分析应用,线性扩展能力已经超过千亿量级。
随着平台不断迭代,跨域图谱融合、图匹配和图表示学习等任务对系统能力的要求越来越高,传统的数仓系统(比如ODPS)和图数据库逐渐力不从心。于是,我们提出了超大规模知识仓储的解决方案——KGFabric。它采用SPG(Semantic-enhanced Programmable Graph,语义增强可编程框架)作为数据模型,基于分布式文件系统提供了原生知识图谱存储和多域知识图谱融合能力。底层文件存储设计了一套混合存储格式,设计之初就兼容了多种图模型和超级点的存储与处理,分别为属性图和语义图实现了CSR索引和三元组索引。更妙的是,底层完全使用POSIX API实现文件I/O操作,这使得跨多云环境的部署成本很低。
KGFabric采用SPG作为数据模型,它的语义与属性图兼容。SPG源自蚂蚁知识图谱平台多年支撑金融业务的沉淀,是一种基于属性图的语义框架。它创造性地融合了属性图的结构性和RDF的语义性——既克服了RDF/OWL语义复杂、难以工业落地的障碍,又充分继承了属性图结构简单、与大数据体系兼容的优势。
为了增强属性图中节点类型的语义表达,SPG在属性图的节点类型和边类型之上,引入了更多主体分类模型来扩充节点类型,以兼容更多元的知识表示。在SPG中,主体分类模型大致可以这样理解:

KGFabric的存储架构基于LSM-Tree,数据层分为Base和Delta两层。其中Delta层进一步划分为Level-0和Level-1:Level-0专为流式导入(mini-batch)优化,比如从消息队列导入;Level-1主要针对批量导入场景,比如从Hive或ODPS导入。为了平衡读放大,后台运行Tiering Compaction,定期重整并压实数据。在蚂蚁集团内部,每天有超过1000个数据导入任务,这套Compaction策略将随机读和顺序读的读放大分别控制在5倍和1.6倍以下。
KGFabric的目录层级主要包含:
版本管理依赖文件系统的put-if-not-exists语义,通过VersionPointer机制解决读写冲突。导入任务成功后,KGFabric自动创建新版本文件,通过时间戳映射相应版本文件,实现任意快照访问。current文件始终记录最新数据版本。
实际的图谱数据承载在RelationGroup目录中,包括若干数据文件和对应的元数据。数据文件分为PGFile和SGFile,分别存储属性图数据和语义图数据。布局上,PGFile和SGFile都由Footer和文件内的BlockIndex组成,内部则分别存储PGBlock和SGBlock——它们是基本的写入和压缩单位。
PGBlock主要存储属性图。内部包含点表(VertexTable)、边表(EdgeTable,含出边和入边)和属性表(PropertyTable),采用CSR索引格式进一步压缩子图数据。属性表支持行或列存储格式,并使用位图矩阵标识NULL值属性。在PGBlock内,通过点切分方式将超级点(度数很高的边,通常超过10万)的稠密边分配到若干个PGBlock中分别存储。下图中的vid2在block#1和block#95分别触发了两次切分逻辑。这解决了超级点在加载和计算时的内存瓶颈,提升了按关系类型加载边时分组limit的I/O效率。
在KGFabric中,语义图的存储包含三个组件:
传统Data Fabric大多基于数据冗余实现,意味着跨集群之间的数据拷贝。而KGFabric中的Graph Fabric框架在避免冗余拷贝的同时实现了多域图谱融合。只需选取待融合的实体类型,再指定链指或融合算子,Graph Merge Tree(GMT)就能自动构造出虚拟类型FuseType。用户透明地使用该虚拟类型,实现基于Fuse-On-Write(FOW)或Fuse-On-Read(FOR)的图谱融合。GMT是Graph Fabric的核心数据结构,逻辑上是一棵多叉树。FOR的过程可以抽象为对树的后序遍历。在后序遍历中,还集成了AntPrivacy API,在Graph Fabric执行之前对数据进行属性粒度的加密,有效保障图谱融合过程中的用户数据安全。
为了优化金融场景下的负载性能,KGFabric可以作为图分析系统的存储后端,提供原生图检索和图加载能力,避免分布式构图场景下shuffle的额外开销。具体优化包括:
为了评估系统性能,团队进行了存储空间、图分析效率和Graph Fabric扩展性实验。
主要选用LDBC-Finbench作为属性图(LPG)数据集,并通过为LDBC-Finbench添加语义关系,扩展出新的数据集LDBC-Finbench-X作为语义图(SPG)数据集。另外从生产场景选取了用户图谱、商户图谱和资金图谱作为真实数据集。各数据集的度数分布如下:
(注:原文中此处应有度数分布图,保留原图描述)
对属性图数据集,KGFabric的存储空间占用仅为Neo4j的43.7%,为RocksDB的91.7%。对语义图数据集,KGFabric得益于强Schema建模,大幅优化了语义关系的存储开销,空间占用仅为RocksDB的7%,Neo4j的1.9%。
主要选用了pairwise path和cycle pattern两种典型的图分析任务,对比对象是ODPS、Neo4j和RocksDB。在pairwise path实验中,随着分析任务跳数增多,KGFabric提供的backend能大幅度提升图计算的扩展性。在cycle pattern实验中,受益于低构图成本,KGFabric最多可将3跳环路分析的耗时降低67.8%。
对于默认链指策略(IDE),随着数据源增多,相比ODPS,KGFabric表现出良好的扩展性。为了优化用户自定义链指策略(UDL)的性能,实现了rindex对数据进行预排序,进一步降低延迟。
腾讯ima怎么把微信内容一键导入知识库?
腾讯ima怎么创建共享知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
比特币 2025 年价格预测:BTC 的未来走势
WorkBuddy微信版怎么获得积分?
5000元起的鼠标哪个最值得入手?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
车载冰箱重置到出厂设置几步?
SPX6900(SPX)币是什么?SPX币价格走势分析及未来展望
腾讯ima知识库怎么分类管理?
短剧《史上最强洪荒修为》剧情介绍
海尔消毒柜自动消毒如何中止
博世壁挂炉关闭暖气怎么操作
男生高性价比充电头?
管线机怎么接云米净水器
kimi提示词专家使用方法新手指南
5000-6000元鼠标有什么推荐?
WorkBuddy积分怎么获得?
Windy卫星云图怎么看?云层变化识别技巧
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc