什么是 ArangoDB?
数据库 是一个高可用性和可扩展的多模型 NoSQL 数据库,它本机处理图形和文档,并包括全文搜索。 它是由 ArangoDB GmbH 开发和维护的免费开源软件。 该系统以一个数据库核心支持三种不同的数据模型,并包含一种称为 AQL(ArangoDB 查询语言)的统一查询语言。 这种查询语言是声明性的,允许在单个查询中组合不同的数据访问模式。 该软件可以在多个系统上实现,包括 Windows、macOS、Linux、Kubernetes、Docker 和我们的托管 Cloud. 它在 GitHub、StackOverflow、Google Groups 和 Slack 上拥有强大的社区支持基础。
有两个版本的 ArangoDB 软件可用:
- 社区版
- 企业版
选项
社区版提供以下功能选项。
- 多模型:适合您的应用程序的数据建模,包括文档、图形和键值对
- 加入:使用连接进行灵活的临时查询,这意味着更少的数据冗余。
- 交易:在数据库服务器中使用 Foxx Javascript 框架进行应用程序开发,确保数据安全和一致
通常,企业版在安全性和可扩展性方面有更多可用选项。 下图说明了主要差异。
在本教程中,我们将安装该软件的社区版本。
先决条件
以下是此软件安装的要求:
- Ubuntu Server 20.04 LTS 的 LW 实例。
- 访问 root 用户帐户或具有 sudo 特权。
如何安装 ArangoDB
就标准的基于 apt 的软件安装而言,安装过程本身是典型且简单的。 首先,我们将添加 ArangoDB GPG 存储库安全密钥。 此密钥验证文件下载没有以任何方式被更改或篡改。
[email protected]:~# wget -q https://download.arangodb.com/arangodb34/DEBIAN/Release.key -O- | apt-key add -
接下来,我们将使用此命令将存储库添加到我们的源中。
[email protected]:~# echo 'deb https://download.arangodb.com/arangodb34/DEBIAN/ /' | tee /etc/apt/sources.list.d/arangodb.list
现在,使用此命令更新 apt 以刷新可用软件。
[email protected]:~# apt-get update
然后我们安装 apt-transport-https 软件依赖项。 apt-transport-https 包允许使用 libapt-pkg 库通过包管理器使用 https。 这样可以保证安装安全。 使用以下命令。
[email protected]:~# apt-get -y install apt-transport-https
接下来,我们可以安装 ArangoDB 软件。
[email protected]:~# apt-get -y install arangodb3=3.7.6-1
在安装过程中,系统会询问我们是否要自动升级数据库文件。 选择 ”是的。” 此设置暗示任何新的软件更新都会自动完成,而无需用户手动干预。
接下来,系统会提示我们选择要使用的数据库存储引擎类型。 选择 汽车 这里。 替代方案是rocksdb 或mmfiles。
注意:一旦我们选择了存储引擎类型,除非我们转储并重新导入所有现有数据库,否则无法更改它。
最后选择“是的”在对 ArangoDB 软件进行任何升级之前备份任何现有数据库。 这些备份存储在 /var/lib/arrangodb-$date 文件夹中。
安装现在将继续并快速完成。 当您返回到命令提示符时,安装就完成了。
安装调试包
我们还可以选择安装调试符号包(默认情况下不需要)。 调试符号包对数据库崩溃进行故障排除。 它将必要的崩溃信息与调用站点的回溯一起写入日志文件。 可以将此回溯信息发送给 ArangoDB 支持以进行进一步检查和审查。 这些回溯仅适用于已安装调试符号包的情况。
要部署此软件,请运行以下命令。
[email protected]:~# apt-get install arangodb3-dbg=3.7.6-1
访问 ArangoDB Shell
有多种方法可以启动 ArangoDB 软件。 具体的启动命令将取决于您的 Linux 发行版和您选择的 ArangoDB 实现类型(例如,单服务器、主从、主动故障转移、集群、DC2DC)。
要开始在 ArangoDB shell 中工作,请运行以下命令。
[email protected]:~# arangosh
然后提示我们输入 admin 安装过程中创建的密码。 通过身份验证后,将出现 ArangoDB shell(类似于 MySQL shell),您可以在其中开始管理您的数据库。
确保安装
在设置的下一阶段,我们将建立一个新的 admin ArangoDB 的密码。 在安装过程中,我们被要求提供一个强密码。 输入密码,然后再次重新输入密码以继续。
[email protected]:~# shell> arangosh --server.username "[email protected]" --server.database mydatabase
用户认证
ArangoDB 软件允许我们限制特定用户访问我们的数据库。 安装过程中会创建一个默认的“root”用户,该用户可以访问所有数据库。 作为最佳实践,我们应该为每个应用程序数据库创建一个具有访问权限的用户。 需要注意的是,所有用户都被视为数据库系统的管理员。
为了创建新的数据库和用户,我们使用 arangosh 命令。 arangosh 命令创建一个同步 shell,用于在命令行上与服务器交互。
[email protected]:~# arangosh> db._createDatabase("mydatabase"); [email protected]:~# arangosh> var users = require("@arangodb/users"); root[email protected]:~# arangosh> users.save("[email protected]", "password"); [email protected]:~# arangosh> users.grantDatabase("[email protected]", "mydatabase");
现在我们可以使用 [email protected] 用户连接到数据库。
启用服务
接下来,要启动和启用 ArangoDB 服务,请运行以下命令。
[email protected]:~# systemctl start arangodb3 [email protected]:~# systemctl enable arangodb3
使用 ArangoDB
创建新数据库
要创建我们的第一个数据库,请运行以下命令。
[email protected]:~# >shell db._createDatabase("newlwdb");
创建新用户
接下来,我们将使用以下命令创建一个新用户来访问上述数据库。
[email protected]:~# >shell var users = require("@arangodb/users"); [email protected]:~# >shell users.save("[email protected]", "PASSWORD"); [email protected]:~# >shell users.grantDatabase("[email protected]", "newlwdb"); [email protected]:~# >shell where PASSWORD is a strong/unique password.
验证数据库
现在,我们可以使用此命令验证我们的新数据库是否已创建。
[email protected]:~# >shell db._databases()
您应该会看到返回了 ‘newlwdb’。
要离开外壳,请使用 ‘Exit’ 命令。 要重新连接,请使用以下命令使用新用户和数据库。
[email protected]:~# >shell arangosh --server.username “[email protected]" --server.database newlwdb
网页界面
ArangoDB 还为基本的数据库交互提供了一个基于 Web 的界面(代号 Aardvark)。 它允许我们管理以下任务。
- 数据库
- 收藏
- 文件
- 用户
- 图表
- 日志
此外,我们可以更方便地运行和解释查询。 还提供了数据库统计信息和服务器状态。 启动 arangod 进程后,此 Web 界面可用。
访问数据库
我们可以在浏览器中通过 https://ip:8529 访问这个界面。 该接口的默认用户是 root,并且隐式启用身份验证。
选择数据库
登录后,用户将询问使用哪个数据库。 默认情况下,安装包含一个 _system 数据库。 选择此数据库以继续进入 Web 界面。
仪表板显示服务器统计信息
仪表板视图
独立实例与集群设置的仪表板界面将有所不同。 独立界面将如下所示。
集群仪表板视图将如下所示。
中还有更多功能可用 ArangoDB 仪表板 可以在该软件的网站上找到。
基本命令
下面是在 ArangoDB:command line 环境中使用的基本命令行客户端工具。
- 阿朗戈转储:此命令创建存储在 ArangoDB 中的数据和结构的备份。
- 阿朗戈尔商店:这是用于恢复使用 Arangodump 命令创建的备份的命令。
- 阿朗戈进口: 该命令用于将 JSON、CSV 和 TSV 格式的数据导入 ArangoDB 服务器。
- 阿朗戈出口: 此命令用于将数据从 ArangoDB 服务器导出为 JSON、CSV 或 XML 格式。
- 长椅: 这是与 ArangoDB 软件一起使用的测试和基准测试工具。 它用于向数据库发送测试请求以测量性能和服务器功能。
- 安检:此命令收集有关 ArangoDB 服务器设置的信息,以方便对 ArangoDB 支持进行故障排除。
应急控制台
ArangoDB 数据库有两种主要的操作模式:
- 服务器模式 — 此模式将响应客户端请求。
- 紧急模式 — 在这种模式下,ArangoDB 使用控制台在紧急情况下(例如,数据库损坏)立即进入数据库。 紧急控制台让我们发出所有标准命令。 但是,在这种模式下,服务器无法处理任何客户端请求。
通常,除非您是开发人员,否则无需访问紧急控制台。
结论
ArangoDB 是一款免费软件,它是一个开源的多模型数据库系统,被许多人认为是灵活数据建模的最佳框架,包括文档、图形和其他键值。
我们以成为 Hosting™ 中最有帮助的人而自豪!