如何在 Ubuntu Linux 上安装和配置 RavenDB NoSQL 数据库

RavenDB 是一个免费的开源 NoSQL 数据库,旨在与 dot net 或 Microsoft 一起使用。 但是,您现在可以在 Windows、Mac、Ubuntu 和其他 Linux 发行版上广泛使用 RavenDB NoSQL 数据库。 使用 NoSQL 数据库可以革命性地改变数据库速度。 如果您是一名数据库工程师,您可能已经知道 SQL 或 NoSQL 之间的争论不再是一个激烈的话题。 任何新的数据库程序员都可以使用 RavenDB 来学习 NoSQL 引擎。 RavenDB 操作简单,既有云端服务,也有本地机器服务,可以提供比其他数据库引擎更高的性能。

Ubuntu Linux 上的 RavenDB NoSQL 数据库

Linux 用户通常更喜欢 PostgreSQL 关系数据库引擎作为 goto 数据库引擎,但尝试不同的非关系数据库引擎并没有什么难的感觉。 RavenDB 大多是乐观的,而其他引擎是悲观的。 RavenDB 支持所有键值、基于文档、基于列和基于图形的 NoSQL。

在 RavenDB 中,您可以使用 ACID(原子性、一致性、隔离性、持久性)数据库来确保您的查询性能良好,不会发生查询冲突。 在这篇文章中,我们将了解如何在 Ubuntu 发行版上安装和使用 RavenDB。

第 1 步:安装 Microsoft-Prod 和运行时应用程序

要在 Ubuntu 上安装 RavenDB NoSQL 数据库,您需要确保您的系统已更新并且存储库运行顺畅。 运行下面给出的以下 aptitude 命令来更新和升级系统。

sudo apt update && sudo apt upgrade

现在,由于 RavenDB NoSQL 数据库最初是为 dot net 和基于 Windows 的系统创建的,因此我们需要在我们的 Ubuntu 系统上下载并安装 Microsoft Prob 包。 首先,运行下面给出的 wget 命令,在文件系统上下载 Microsoft Prob 包的编译版本。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

下载完成后,使用 root 访问权限运行以下 Debian 软件包安装程序命令以安装 Microsoft Prob 工具。

sudo dpkg -i packages-microsoft-prod.deb

安装 Microsoft Prob 工具后,我们现在需要安装 HTTP 传输工具和运行时工具,以确保我们在 Ubuntu 上安装 RavenDB NoSQL 数据库时不会遇到任何问题。

使用 root 访问权限运行下面给出的以下 aptitude 命令以安装 HTTP 传输层工具并更新存储库。

apt-get install apt-transport-https -y
apt-get update -y

您现在可以使用 root 访问权限运行下面给出的以下命令来安装运行时工具。

sudo apt-get install aspnetcore-runtime-3.1 -y

第 2 步:在 Ubuntu 上安装 RavenDB NoSQL 数据库

在这一步中,我们将看到如何下载 RavenDB 并将其安装在我们的 Ubuntu 系统上。 首先,运行下面给出的 wget 命令下载最新的 RavenDB 压缩版本。 该文件将自动存储在文件系统的主目录中。 如果您在下载时遇到任何问题,请更改您的 Linux 服务器位置并运行快速 apt-update 命令进行更新以刷新存储库。

wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest

在 ubuntu 上下载 RavenDB

下载完成后,以 root 访问权限运行下面给出的 tar 命令以提取 RavenDB 压缩文件。 提取文件后,您可能还需要运行下面给出的更改所有权命令以使文件可执行。

tar xvjf ravendb.tar.bz2
chmod -R 755 ~/RavenDB

现在,浏览 RavenDB 目录并运行正斜杠 run.sh 命令以在 Ubuntu 上运行 RavenDB NoSQL 数据库。 在终端外壳上,您将看到系统的应用程序名称、PID、构建版本、CPU 内核详细信息和内存状态。

$ cd ~/RavenDB
$ ./run.sh

在 ubuntu 上运行 ravendb

现在,我必须提到一件事,当您第一次从终端 shell 运行 RavenDB 时,它会打开 Web 界面并要求您设置数据库。 你可以 close 如果您想先进行配置,请使用浏览器。

在完成配置部分之后,我们将通过 Web 界面工具设置数据库。 由于 RavenDB 工具运行在垃圾回收 (GC) 模式,所以它不占用系统资源。

第 3 步:在 Ubuntu Linux 上配置数据库 RavenDB

在这个阶段,我们准备好设置服务器 IP 地址。 通常,每次打开 RavenDB 时,它都会自动选择一个新的网络端口来加载 Web 界面。 你可以在你的 Ubuntu 机器上编辑 RavenDB 数据库配置脚本来设置一个固定的 IP 地址和端口。 以 root 访问权限运行以下命令以编辑配置脚本。 当脚本打开时,将服务器 URL 和端口替换为您想要的地址。

sudo nano ~/RavenDB/Server/settings.json

您可以通过下面提供的配置脚本来更好地理解。

{
"ServerUrl": "https://172.0.0.1:0",
"Setup.Mode": "Initial",
"DataDir": "RavenData",
"Security.UnsecuredAccessAllowed": "PrivateNetwork"
}

RavenDB 配置脚本

设置网络 IP 地址后,您现在可以使用下面给出的 root 权限运行以下命令来编辑 Ubuntu 系统上的 RavenDB 守护程序。 该系统守护进程将保持 RavenDB 数据库在系统后台继续运行。

sudo nano /etc/systemd/system/ravendb.service

当系统守护程序脚本打开时,复制并粘贴下面给出的脚本以设置守护程序。

[Unit]
Description=RavenDB v4.0
After=network.target

[Service]
LimitCORE=infinity
LimitNOFILE=65536
LimitRSS=infinity
LimitAS=infinity
User=root
Restart=on-failure
Type=simple
ExecStart=/root/RavenDB/run.sh

[Install]
WantedBy=multi-user.target

在 Ubuntu 上将 RavenDB 配置为服务

现在保存脚本并 close 编辑。 然后,运行下面给出的系统控制命令以重新加载系统守护程序,在您的 Ubuntu 系统上启用并启动 RavenDB 数据库。

systemctl daemon-reload
systemctl start ravendb
systemctl enable ravendb

如果一切正常,您现在可以运行下一个系统控制命令来检查 RavenDB 数据库状态。

sudo systemctl status ravendb

此外,您还可以在 Ubuntu 系统上设置 UFW 防火墙规则以允许 RavenDB 网络端口。

sudo ufw allow <port>

第 4 步:Ubuntu 上的 RavenDB NoSQL 数据库 Web

正如我之前提到的,当您通过终端 shell 执行脚本时,RavenDB 数据库会自动在 Web 浏览器上打开。 在第一个 Web 界面中,您需要接受软件许可证才能继续。

浏览器上的 ravendb 接受协议

在下一步中,您将看到名为“安全”和“不安全”的两列。 在“安全”部分,您将找到加密选项 Let’s Encrypt; 或者,您也可以提供自己的证书。

从“不安全”列中选择“不安全”按钮以在 Ubuntu 机器上设置 RavenDB 数据库。

集群设置说明

当 RavenDB 设置向导打开时,您需要输入 HTTP 端口、TCP 端口、IP 地址来创建一个新的集群。 填写完所有必要的字段后,单击“下一步”按钮完成设置。 然后,您将需要重新启动服务器。

ubuntu 上的新集群设置

最后,在 Ubuntu 上运行 RavenDB NoSQL 数据库时快速重启后,您将找到探索数据库、服务器仪表板、集群仪表板和管理服务器的选项。 RavenDB 工具还会显示系统当前的 CPU 负载、RAM 负载和网络状态。

要创建新的 NoSQL 数据库,请单击屏幕右下角的“创建数据库”按钮。

在 Ubuntu 上安装 RavenDB NoSQL 数据库

当一个新窗口打开时,将您的数据库名称放在“名称”字段中,如果您正在创建独立数据库,则将复制值设置为 1。 最后,单击“创建”按钮完成数据库的构建。

在 ubuntu 上的 ravendb 上创建新数据库

结束语

毫无疑问,关系数据库非常好用且易于编写。 但是 NoSQL 确实意味着 No SQL,它代表“Not Only SQL”。 使用 RavenDB 练习 NoSQL 非常棒。 它支持 API 并且可以以分布式方式使用。 在整篇文章中,我们了解了如何在 Ubuntu 机器上安装 RavenDB 以及如何开始使用它。

如果您觉得这篇文章有用且技术性强,请与您的朋友和 Linux 社区分享。 您也可以在评论部分写下您对这篇文章的看法。 请务必访问 RavenDB 训练营 了解更多关于 RavenDB 的信息。