Возможности системы

Содержание раздела
  1. Единый синтаксис и единый интерфейс
  2. Темпоральность
  3. Изоляция данных
  4. Быстрые запись и чтение данных
  5. Различные варианты структуры хранилища
  6. Автовыбор оптимальной СУБД для исполнения запроса
  7. Возможность подключения таблиц СУБД
  8. Устойчивость к дублированию данных

Единый синтаксис и единый интерфейс

Работа с системой ведется через JDBC-интерфейс. В продуктивных инсталляциях внешняя система обращается к системе Prostore, отправляя запросы с помощью программных вызовов. Также все описанные в документе запросы можно отправлять вручную с помощью любого SQL-клиента.

Система предоставляет собственный язык запросов SQL+ на основе SQL. Это позволяет работать со всеми поддерживаемыми СУБД, используя единый синтаксис.

Связанные разделы:

Темпоральность

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

В отличие от традиционных СУБД, в системе используется темпоральная модель данных: для каждого объекта хранятся все его состояния от момента создания до момента уничтожения объекта. Это позволяет работать как с текущими, так и прошлыми состояниями данных.

Примеры бизнес-применений темпоральной модели данных:

  • вычисление тенденций во времени,
  • аудит изменений данных,
  • обнаружение аномалий в данных,
  • восстановление состояния данных на любой момент в прошлом,
  • восстановление отдельных записей после случайных изменений,
  • поддержка медленно меняющихся измерений (Slowly Changing Dimensions, SCD).

Связанные разделы:

Изоляция данных

Система позволяет управлять видимостью данных, изолируя их при чтении на основании номера версии или метки времени, соответствующей этим данным. Уровнем изоляции данных можно управлять с помощью ключевого слова FOR SYSTEM_TIME.

Быстрые запись и чтение данных

Система позволяет оптимизировать работу в зависимости от предполагаемого объема данных. Для записи и чтения больших объемов данных предназначены функции загрузки и выгрузки данных, для записи и чтения небольших объемов — функции вставки и чтения.

Связанные разделы:

Различные варианты структуры хранилища

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

В зависимости от задач и нагрузки можно сочетать СУБД в разных вариантах:

  • равноправная схема, где все СУБД работают параллельно;
  • иерархическая схема, где есть главная СУБД и подчиненные СУБД.

Связанные разделы:

Автовыбор оптимальной СУБД для исполнения запроса

В системе действует автовыбор оптимальной СУБД для запросов на чтение и выгрузку данных. Если в запросе явно не указана СУБД-источник данных, он перенаправляется в наиболее оптимальную СУБД для такого рода запросов. Функция автовыбора СУБД учитывает сильные стороны каждой из СУБД хранилища. Подробнее см. в разделе Маршрутизация запросов к данным.

Возможность подключения таблиц СУБД

Система позволяет включать в схему данных обычные таблицы СУБД хранилища (standalone-таблицы). Такие таблицы включаются вне контекста темпоральности и изоляции и могут применяться в задачах, где темпоральность избыточна. Работа со standalone-таблицами ведется с использованием синтаксиса SQL+.

Устойчивость к дублированию данных

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