RavenDB — это нереляционная база данных (NoSQL) с открытым исходным кодом. Она разработана для платформы .NET. и соответствует требованиям ACID. RavenDB поддерживает работу с несколькими БД, имеет продвинутый язык запросов и обеспечивает высокую отказоустойчивость. Кроме того, её возможно интегрировать с реляционными базами данных.

RavenDB используется для хранения первичных данных и способна обрабатывать транзакции с несколькими документами. Это улучшает производительность приложений и позволяет более гибко выполнить их настройку.

Но как установить RavenDB? Расскажем на примере системы Ubuntu Server (20.04). Все действия будут выполняться от имени ROOT-пользователя.

Установка зависимостей для RavenDB

Первым делом нужно установить дополнительный репозиторий для скачивания необходимых зависимостей.

Для этого выполните вход в систему и введите команду:

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

После того как файл «.deb» загрузится, установите его:

sudo dpkg -i packages-microsoft-prod.deb

Обновите список пакетов:

sudo apt-get update

Установите необходимые зависимости:

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

Установка и настройка RavenDB

Теперь нужно скачать саму программу:

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

Когда загрузка закончится, распакуйте архив с RavenDB следующей командой:

tar xvjf ravendb.tar.bz2

После завершения процесса должен появиться новый каталог с именем «RavenDB». Можно оставить его или переместить в другое место.

Допустим, вы решите оставить его там же. При этом предположим, что все предыдущие действия выполнялись от имени ROOT-пользователя. В таком случае прямой путь к папке с программой будет «/root/RavenDB». Эта информация пригодится на следующих этапах настройки ПО.

Затем мы должны создать конфигурационный файл RavenDB:

nano ~/RavenDB/Server/settings.json

Откроется пустой документ. В него нужно внести следующий код:

{
  "DataDir": "RavenData",
  "Setup.Mode": "Initial",
  "Security.UnsecuredAccessAllowed": "PublicNetwork",
  "ServerUrl": "http://SERVER_IP:8080",
}

Здесь:

  • «SERVER_IP» — IP-адрес сервера c размещённой RavenDB.
  • «8080» — сетевой порт, через который RavenDB будет принимать запросы. (можно не изменять)

После внесения параметров сохраните и закройте файл.

Добавление RavenDB в автозагрузку

Теперь необходимо создать юнит «systemd», чтобы можно было управлять работой 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

Здесь «/root/RavenDB/run.sh» — это путь к скрипту запуска RavenDB.

Не используйте относительный адрес от домашней папки «~/». Иначе «systemd» не сможет найти файл.

Сохраните и закройте скрипт.

Перезагрузите «systemd»:

sudo systemctl daemon-reload

Теперь запустите и добавьте в автозагрузку RavenDB с помощью команд:

sudo systemctl start ravendb
sudo systemctl enable ravendb

Сейчас RavenDB работает и слушает порт 8080.

Получение доступа к веб-интерфейсу RavenDB

Теперь, когда программа запущена, можно получить доступ к веб-интерфейсу настройщика RavenDB.

Для этого откройте браузер и введите «http://SERVER_IP:8080». Здесь «SERVER_IP» — это IP-адрес сервера, на котором работает RavenDB.

Откроется страница лицензионного соглашения с конечным пользователем (EULA) RavenDB.

В следующем окне нужно выбрать безопасный (с SSL-сертификатом) или небезопасный (без него) способ соединения с RavenDB.

Небезопасный («UNSECURE») подходит для разработки. В данном случае был выбран именно он.

Если будете использовать сервер в коммерческих целях, настоятельно рекомендуем выбрать вариант с SSL-сертификатом.

Теперь, в появившемся окне, необходимо указать порт HTTP, порт TCP и IP-адрес для завершения настройки.

В качестве HTTP-порта нельзя использовать значение «8080», так как оно уже занято мастером настройки. Поэтому выберите другой порт (например, «8081»). Для TCP можно выбрать вариант по умолчанию: «38888».

В поле с IP-адресом стоит указать значение, которое вводилось в конфигурационном файле «settings.json» на ранних этапах настройки. В будущем по этому адресу будет доступен веб-интерфейс для работы с RavenDB.

Заполнив все пункты, нажимайте на «Next» («Далее»).

В следующем окошке нажмите на «Restart Server» («Перезапустить сервер»).

В браузере произойдёт редирект на другую страницу, где отобразится уже полноценный веб-интерфейс RavenDB. С его помощью можно сделать всё, что вам нужно от программы.

Поздравляю, теперь у вас есть сервер с мощной, масштабируемой нереляционной базой данных RavenDB.

 

Автор оригинала: Jack Wallen