目录
产品简介
为实现结构化、非结构化数据的融合管理和关联查询分析,“中科知道”采用智能属性图模型,基于 neo4j 开源版本,设计并实现了异构数据智能融合管理系统 pandadb。该系统实现了结构化/非结构化数据的高效存储管理,并提供了灵活的 ai 算子扩展机制,具备对多元异构数据内在信息的即席查询能力。
产品架构
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 按需扩展。