数据库类型
关系型数据库(Excel)行
-
MySQL
-
SQL Server
-
Oracle
-
PostgreSQL
键值数据库(内存数据)
-
Redis
-
Memcached
列数据库(列)横向关系的转置
-
HBase
文档型数据库
-
MongoDB
图数据库
-
neo4j
-
Bgraph
-
Hugegraph
图数据库简介
图数据库主要由两部分构成:点和连接点(边)
能够简化关系型数据库需要通过多次Join或者需要多次遍历才能描述出的关系
Hugegraph简介
-
可以自定义后端存储(mysql,hbase,rocksdb...)
-
数据库导入工具
-
数据可视化
-
一个数据库支持3张图,相当于三个数据库,之前是隔离的,最大支持存储100g的数据
-
支持高可用,分布式集群部署
-
数据的备份和数据恢复
-
图算法(最短路径,连通子图...)
-
索引,内嵌分词
-
支持Gremlin
下载,安装
下载:下载地址
版本对应关系:
components | 描述 | 下载/版本 |
---|---|---|
HugeGraph-Server | The main program of HugeGraph | 0.12.0 |
HugeGraph-Hubble | Web-based Visual Graphical Interface | 1.6.0 |
HugeGraph-Loader | Data import tool | 0.12.0 |
HugeGraph-Tools | Command line toolset | 1.6.0 |
服务端-HugeGraph-Server Quick Start
数据导入工具-HugeGraph-Loader Quick Start
命令行工作集-HugeGraph-Tools Quick Start
控制台Web可视化界面-HugeGraph-Hubble Quick Start
客户端-HugeGraph-Client Quick Start
需要JDK1.8或以上
启动,运行
-
启动hugegraph-Server
-
解压hugegraph-0.12.0.tar.gz
-
进入bin目录
-
执行init
-
执行start
-
手动编译(跳过测试)
mvn package -DskipTests
-
启动hugegraph-hubble可视化
-
解压hugegraph-hubble-1.6.0.tar.gz
-
进入bin目录
-
执行start
-
-
启动hugegraph-loader导入数据,数据建模
-
解压hugegraph-loader-0.12.0.tar.gz
-
写数据文件(点数据json、边数据json)
-
执行导入命令
-
bin/hugegraph-loader -h 127.0.0.1 -p 8080 -g {GRAPH_NAME} -f ${INPUT_DESC_FILE} -s ${SCHEMA_FILE} -h {HOST} -p {PORT}
bin/hugegraph-loader -h 127.0.0.1 -p 8080 -g hugegraph -f E:wangxiang\example.json -s E:example\schema.groavy
-
-
hugegraph-client
neo4j
下载地址:https://neo4j.com/download-center/#community
community为社区版本
Enterprise为企业版本
beo4j 3版本后的需要JDK8
beo4j 4版本后的需要JDK11
配置环境变量<NEO4J_HOME>
修改配置文件neo4j.conf,将dbms.default_listen_address=0.0.0.0配置放开,允许除本机外其他地址也能访问
通过控制台启动:neo4j.bat console
基本元素与概念
节点(node)
表示一个实体记录,就像关系数据库中的一条记录。一个节点包含多个属性和标签。
关系(relationship)
关系用于将节点关联起来构成图,关系也成为图论的边(Edge')
属性(property)
节点和关系都可以有多个属性。属性是由键值对组成的,就像JAVA当中哈希。
标签(lable)
标签指示一组拥有相同属性的节点,但不强制要求相同,一个节点可以有多个标签。
路径(path)
图中任意两个节点都存在有关系组成的路径,路径有长短之分。
Cypher查询语言
Cypher是一种声明式图数据库查询语言,类似关系数据库当中的SQL。Cypher设计借鉴了其他
如SQL、Phthon语言惯用作法。
MATCH:匹配图模式
WHERE:过滤条件
RETURN:定义返回结果
基本语法:
增:CREATE
删:DELETE
改:SET
查:MATCH
函数:
witch:
count:
()->代表节点
{}->代表属性
[]->代表关系
查询所有节点信息:
match(p:pig) return p
创建节点:
create (:pig{name:"猪奶奶",age:14});
创建关系:
match (a:pig{name:"猪爷爷"}) match(b:pig{name:"猪奶奶"}) create (a)-[c:夫妻]->(b) return c;
创建节点和关系:
create (:pig{name:"猪爸爸",age:8}) -[:夫妻{age:5}] -> (:pig{name:"猪妈妈",age:6})
修改属性:
match(p:pig{name:"猪妈妈"}) set p.age=8;
删除属性:
match(p:die{name:"猪祖父"}) delete p;
查询最短路径:
match p=shortestpath((a:pig{name:"佩奇"})-[*]->(b:pig{name:"猪奶奶"})) return p;
match p=shortestpath((a:pig{name:"佩奇"})-[*]->(b:pig{name:"猪奶奶"})) return p;
标签:name,HugeGraph,数据库,pig,hugegraph,节点 From: https://www.cnblogs.com/wx-36/p/16914482.html