ArangoDB(一)安装与部署

ArangoDB部署

特点
  • NoSQL数据库
  • 原生多模型数据库,兼有key/valuegraph图document文档数据模型
  • 支持AQL和API来查询数据
  • 高性能,速度极快
  • 空间利用率高,占用的存储空间少
  • 支持垂直和水平扩展
  • 秒级启动
  • 支持多种操作系统
  • 开源免费
  • 支持主从集群

与关系型数据库相比的优势:

1、关系表达直接、直观,易于建模;

2、插入数据高效,因为只需要插入顶点,然后通过边来维系点与点之间的关系;

3、高效的查询关联数据,尤其是上述的多层关联关系时,传统的关系型数据库,一般来说都是需要做表连接的,对资源的消耗极大。图数据库在这点上做了针对性的优化,防止局部数据的查询引发全部数据的读取。

ArangoDB程序及其作用
  1. arangod ,数据库的守护进程
  2. arangosh ,数据库的shell环境
  3. arangoimp, 导入工具
  4. arangodump 备份工具
  5. arangorestore 恢复工具
  6. foxx-manager 管理Foxx应用程序
  7. aranggo-dfdb 数据文件调试器
  8. arangob 主要用于ArangoDB的开发和测试
关键概念

AQL:arangodb query language,arangodb的查询语言,可与类似于SQL。

Database:下有多个Collection

Collections:有Docunment和Edge两种类型,这个可以类似于Oracle上的表,AQL不能操作Collections

Document:可以类似于Oracle上表中的一条记录,

Edge:可以类似于Oracle上表中的一条记录,跟Document不同的是,这个存储的是Document之间的关系。

存储引擎

版本3.2之后支持两种存储引擎 :MMFiles和RocksDB

3.4之前默认为MMFiles,3.4及之后默认采用RocksDB

部署安装
  1. 上传rpm文件

  2. 执行 rpm -ivh arangodb3-xxx.x86_64.rpm

    1. getting-started:www.arangodb.com/docs/stable/getting-started.html
    2. congiguring-storage-engine:https://www.arangodb.com/docs/stable/programs-arangod-server.html#storage-engine
    3. configuration file: /etc/arangodb3/arangod.conf
    4. start arangodb sheel client: /usr/bin/arangosh
    5. start service: systemctl start arangodb3.service
    6. enable service :systemctl enable arangodb3.service
  3. 设置root密码:arango-secure-installation

  4. 修改arangod配置文件:

    1. vi /etc/arangodb3/arangod.conf
    2. 将 endpoint = tcp://127.0.0.1:8529 修改为:endpoint = tcp://本机IP:8529
    3. 修改 authentication = false
  5. 修改arangosh配置文件

    1. vi /etc/arangodb3/arangosh.conf
    2. 将 endpoint = tcp://127.0.0.1:8529 修改为:endpoint = tcp://本机IP:8529
    3. 修改 authentication = false
  6. 查看arangodb状态:systemctl status arangodb3

  7. 启动:systemctl start arangodb3 或service arangodb3 status

  8. 重启:systemctl restart arangodb3

集群

集群特点:

  1. 满足CP的master-master模型,优先保证数据的一致性。
  2. 可扩展
  3. 故障恢复,自动选举leader,快速恢复数据服务
  4. 分布式存储,每个Collect都切割分布式存储到各个DB Server上
  5. 同步备份,每份数据都保持多个副本

集群角色:

集群中有4种节点:Agent,Coordinator,Primary(DBServer) 和 Secondary。前三者必选,Secondary可选。

Agent:集群的配置中心,负责leader的选举和数据同步服务。

Coordinator:负责集群与外界交互。coordinator指导数据存储在哪里,对查询可以做优化

Primary(DBServer):存储仓库。管理数据的分片和分片的主从复制工作

部署方式:

# 启动Master
arangodb --starter.data-dir=/root/arangodb/db1 --server.storage-engine=rocksdb start

# 启动其他节点
arangodb --starter.data-dir=/root/arangodb/db2 --server.storage-engine=rocksdb --starter.join xx.xx.xx.xxx start
arangodb --starter.data-dir=/root/arangodb/db3 --server.storage-engine=rocksdb --starter.join xx.xx.xx.xxx start

重申: Master 概念只是创建集群时的叫法,创建好之后,无Master节点,所有节点地位是一样的。

数据导出与导入
  1. 导出
    arangodump --server.endpoint tcp://<ip>:<port> --server.username <username> --server.password <passwd> --server.database <database> --output-di rectory /<arangodb-bak-path>/dump-$(date "+%Y%m%d-%H:%M:%S")
  2. 导入document
    arangoimp --file /path/airports.csv --collection airports --create-collection true --type csv --server.endpoint "http+tcp://{IP}2:8529"
  3. 导入edge
    arangoimp --file /PATH/flights.csv --collection flights --create-collection true --type csv --create-collection-type edge --server.endpoint "http+tcp://{IP}2:8529"

关闭arangod集群
pkill -f arangod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值