如何在 Ubuntu 20.04 上安装 ArangoDB

什么是 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™ 中最有帮助的人而自豪!