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