neo4j-运维篇

2019-01-21  本文已影响16人  jellyb

1. 数据导入导出

1.1 导入

1.1.1 CREATE 语句

为每一条数据写一个CREATE:

CREATE (:label {property1:value, property2:value, property3:value} )

1.1.2 LOAD CVS 语句

将数据转化为CSV格式,通过 LOAD CSV读取数据;

using periodic commit 1000
load csv from "file:///fscapture_screencapture_syscall.csv" as line
create (:label {a:line[1],b:line[2],c:line[3],d:line[4],e:line[5]})

这里使用了语句USING PERIODIC COMMIT 1000,使得每1000行作为一次Transaction提交

1.1.3 neo4j-import工具

官方提供的工具

/bin/neo4j-import --into ./data/databases/test.db --nodes ../neo4j-import/EndVertexData.csv --nodes ../neo4j-import/VertexData.csv --relationships ../neo4j-import/EdgeData.csv

1.1.4 对比

item CREATE语句 LOAD CSV语句 Neo4j-import
适用场景 1 ~ 1w nodes 1w ~ 10 w nodes 千万以上 nodes
速度 很慢 (1000 nodes/s) 一般 (5000 nodes/s) 非常快 (数万 nodes/s)
优点 使用方便,可实时插入。 使用方便,可以加载本地/远程CSV;可实时插入。 官方出品,占用更少的资源
缺点 速度慢 需要将数据转换成CSV 需要转成CSV;必须停止neo4j;只能生成新的数据库,而不能在已存在的数据库中插入数据。

1.1.5 结论

  1. 如果项目刚开始,想要将大量数据导入数据库,Neo4j-import是最好的选择。
  2. 如果数据库已经投入使用,且不能容忍Neo4j的临时关闭,那么LOAD CSV是最好的选择。
  3. 最后,如果只是想插入少量的数据,且不怎么在乎实时性,那么请直接看Cypher语言。

1.2 导出

1.2.1 参考文档

cypher导出

1.2.2 语法

curl -H accept:application/json -H content-type:application/json \
-H Authorization:bmVvNGo6cGFzc3dvcmQ= \
-d '{"statements":[{"statement":"Match (n)-[r]->(m) return distinct id(r) as id, n.id as START_ID, m.id as END_ID, r.createTime as createTime, r.updateTime as updateTime, r.namespace as namespace, r.time as time"}]}' \
http://192.168.6.89:7474/db/data/transaction/commit | \
jq -r '(.results[0]) | .columns,.data[].row | @csv' >> all_relationships.csv

neo4j监控

windows企业版,使用windows power shell ,进入neo4j 文件目录,执行.\neo4j.bat status|start|stop 命令启用停止查看neo4j服务

call dbms.listQueries()

企业版效果,而且命令会有自动补全:


listQueries

企业版导入数据非常的快


导入1 导入2

社区版效果:

社区版导入

call dbms.killQuery("query-id")

dbms.transaction.timeout=10s

  1. 此时设置的事务超时时间为3s


    3s事务
  2. 此时设置的为5s

5s事务
  1. 此时设置的为15s
15s事务

General-purpose metrics

Database Checkpointing Metrics

Database Data Metrics

Database PageCache Metrics

Database Transaction Metrics

Cypher Metrics

Database LogRotation Metrics

Network Metrics

Cluster Metrics

Core Metrics

Java Virtual Machine Metrics

Read replica

Logging

The features described in this section are available in Neo4j Enterprise Edition

Query logging

dbms.logs.query.enabled = true

4. BackUp

The backup features are available in Neo4j Enterprise Edition.

执行命令:

bin/neo4j-admin backup --from=127.0.0.1 --backup-dir=/backup --name=graph.db-
backup
备份 备份

完成备份:

备份

增量备份

首先关闭Neo4j

neo4j-home> bin/neo4j stop
neo4j-home>bin/neo4j-admin restore --from=/mnt/backup/graph.db-backup --database=graph.db –force

neo4j-home> bin/neo4j start
上一篇下一篇

猜你喜欢

热点阅读