Перейти к содержанию

Создание подключения к базе данных

Подключение к базе данных хранит всё, что нужно системе для обращения к внешней базе данных с исходными данными аналитики: тип СУБД, сетевой адрес, учётные данные и — если база этого требует — SSL-сертификаты. Подключения создаются и управляются на странице Подключения, которая открывается из главного меню.

Область действия и предварительные условия

  • Подключение относится к версии проекта, открытой в момент его создания. У каждой версии свой набор подключений; при создании новой версии подключения родительской версии копируются в неё вместе с сертификатами
  • Проект должен быть открыт — в списке отображаются только подключения текущей открытой версии проекта
  • Целевая база данных должна принимать входящие соединения от сервера приложения. IP-адрес сервера отображается над списком подключений вместе с кнопкой Копировать IP-адрес; этот адрес нужно разрешить в настройках сетевого доступа целевой базы данных
  • Создание подключения доступно суперадминистраторам, администраторам компании, менеджерам проекта и разработчикам. Аналитик может просматривать и проверять подключения, но не может их создавать

Поддерживаемые типы СУБД

Тип базы данных Схема SSL Особенности
PostgreSQL Указывается явно в поле Схема базы данных, по умолчанию — public Не настраивается Полный набор типов данных
Microsoft SQL Server В форме не указывается — используется схема dbo Не настраивается
ClickHouse В форме не указывается — вместо неё используется название базы данных Настраивается на вкладке SSL Шифрование TLS с CA- и клиентскими сертификатами

От типа базы данных зависит состав полей формы и набор проверок, выполняемых при проверке подключения. Тип можно изменить и позже, при редактировании подключения.

Создание подключения

  1. Откройте страницу Подключения и нажмите Добавить подключение
  2. Заполните поля на вкладке Параметры (см. таблицу ниже)
  3. Для подключения к ClickHouse откройте вкладку SSL и, если сервер требует TLS, установите флажок Использовать SSL и загрузите файлы сертификатов. Для остальных типов СУБД вкладка недоступна
  4. Нажмите Проверить, чтобы проверить параметры до сохранения
  5. Нажмите Сохранить

Параметры подключения

Параметр Обязательность Описание
Название подключения Да 1–64 символа. Допустимы латинские и кириллические буквы, цифры, пробелы, точки, дефисы и подчёркивания; название не может начинаться с пробела, точки, дефиса или подчёркивания. Должно быть уникальным в рамках версии проекта
Тип базы данных Да PostgreSQL, Microsoft SQL Server или ClickHouse
Хост базы данных Да Доменное имя, адрес IPv4 или IPv6 сервера базы данных — без схемы, порта и пути
Порт базы данных Да Целое число от 1 до 65535
Название базы данных Да Имя базы данных, к которой выполняется подключение
Схема базы данных Да, для PostgreSQL Имя схемы, по умолчанию — public. Для Microsoft SQL Server и ClickHouse поле скрыто
Пользователь базы данных Да Учётная запись в целевой базе данных. Учётной записи нужны права на чтение метаданных базы и таблиц-источников
Пароль пользователя Да Пароль этой учётной записи. Шифруется до отправки из браузера и хранится в зашифрованном виде

Доступность полей в зависимости от типа СУБД

Поле PostgreSQL Microsoft SQL Server ClickHouse
Название подключения Да Да Да
Тип базы данных Да Да Да
Хост базы данных Да Да Да
Порт базы данных Да Да Да
Название базы данных Да Да Да
Схема базы данных Да Нет Нет
Пользователь базы данных Да Да Да
Пароль пользователя Да Да Да
Использовать SSL и поля сертификатов Нет Нет Да

SSL-сертификаты

Вкладка SSL доступна только для подключений к ClickHouse. Поля сертификатов становятся активными после установки флажка Использовать SSL.

Поле Описание
Использовать SSL Включает TLS для соединения и активирует поля сертификатов
Сертификат центра сертификации (CA) Корневой сертификат удостоверяющего центра
Клиентский сертификат Клиентский сертификат для взаимной аутентификации
Закрытый ключ клиента Закрытый ключ, соответствующий клиентскому сертификату

У каждого поля сертификата есть кнопка загрузки (Загрузить) и кнопка Удалить, очищающая загруженный файл. Требования к файлам:

  • Допустимые расширения: .crt, .pem, .cer, .ca-bundle, .bundle
  • Максимальный размер одного файла — 1 МБ. Файл большего размера отклоняется с сообщением «Максимальный размер файла: 1 мегабайт»

Загруженные сертификаты хранятся в зашифрованном виде; в форме затем отображаются только имена их файлов.

Проверка подключения до сохранения

Кнопка Проверить проверяет параметры, введённые в форму в данный момент. При этом ничего не создаётся и не сохраняется: система устанавливает временное соединение с базой данных и, в зависимости от типа СУБД, дополнительно подтверждает существование целевого объекта.

  • PostgreSQL — указанная схема должна существовать
  • Microsoft SQL Server — указанная база данных должна существовать
  • ClickHouse — сервер должен отвечать, а указанная база данных — существовать

Успешная проверка сопровождается уведомлением «Подключение к базе данных успешно установлено». При неуспешной проверке отображается причина (см. сообщения ниже).

Что происходит при сохранении подключения

  • Выполняется проверка формы: обязательные поля, формат значений и уникальность названия подключения в рамках версии
  • Создаётся запись подключения, а SSL-сертификаты, если они заданы, загружаются в зашифрованное хранилище
  • Система подключается к базе данных и считывает её схему — список таблиц и колонок с типами данных
  • Схема сохраняется как закешированный снимок, который затем используют конструктор таблиц фактов, модель данных и конструктор витрин, не обращаясь к базе повторно
  • При успехе подключение получает статус Активно, в столбец Последнее обновление записывается текущее время и отображается уведомление «Подключение к базе данных выполнено успешно»
  • Если какой-либо из этапов завершился ошибкой, подключение сохраняется со статусом Ошибка обновления
  • Событие записывается в системный журнал вместе с параметрами подключения: тип, хост, порт, имя пользователя и признак использования SSL

Сохранение подключения, которое не удаётся установить

Если проверка при сохранении завершилась ошибкой, открывается диалог Проверьте настройки подключения с текстом «Подключение с текущими настройками не может быть установлено. Вы действительно хотите сохранить его?» и двумя кнопками:

  • Вернуться к настройкам — закрывает диалог и оставляет форму открытой для исправлений
  • Все равно сохранить — сохраняет подключение со статусом Ошибка обновления; отображается предупреждение «Подключение к базе данных сохранено, но не может быть установлено»

Сохранённое так подключение остаётся в списке: его можно исправить через редактирование или обновить, когда база данных станет доступна.

Проверки и сообщения об ошибках

Сообщение Причина
«Неверный формат названия подключения» Название пустое, начинается с пробела, точки, дефиса или подчёркивания, длиннее 64 символов либо содержит недопустимые символы
«Подключение с таким названием уже существует. Пожалуйста, выберите другое название» Название уже занято другим подключением этой версии проекта
«Неверный формат хоста базы данных» Значение не похоже на доменное имя или IP-адрес
«Адрес указан неверно: введите доменное имя или IP-адрес без схемы, порта и пути» Хост введён вместе со схемой, портом или путём
«Этот адрес недопустим в качестве адреса базы данных. Если база находится во внутренней сети, обратитесь к администратору.» Исходящие подключения на этот адрес запрещены. Перечень доступных адресов задаёт администратор в конфигурации сервера
«Аутентификация не удалась: пароль неверен, или пользователя с таким логином не существует» Неверное имя пользователя или пароль
«Доступ запрещен. Пожалуйста, проверьте ваше имя пользователя и пароль» Учётная запись существует, но не имеет доступа к указанной базе данных
«База данных не существует. Пожалуйста, проверьте имя базы данных» На сервере нет базы данных с таким именем
«Указанная схема не существует. Пожалуйста, проверьте имя схемы» В базе данных нет схемы с таким именем (PostgreSQL)
«Ошибка SSL-соединения. Пожалуйста, проверьте настройки SSL и корректность сертификатов» Сертификаты не соответствуют серверу, недействительны или срок их действия истёк
«Попытка соединения с базой данных истекла. Пожалуйста, попробуйте снова» Сервер не ответил за отведённое время
«Не удалось установить соединение» Хост недоступен или соединение отклонено
«Максимальный размер файла: 1 мегабайт» Выбранный файл сертификата больше 1 МБ

Примечания:

  • Пароль ни на одном этапе не хранится в открытом виде: он шифруется в браузере перед отправкой и шифруется повторно перед записью в базу данных
  • Файлы сертификатов хранятся только в зашифрованном хранилище; в записи подключения остаются лишь имена файлов
  • Работа с существующими подключениями — список, обновление закешированной схемы, активация, редактирование и удаление — описана на следующей странице