PandaDB研发团队日前推出PandaDB 社区版v0.3,该版本自主设计并实现了分布式的图存储和图查询引擎,去除了对Neo4j社区版存储和查询引擎的依赖,并无缝兼容Neo4j客户端调用接口和图查询语法Cypher。
PandaDB是中科院计算机网络信息中心研发的一款异构数据融合管理系统,除具备基于属性图模型的图数据管理能力外,还支持基于AI模型的非结构化数据(BLOB)语义分析、异构数据关联查询等功能。

PandaDB社区版v0.3架构图
本次发布的PandaDB社区版v0.3实现了图存储和图查询的分布式化。其中:
存储引擎基于分布式KV存储(TiKV)和全文索引(ElasticSearch)构建,具备可水平扩展的属性图数据存储能力;
查询引擎支持多实例部署运行,实现了图计算负载的均衡分配和查询服务的高可用。
1.将PandaDB社区版v0.3安装包下载到拟运行PandaDB-Server的1个或多个服务器,并解压。下载地址为:
https://github.com/grapheco/pandadb-v0.3/releases/download/v0.3-20220113/pandadb-server-0.3-unix.tar.gz

2.部署并启动ElasticSearch、TiKV
3.每台服务器均修改配置文件conf/pandadb.conf:
修改dbms.index.hosts的值为ElasticSearch的host address
修改dbms.kv.hosts的值为TiKV PD的host address
修改dbms.panda.nodes的值为PandaDB集群的host address
4.每台服务器分别启动PandaDB-Server:
$ bin/pandadb.sh start

二、PandaDB Demo数据库用例
用户可通过以下命令一键创建示例数据库(LDBC的示例数据):
$ bin/demo-importer.sh
导入完成后须重启全部pandadb-server。
用户可通过以下命令向部署在本地9989端口的PandaDB-Server发起cypher查询:
$ bin/cypher-shell -a "panda://127.0.0.1:9989" -p "" -u ""
pandadb> match(n) return n limit 10;

用户还可以使用图数据浏览器PandaDB-Browser查询示例数据库。如下图填写Connect URL,其中ip:port替换为pandadb-server的运行地址:端口号。然后点击Connect进入查询界面。PandaDB-Browser下载地址为:
https://github.com/grapheco/pandadb-browser/releases/download/alpha3/pandadb-browser-0.0.3-binary.zip。解压后根据README.md部署安装。


PandaDB-Browser的用户界面
PandaDB提供了Java版本的图数据查询驱动PandaDB-Java-Driver,图应用开发者可通过maven pom配置文件将其引入自己的开发项目。以下是pom配置方法:

以下是通过PandaDB-Java-Driver访问PandaDB-Server的示例代码:

PandaDB社区版v0.3、PandaDB-Java-Driver、PandaDB-Browser的源代码均采用Apache-2.0协议开源。欢迎提交issues、PR。代码仓库地址:
项目 | 仓库地址 |
PandaDB社区版v0.3 | https://github.com/grapheco/pandadb-v0.3 |
PandaDB-Java-Driver | https://github.com/grapheco/pandaDB-java-driver |
PandaDB-Browser | https://github.com/grapheco/pandadb-browser |






