目录
产品简介
PandaDB是中国科学院计算机网络信息中心自主研发的多模态融合图数据库,采用扩展属性图模型实现海量多元异构数据语义级融合,提供高效的统一存储、语义关联融合、统一检索和知识发现能力,适用于领域知识图谱构建、大规模复杂网络挖掘、海量异构主数据资源治理以及基Graph+RAG的知识增强检索等业务场景开发。
产品架构
PandaDB 基于智能属性图模型组织数据,底层数据被分为图结构数据、结构化属性数据和非结构化属性数
据这 3 部分。其中,图结构数据指图的节点和边等描述图结构的数据;结构化属性数据指数值、字符串、日期等类型的数据;非结构化属性数据泛指除结构化数据之外的数据,如视频、音频、图片、文档等.PandaDB 以 BLOB对象的形式存储非结构化数据,并将其表示为实体(节点)的属性.根据上述 3 类数据的应用特点,PandaDB 设计了分布式多元存储方案。
-
分布式图数据存储:基于传统的图数据库保存图结构数据和属性数据,在每个节点上保存相同的数据副本;
-
结构化属性协存:基于 ElasticSearch,Solr 等外部存储实现大规模结构化属性数据的存储和索引构建;
-
BLOB 存储:基于 Hbase,Ceph 等存储系统实现非结构化属性数据的分布式存储.
PandaDB 总体架构如图 5 所示,重要模块描述如下.
-
存储引擎:维护本地的图结构数据,调度外部属性存储,按需为查询引擎提供服务;
-
外部存储:包括基于 ElasticSearch 的结构化属性协存和基于 HBase 的 BLOB 存储两部分;
-
查询引擎:解析并执行 CypherPlus 查询;
-
AIPM:AI 模型服务框架,通过模型和资源管理,实现 AI 模型的灵活部署、高效按需运行;同时,有效屏蔽。
产品特点
存储机制
PandaDB 将 BLOB 引入了 Neo4j 的类型系统,同时对 Neo4j 的存储结构进行了改造。为实现对外部 BLOB 存储系统的调用,PandaDB 中设计了 BlobValueManager 接口,定义了 getById(⋅)/
store(⋅)/discard(⋅)等操作方法.作为 BlobValueManager 的一个实现,HBaseBlobValueManager 基于 HBase 集群实现 BLOB 数据的存取.
查询机制
PandaDB 查询引擎主要实现查询语句的解析、逻辑计划的生成与优化、物理计划的优化与执行。
为加速非结构化数据的查询,PandaDB 实现了语义索引功能.非结构化数据中的信息被认为是一种语义信
息,如图片中的人脸、图片中汽车的车牌号、录音中所包含的文字信息等.
属性数据协存
PandaDB 引入属性数据协存机制,用于实现结构化属性数据的全文索引,提高节点属性的过滤查询效率.目 前,PandaDB 支持 ElasticSearch 作为协存引擎.
AI算法集成与调度
为了对不同的抽取器(SubPropertyExtractor)和语义比较器(SemanticCompartor)进行统一管理,PandaDB 制定了驱动管理规则库。PandaDB 中的信息抽取能力通过 AI 服务方式实现,AIPM 为 PandaDB 提供 AI 服务,它可以屏蔽不同 AI模型之间的依赖冲突问题,降低人工智能模型的部署和维护难度,便于 PandaDB 按需扩展。