栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

异构数据融合管理系统PandaDB 社区版v0.3发布

异构数据融合管理系统PandaDB 社区版v0.3发布

PandaDB研发团队日前推出PandaDB 社区版v0.3,该版本自主设计并实现了分布式的图存储和图查询引擎,去除了对Neo4j社区版存储和查询引擎的依赖,并无缝兼容Neo4j客户端调用接口和图查询语法Cypher。

PandaDB是中科院计算机网络信息中心研发的一款异构数据智能融合管理系统,除具备基于属性图模型的图数据管理能力外,还支持基于AI模型的非结构化数据(BLOB)语义分析、异构数据关联查询等功能。

 PandaDB社区版v0.3架构图

本次发布的PandaDB社区版v0.3实现了图存储和图查询的分布式化。其中:

  • 存储引擎基于分布式KV存储(TiKV)和全文索引(ElasticSearch)构建,具备可水平扩展的属性图数据存储能力;
  • 查询引擎支持多实例部署运行,实现了图计算负载的均衡分配和查询服务的高可用。

    一、PandaDB-Server的部署和启动

    将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

     

    1. 部署并启动ElasticSearch、TiKV

    2. 每台服务器均修改配置文件conf/pandadb.conf:

    修改dbms.index.hosts的值为ElasticSearch的host address修改dbms.kv.hosts的值为TiKV PD的host address 修改dbms.panda.nodes的值为PandaDB集群的host address

    3. 每台服务器分别启动PandaDB-Server:

    $ bin/pandadb.sh start

    二、PandaDB Demo数据库用例

    1. 用户可通过以下命令一键创建示例数据库(LDBC的示例数据):

    $ bin/demo-importer.sh

    导入完成后须重启全部pandadb-server。

    2. 用户可通过以下命令向部署在本地9989端口的PandaDB-Server发起cypher查询:

    $ bin/cypher-shell -a "panda://127.0.0.1:9989" -p "" -u ""
    
    pandadb> match(n) return n limit 10;

    3. 用户还可以使用图数据浏览器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配置方法:

    
    ……
      
        org.grapheco.pandadb
        pandadb-java-driver
        0.3.2
      
    ……
    
    

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

    import org.neo4j.driver.v1.*;
    import org.neo4j.driver.v1.types.Node;
    import org.neo4j.driver.v1.types.Relationship;
     
    public class DriverDemo {
      public static void main(String[] args) {
        Driver driver =
          GraphDatabase.driver(
            
            "panda://127.0.0.1:9989,127.0.0.2:9989,127.0.0.3:9989",
            AuthTokens.basic("", "")
          );
        Session session = driver.session();
        StatementResult result1 = 
        session.run("match (n) return n limit 10");
          while (result1.hasNext()){
            Record next = result1.next();
            Node n = next.get("n").asNode();
            System.out.println("node properties: " + n.asMap());
        }
     
        StatementResult result2 = 
          session.run("match (n)-[r]->(m) return r limit 10");
          while (result2.hasNext()){
            Record next = result2.next();
            Relationship r = next.get("r").asRelationship();
            System.out.println("rel properties: " + r.asMap());
          }
     
        session.close();
        driver.close();
      }
    }

    四、参与社区

    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

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/710641.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号