Датасорс (datasource)
Датасорс — элемент хранилища данных, который имеет уникальное имя и является СУБД или кластером СУБД поддерживаемого типа.
Система позволяет подключать к хранилищу множество датасорсов разных типов. Имена и конфигурация датасорсов настраиваются в конфигурации отдельно для каждой ноды Prostore.
Действия с датасорсами
Датасорс можно:
- добавить в хранилище данных,
- отключить для проведения восстановительных работ,
- восстановить после сбоя, устранив разницу в схеме данных и данных относительно других датасорсов,
- включить после проведения восстановительных работ.
Состояния датасорсов
Датасорс может находиться в одном из следующих состояний:
- активное — состояние датасорса по умолчанию;
- неактивное — датасорс отключен; реплики данных, размещенные в этом датасорсе, не участвуют в запросах на чтение и запись данных.
Имена датасорсов
Один датасорс каждого типа должен иметь имя, соответствующее имени его типа: adb
, adp
, adqm
или adg
. Остальные датасорсы того же типа могут иметь произвольные имена, составленные из латинских букв, цифр и символов подчеркивания. Например, в конфигурации с двумя датасорсами типа ADP один из них должен называться adp
, а другой может называться произвольно: adp2
, adp_moscow
, test
и т.д.
Система не учитывает регистр в именах датасорсов, но для удобства различения в документации имена датасорсов пишутся в нижнем регистре (например, adp и adp2), а СУБД и типы датасорсов — в верхнем регистре (например, ADP).
Поддержка имен датасорсов в запросах
Датасорс можно указывать в запросах:
- создания и удаления логических таблиц,
- создания и удаления материализованных представлений,
- чтения и выгрузки данных.
Чтобы указать датасорс или список датасорсов в запросе, используйте ключевое слово DATASOURCE_TYPE
. Имена датасорсов должны быть из числа заданных в конфигурации системы.
Если датасорсы не указаны в запросе на создание или удаление таблицы/представления, данные размещаются во всех доступных датасорсах или удаляются из всех датасорсов, где размещены данные, соответственно.
Если датасорс не указан в запросе на чтение или выгрузку данных, система автоматически определяет наиболее подходящий для запроса тип датасорса, и затем, если в хранилище есть несколько датасорсов такого типа, выбирает один из подходящих датасорсов случайным образом.
Подробнее о том, как маршрутизируются запросы на чтение и выгрузку данных без указанного датасорса, см. в разделе Маршрутизация запросов к данным.