Базы данных являются ключевой состовляющей в работе различных комплексов построенных на основе Linux. В разделе рассматриваются популярные базы данных, которые можно успешно применять в Linux.
Продолжая рассказ о работе базы данных SQLite, начало смотри здесь, рассмотрим программу, которая позволяет облегчить управление SQLite. Не всем пользователям нравится выполнять обслуживание б.д вводя команды из консоли. Утилита SQLiteStudio имея встроенный графический интерфейс, призвана облегчить обслуживание SQLite.
Подготовка.
Стенд:
ALT Linux, имя lin-sqllite; ip-10.0.2.11;
Simply Linux, имя: lin-sl, IP=10.0.2.30
Сервер и рабочая станция должны иметь обновления на день установки программы.
Установка SQLiteStudio.
Выбор программы возможен, как из репозиотория так и сайта производителя. Мы покажем оба варианта установки программы. После обновления системы из консоли сервера или с помощью графического менеджера Synaptic, выполняем установку.
# apt-get install sqlitestudio
Процесс инсталяции займёт несколько секунд, после чего можно приступить к запуску студии для работы с базой SQLite.
Если необходимо произвести установку пакета студии с сайта производителя, скачайте архив, разверните и выполните…
$ tar xvf sqlitestudio-X.X.X.tar.xz
Не забудьте проверить контрольную сумму скаченного архива.
$ md5sum sqlitestudio-X.X.X.tar.xz
Запуск и работа.
Если работаете из консоли, то для старта достаточно ввести команду…
$ sqlitestudio
Скаченный архив с сайта, проверенный и распакованный, запускаем, перейдя в папку распакованного архива, командой…
[user@sl SQLiteStudio]$ ./sqlitestudio
При первом старте программа предложит выбрать язык общения.
После чего необходимо нажав кнопку «Базы данных» и подключить SQLiteStudio к исследуемой б.д.
В развернутом представлении окна интерфейса, щёлкая по названию базы, мы попадаем в структурное дерево исследуемой базы.
Если студия установлена на рабочей станции, то после установки иконка запуска появится в дереве программ.
Заключение.
Удобство работы с программами даёт широкие возможности для администраторов и пользователей. Возможность использования оконных программных средств позволяет привлекать большое количество людей, особенно пришедших из Windows, к выполнению административных задач для управления цифровым пространством работающим на Linux.
SQLite отличается от MySQL, Oracle, PostgreSQL, SQL Server… Он не предназначен в качестве замены или конкурента, какой-либо из выше перечисленных систем. Его не нужно устанавливать и настраивать, ему не требуется отдельного серверного процесса для запуска и остановки — это библиотека бессерверного компонента, размер которой менее 750 КБ. При обслуживании не требуется создавать новый экземпляр бд и раздавать права доступа. У SQLite нет файла конфигурации и режима клиент серверной связи с ядром процессора (например TCP / IP), для обмена результатами.
SQLite является встроенным, а не клиент-серверным механизмом, не существует отдельного серверного процесса для управления БД. Приложение взаимодействует с механизм базы данных с помощью вызововфункций, а не отправки сообщений отдельному процессу или потоку.
В SQLite все процессы имеют доступ к бд, как к простому текстовому файлу лежащему на диске. Читать бд могут несколько процессов, записывать только один, остальные ждут.
Отличительные особенности:
Нулевая конфигурация
Бессерверный
Текстовый файл базы данных
Единая БД для всех архитектур
Компактный
Хранит любые типы данных
Управляет длиной записи таблиц
Удобен в чтении кода
В качестве компилятора работает виртуальная машина
Общественная лицензия
Применения SQLite охватывает широкий круг устройств: телефоны, смартфоны, приставки, веб-сервера, веб-браузеры (Firefox, Chrome и Safari), Skype, iTunes… Имея кросс платформенную поддержку используется на 32 и 64 разрядных устройствах.
Лицензия для SQLite является общественным достоянием, любой может свободно копировать, изменять, публиковать, использовать, компилировать, продавать или распространять исходный код SQLite, либо в виде исходного кода, либо в виде скомпилированного двоичного файла, для любых целей, коммерческих или некоммерческих, и любыми средствами.
Подготовка.
Стенд:
ALT Linux, имя lin-sqllite; ip-10.0.2.11;
Simply Linux, имя: lin-sl, IP=10.0.2.30
Выбрав и установив сервер минимум, обновляем его репозиторий.
# apt-get update; apt-get dist-upgrade
Для установки можно воспользоваться графическим менеджером управления пакетами Synaptic.
# apt-get install synaptic
# synaptic
Установка консольной sqlite3 утилиты объекта подключения к БД.
# apt-get install sqlite3
Скомпилировать sqlite можно, скачав исходники с сайта производителя.
Управление SQlite.
Прежде чем использовать sqlite разберёмся, на нескольких примерах, с синтаксисом вводимых команд. По умолчанию, при первом запуске, мы подключаемся к главной базе main database file.
$ sqlite3
sqlite> .database
main: "" r/w
sqlite>
Посмотрим какой справочный аппарат входит в утилиту.
Перед вводимой командой должна стоять точка, после ввода инструкций ставим точку с запятой или / «go» и «Enter». Для комментарий используем «#» без пробела перед знаком. Для выхода из sqlite нажимаем ctrl+D, для прерывания выполнения ctrl+C.
Примеры работы.
Создадим базу данных с именем rtr.db
Название базы можно указывать без расширения, но для корректной работы, следует придерживаться правилам синтаксиса для баз данных — указав суффикс db
$ sqlite3 rtr.db
Если отсутствует название бд — создается временная база данных, которая автоматически удаляется при завершении работы программы sqlite3.
Построим таблицу tab внутри бд rtr.db с одним текстовым и двумя числами столбцами, как показано ниже.
sqlite> create table tab(one text, two int);
Заполним таблицу tab некоторыми значениями.
sqlite> insert into tab values('Привет', '23');
Выведем информацию таблицы на экран.
sqlite> select * from tab;
Привет|23
sqlite>
С помощью параметра .mode изменим формат вывода с list на column.
sqlite> .mode
current output mode: list
sqlite> .mode column
sqlite> select * from tab;
one two
------ ---
Привет 23
sqlite>
По умолчанию установлен формат list, после выхода из оболочки настройки формата не сохраняются.
Просмотреть таблицы, схемы и индексы можно командами.
Все мы используем браузер на своих цифровых устройствах. Но, мало, кто догадывается, что в большинстве из них в качестве бд работает — sqlite. Если просмотреть каталоги профиля своего обозревателя, например Firefox, мы заметим два неприметных файла cert9.db и key4.db.
key4.db — хранилище паролей
cert9.db — хранилище сертификатов
Давайте попробуем заглянуть внутрь этих файлов, предварительно скопировав их, для безопасности, в локальную папку. При попытке открыть для чтения любой из них, мы получим предупреждение.
Теперь мы знаем о чём идёт речь — установим sqlite, как показано выше. После чего открываем базу cert9.db для выполнения манипуляций.
По условию мы находимся в каталоге где лежат cert9.db, key4.db.
После экспорта таблиц в Exel, вызывав последнею инструкцию мы увидим окно вывода значений таблицы.
Такие действия можно выполнить с базой key4.db.
Заключение.
По своим характеристикам SQLite не может конкурировать с большими корпоративными базами, её задача состоит в другом — работать там где будет «тесно» большим БД. Разворачивая большие базы мы вместе с функционалом получаем множественное дерево папок и журналов, всё это занимает место в ОЗУ и HDD устройства и как результат влияет на размер изделия. Не смотря на свои небольшие возможности SQLite поддерживает резервное копирование, индексацию, откат после аварии, форматы времени и языков, управление с помощью графической утилиты SQLiteStudio и многое другое.
Система управления базами данных СУБД «Енисей» относится к типу не реляционной БД «NoSQL» — включен в реестрроссийскогоПО при Минцифры.
Главное отличие реляционной БД «NoSQL» от реляционной базы данных, например PostgreSQL — моделирования схемы.
В реляционной базе, данные разделяется или нормализуется на несколько частей, для хранения в отдельных таблицах, отношения между которыми определяются ключами. В базе данных NoSQL записи хранится в качестве атрибутов, как единый документ JSON.
JSON(ДжейСон) – объект JavaScript — метод хранения и передачи информации структурированного характера. Позволяет сохранять любую информацию за счет простого синтаксиса.
Подготовка.
Стенд:
Сервер Astra Linux 2.12 и выше; имя: lin-ast, IP=10.0.2.20
СУБД «Енисей»
Требование к оборудованию.
Минимальные требования
ЦПУ: 2 x -64
частота: >= 2 ГГц
ОЗУ: >= 4Gb
HDD: >=8Gb
Порядок установки СУБД требует, чтобы пользователь, от имени которого выполняется установка, имел право на выполнение команды sudo.
Выполнить из консоли сервера.
trt@ast:~$ sudo -i
root@astra:~#
Сам процесс установки заключается в предварительном скачивании установочного сценария distrib.tar.gz с сайта производителя, распаковки архива distrib.tar.gz и инициализации процесса установки.
Сохранить архив в каталоге home и распаковать.
root@ast:~# cd /home
root@ast:/home# ls
distrib.tar.gz
root@ast:/home# tar xfv distrib.tar.gz
При распаковке создаётся каталог distrib, переходим в него и запускаем установку.
root@ast:/home# cd distrib
После запуска установщика ./install.sh, начинается процедура скачивание с сайта производителя, установочного docker образа, распаковки и установки «Енисей» на устройство пользователя.
Технология docker включает в себя создание и настройку контейнера с программным изделием, на устройстве производителя, куда включены все базовые службы программы.
контейнер с изделием проходит этап архивацию и готов для передачи пользователю, для автоматического развёртывания и регистрации всех служб изделия на устройстве пользователя.
root@astra:/home# cd distrib
root@astra:/home/distrib# ./install.sh
Запуск процедуры установки ПО СУБД "Енисей" означает согласие с условиями Лицензионного соглашения (файл EULA.txt)
Вы ознакомились с Лицензионным соглашением? (y - Да / n - Нет)y
Установка ...
...
Необходимо скачать 11,4 kБ архивов
...
Необходимо скачать 58,7 MБ архивов
...
[IMAGENARIUM]: Ожидание запуска консоли управления ...
[IMAGENARIUM]: Выполнено
Проверяем состояние СУБД после установки.
trt@ast:~$ sudo -i
root@ast:~# systemctl status docker
...
Active: active (running)...
...
Последнее, что надо сделать включить режим автозагрузки для демона docker.
Когда установочные операции успешно закончатся, необходимо запустить браузер и ввести URL http://10.0.2.20:5555/ для входа в сетевой интерфейс сервера «Енисей».
Настройка.
После ввода URL СУБД «Енисей», откроется окно приглашения для ввода логин / пароль, из коробки это; admin / YeniPass#123.
Измените пароль при настройке профиля пользователя admin.
При успешной авторизации попадаем в дашборд графической консоли СУБД «Енисей».
Для развёртывание докер-образов, нажать Deploy, выбрать кластер или одинарный СУБД.
Можно воспользоваться готовыми шаблонами докер-образов.
Предупреждение о развертывании нового пакета докер-образов с потерей всех предыдущих данных.
Заключение.
Новые типы баз данных предоставляют компаниям возможность выбора для хранения документов. Для подробного ознакомления и обучения, на сайте компании СУБД «Енисей выложены руководства оператора и системного программиста.