Датасорс (datasource)
Датасорс — элемент хранилища данных, который имеет уникальное имя и является СУБД или кластером СУБД поддерживаемого типа.
Система позволяет подключить к хранилищу множество датасорсов разных типов.
Конфигурация датасорсов
Параметры датасорсов настраиваются в конфигурации ноды Prostore в секциях <тип_датасорса>.datasource
по типам датасорсов. Например, параметры датасорсов типа ADP настраиваются в секции adp.datasource
.
Действия с датасорсами
Датасорс можно:
- добавить в хранилище данных,
- отключить для проведения восстановительных работ,
- восстановить после сбоя, устранив разницу в схеме данных и данных относительно других датасорсов,
- включить после проведения восстановительных работ.
Auto-failover (ADP)
Для ADP-датасорсов доступен механизм auto-failover: обнаружение сбойных датасорсов, их отключение (с перенаправлением запросов на оставшиеся датасорсы) и восстановление.
Состояния датасорсов (ADP)
Для ADP-датасорсов с включенным механизмом auto-failover доступно определение их физического состояния.
Ноды кластера периодически собирают информацию о доступности датасорсов и отправляют ее лидеру, а лидер определяет итоговое состояние по сведениям большинства нод.
Возможные состояния датасорса:
healthy
— датасорс доступен физически;not healthy
— датасорс недоступен физически;recovering
— датасорс доступен физически и сейчас восстанавливается. При успешном восстановлении перейдет в состояниеhealthy
, иначе останется вrecovering
;disabling
— датасорс недоступен физически и сейчас отключается. При успешном отключении перейдет в состояниеnot healthy
, иначе останется вdisabling
;null
— состояние неизвестно, или механизм auto-failover выключен.
Отслеживать состояния датасорсов можно с помощью запроса GET_HEALTH_STATE.
Статусы датасорсов
Статус датасорса означает его состояние на логическом уровне в разрезе логических БД окружения. Например, для одной логической БД датасорс может быть уже восстановлен и включен, а для другой — еще восстанавливаться.
Возможные статусы датасорса:
- Включен — работает для логической БД в полном объеме (по умолчанию). Запись и чтение данных доступны в полном объеме;
- Отключен — отключен для логической БД автоматически из-за сбоя или администратором для технических работ. Не участвует в запросах чтения и записи данных. Восстановление еще не запускалось, или попытка его запуска завершилось ошибкой;
- Восстанавливается — восстанавливается для логической БД после сбоя или технических работ и пока отключен. При успешном восстановлении перейдет в статус «Включен», при неуспешном — останется в статусе «Восстанавливается».
Отслеживать статусы датасорсов можно с помощью запроса GET_RECOVER_STATUS.
Имена датасорсов
Имена датасорсов настраиваются в конфигурации вместе с другими параметрами датасорсов.
Один датасорс каждого типа должен иметь имя, соответствующее имени его типа: adb
, adp
, adqm
или adg
. Остальные датасорсы того же типа могут иметь произвольные имена, составленные из латинских букв, цифр и символов подчеркивания. Например, в хранилище с двумя датасорсами типа ADP один из них должен называться adp
, а другой может называться произвольно: adp2
, adp_moscow
, test
и т.д.
Система не учитывает регистр в именах датасорсов, но для удобства различения в документации имена датасорсов написаны в нижнем регистре (например, adp и adp2), а СУБД и типы датасорсов — в верхнем регистре (например, ADP).
Указание датасорсов в запросах
Целевые датасорсы можно указывать в запросах:
- создания и удаления логических таблиц, прокси-таблиц и материализованных представлений;
- чтения и выгрузки данных.
Датасорсы задаются с помощью ключевого слова DATASOURCE_TYPE
. В HTTP-запросах на создание прокси-таблиц (CREATE PROXY TABLE, CREATE TABLE) на выбор датасорса также влияет параметр queryId.