Логическая таблица
Содержание раздела
Логическая таблица — логическая сущность с версионированием данных и историей данных.
Логическая таблица поддерживает синхронную репликацию между несколькими датасорсами, но не поддерживает параллельную запись (параллельная запись возможна только в разные таблицы).
Для параллельной записи используйте снапшот-таблицы.
При создании логической таблицы система создает и далее поддерживает связанный набор физических таблиц, в которых хранятся как сами данные, так и информация об их версиях и истории.
Виды таблиц
Логические таблицы бывают следующих видов:
- обычные таблицы (не участвующие в партиционировании),
- партиционированные таблицы,
- партиции.
Обычная логическая таблица содержит полный набор данных, партиция — только те данные, в которых значение ключа партиционирования принадлежит одному из заданных диапазонов. Партиционированная таблица предоставляет доступ к данным партиций и не содержит сами данные.
Действия с таблицами
Работа с логическими таблицами напоминает работу с реляционными таблицами. Логические таблицы можно создавать, изменять и удалять. Также для таблицы можно настроить retention-правила.
Подробнее о retention-правилах см. в разделе Retention-правило, о настройке правил — в разделе Управление retention-правилами.
Данные логической таблицы можно загружать, обновлять, запрашивать и выгружать.
Обращение к истории данных
В отличие от обычных реляционных таблиц, логическая таблица хранит не только текущие, но и предыдущие состояния данных. Например, при смене номера телефона клиента сохраняются обе записи: запись с новым номером становится текущей, а запись со старым номером — исторической.
По умолчанию SELECT-запросы к логическим таблицам возвращают текущее состояние данных (на последнюю завершенную операцию по серверному времени). Чтобы запросить данные по состоянию на другой момент, используйте ключевое слово FOR SYSTEM_TIME.
Сравнение сo снапшот- и прокси-таблицами
В таблице ниже представлено сравнение логических таблиц со снапшот- и прокси-таблицами. Плюс означает, что свойство поддерживается или применимо к таблице, минус — что свойство не поддерживается или не применимо.
| Свойство | Логическая таблица | Снапшот-таблица | Прокси-таблица |
|---|---|---|---|
| Параллельная запись данных | – | + | + |
| Версионирование данных | + | + | – |
| История данных | + | – Но возможно отслеживание удалений записей | – |
| Запись данных в операциях записи | + | + | – |
| Запись данных в дельте | + | – | – |
| Синхронная репликация данных в несколько датасорсов | + | + | – |
| Восстановление механизмом auto-failover при сбое датасорсов | + | + | – |
| Уровень консистентности данных при чтении | Linearizability | От Casual до Linearizability (в зависимости от настроек таблицы и параметров запроса) | Неприменимо, так как всегда 1 реплика |
Статистика по таблице
По умолчанию система собирает статистику по логическим сущностям. Подробнее о просмотре, отключении и обнулении статистики см. в разделе Управление статистикой.