Датасорс (datasource)

Датасорс — элемент хранилища данных, который имеет уникальное имя и является СУБД или кластером СУБД поддерживаемого типа.

Система позволяет подключать к хранилищу множество датасорсов разных типов. Имена и конфигурация датасорсов настраиваются в конфигурации отдельно для каждой ноды Prostore.

Действия с датасорсами

Датасорс можно:

Состояния датасорсов

Датасорс может находиться в одном из следующих состояний:

  • активное — состояние датасорса по умолчанию;
  • неактивное — датасорс отключен; реплики данных, размещенные в этом датасорсе, не участвуют в запросах на чтение и запись данных.

Имена датасорсов

Один датасорс каждого типа должен иметь имя, соответствующее имени его типа: adb, adp, adqm или adg. Остальные датасорсы того же типа могут иметь произвольные имена, составленные из латинских букв, цифр и символов подчеркивания. Например, в конфигурации с двумя датасорсами типа ADP один из них должен называться adp, а другой может называться произвольно: adp2, adp_moscow, test и т.д.

Система не учитывает регистр в именах датасорсов, но для удобства различения в документации имена датасорсов пишутся в нижнем регистре (например, adp и adp2), а СУБД и типы датасорсов — в верхнем регистре (например, ADP).

Поддержка имен датасорсов в запросах

Датасорс можно указывать:

  • в запросах создания и удаления логических таблиц, прокси-таблиц и материализованных представлений,
  • в запросах чтения и выгрузки данных.

Чтобы указать датасорс или список датасорсов в запросе, используйте ключевое слово DATASOURCE_TYPE. Имена датасорсов должны быть из числа заданных в конфигурации системы.

Если датасорсы не указаны в запросе на создание или удаление таблицы/представления, данные размещаются во всех доступных датасорсах или удаляются из всех датасорсов, где размещены данные, соответственно.

Если датасорс не указан в запросе на чтение или выгрузку данных, система автоматически определяет наиболее подходящий для запроса тип датасорса, и затем, если в хранилище есть несколько датасорсов такого типа, выбирает один из подходящих датасорсов случайным образом.

Подробнее о том, как маршрутизируются запросы на чтение и выгрузку данных без указанного датасорса, см. в разделе Маршрутизация запросов к данным.