Это дополнительный пост из серии об интеграции Interbase с приложениями .NET, и сегодня мы поговорим о невероятной функции Interbase под названием Change Views™.
На всякий случай, если это ваш первый визит сюда, у меня есть резюме для вас в хронологическом порядке, в котором были опубликованы предыдущие сообщения:
- Представляем InterBase для .NET — сверхзащищенное встроенное хранилище данных для пользователей .NET
- Начало работы с InterBase для .NET — установка, настройка и защита данных за считанные минуты
- Ваше первое приложение .NET/Interbase — Как соединить .NET и защищенное хранилище данных Interbase
- Приложения .NET, использующие встроенную базу данных Interbase — как развернуть безопасное приложение базы данных без необходимости установки/администрирования
Interbase Change Views™
Это официальное определение Change Views:
Функция Change Views использует многопоколенческую архитектуру InterBase для регистрации изменений в данных. Эта функция позволяет быстро ответить на вопрос: «Какие данные изменились с тех пор, как я последний раз просматривал их?»
Раньше это включало триггеры, ведение журнала и/или очистку журнала транзакций с упреждающей записью. Это отнимало много времени у разработчика и влияло на производительность базы данных при определенной загрузке транзакций или объеме изменений. Теперь с Change Views нет накладных расходов на производительность существующих транзакций, поскольку поддерживается согласованное представление измененных данных, наблюдаемых другими транзакциями.
Механизм изменения представлений не зависит от его собственных базовых данных, а основан на данных, уже сохраненных для существующих базовых таблиц или представлений, полученных из базовых таблиц. Этот механизм неявного представления основан на времени и возвращает данные, которые изменились с момента предыдущей транзакции, в которой наблюдалось неявное представление.
Звучит сложно? Нисколько! Давайте рассмотрим основные концепции Change Views:
-
Что такое представления изменений?
- Представления изменений — это новая модель «на основе подписки», позволяющая вам «подписываться» на данные; после подписки вы можете позже запросить базу данных, охватывая соединения, о том, что изменилось. Это особенно крутой и недорогой способ сократить сетевой трафик, стоимость мобильных данных и время разработки, когда нужно поддерживать в актуальном состоянии несколько кэшей удаленных баз данных. (особенно если у вас есть большие таблицы для обновления). Представления изменений просты в использовании и сокращают предварительное планирование, необходимое для встраивания отслеживания данных, которые, как показала история, по своей природе сложны и подвержены ошибкам. Лучше всего, что представления изменений не влияют на производительность базы данных независимо от количества подписчиков.
-
Подписка и подписчики
- Основной концепцией изменения представлений являются подписки и подписчики. Представление InterBase Change позволяет подписаться нескольким подписчикам. Подписка определяется один раз, после чего к ней могут подключиться несколько пользователей. После определения вы можете контролировать, кто может подписаться, благодаря встроенной системе безопасности пользователей InterBase. Подписки работают на уровне поля и могут быть определены для отслеживания либо всей таблицы, либо нескольких таблиц. Подписки также могут быть определены для отслеживания вставок, обновлений или удалений.
-
Несколько устройств на абонента
- В дополнение к разрешению определенным пользователям подписываться на данные, вы можете использовать одного пользователя, чтобы иметь несколько мест назначения, которые подписываются. Это позволяет пользователю подписываться на разные устройства, такие как телефон, планшет, ноутбук, или на одного пользователя, который будет использоваться программно для различения нескольких сайтов, например, Office 1, Office 2 и т. д.
- Делается это с помощью глагола «at» при подключении к подписке.
-
Что НЕ является просмотром изменений!
- Представления изменений не являются системой аудита. Несмотря на то, что вы можете отслеживать удаленные записи, представление изменений предназначено для определения того, что изменилось, без сохранения всех значений, которые были. Если вы хотите это сделать, продолжайте использовать триггеры и таблицы журналов для значений, которые необходимо проверить.
Введение в Interbase Change Views
В этом видео представлены концепции Change Views с использованием очень наглядной демонстрации, которая доступна для вас в репозитории IB.NET DataProvider GitHub: https://github.com/Embarcadero/IB.NETDataProvider .
Кроме того, для получения дополнительных технических деталей и других возможностей я приглашаю вас посетить документацию по продукту, расположенную здесь: https://docwiki.embarcadero.com/InterBase/2020/en/Change_Views