Стандартные таблицы Dataverse и виртуальные таблицы: когда перестать копировать данные
By Mirko Peters ·
Сравнение стандартных таблиц Dataverse и виртуальных таблиц. Узнайте, когда стоит прекратить копирование корпоративных данных и перейти к живым окнам во внешние системы.
Automatically translated with AI from the original post. Read the English original

Выбор между стандартной таблицей Dataverse и виртуальной таблицей определяет, насколько эффективно ваш бизнес работает с внешними данными. Стандартные таблицы хранят записи непосредственно в Dataverse, тогда как виртуальные таблицы создают живые окна во внешние ERP-, складские или финансовые системы, избавляя от рискованных ночных заданий синхронизации и устаревшей информации.
Главное
- Стандартные таблицы Dataverse постоянно хранят записи локально, тогда как виртуальные таблицы отображают живые записи, получаемые по запросу из внешних источников.
- Использование виртуальных таблиц устраняет необходимость в ночных заданиях синхронизации, из-за которых отделы продаж рискуют работать с устаревшими данными о запасах.
- Архитектурные решения должны опираться на то, где на самом деле должны находиться основной бизнес-процесс и управление жизненным циклом записей.
- Производительность, разрешения безопасности и возможности фильтрации на виртуальных таблицах работают иначе из-за зависимости от внешних данных.
- Организации могут сократить расходы на хранение и дублирование данных, подключая пользователей напрямую к авторитетным внешним приложениям через Dynamics 365.
Архитектурная дилемма: хранение или доступ
При внедрении Microsoft Dynamics 365 или пользовательских решений Power Apps архитекторы постоянно сталкиваются с фундаментальным вопросом проектирования: копировать ли внешние данные в Dataverse или оставить их в исходной системе и построить мост к ним? Долгое время по умолчанию выбиралась репликация. Организации настраивали ночные интеграционные процессы, которые переносили каталоги товаров, остатки на складе и историю счетов прямо в Dataverse, чтобы пользователи могли получать доступ ко всему в одном месте.
Однако такая стратегия репликации создает серьезные архитектурные издержки. Растут ограничения хранилища, ускоряется разрастание базы данных, и, что важнее всего, устаревание данных создает операционный риск. Если кладовщик в обеденный перерыв отгрузит десять единиц критически важного товара, реплицированная таблица в Dataverse будет продолжать показывать эти десять единиц до запуска следующей плановой пакетной синхронизации. Торговые представители затем предлагают клиентам товар, которого нет в наличии, что приводит к отменам заказов и потере доверия. Стандартные таблицы требуют полного владения хранящимися в них данными, поэтому они плохо подходят для быстро меняющихся операционных показателей, которыми владеют специализированные корпоративные системы.
Сравнение стандартных и виртуальных таблиц
Понимание операционных различий между стандартными таблицами Dataverse и виртуальными таблицами помогает определить, когда применять каждую архитектуру. Различие выходит далеко за рамки технической семантики: оно определяет владение системой, пользовательские сценарии и затраты на обслуживание.
Стандартные таблицы Dataverse
Стандартные таблицы, такие как «Учетные записи», «Контакты» и «Возможности продаж», являются нативными элементами экосистемы Dataverse. Dataverse создает таблицы базы данных, управляет физическим хранением, применяет модели безопасности на уровне таблиц и выполняет бизнес-логику, плагины и рабочие процессы непосредственно над записями. Когда пользователь создает или обновляет запись, окончательным авторитетом является Dataverse. Уровень приложения и уровень хранения полностью объединены.
Виртуальные таблицы
Виртуальные таблицы больше похожи на каталог библиотеки или защищённую видеотрансляцию. Dataverse хранит схему, определения столбцов и метаданные, необходимые для отображения знакомого интерфейса в приложениях на основе модели, но сами записи он не сохраняет. Когда пользователь открывает представление или применяет фильтр, Dataverse преобразует запрос, обращается к внешней системе через поставщик данных и выводит актуальный ответ на лету. Внешнее приложение остаётся безусловным владельцем жизненного цикла записи.
Оценка компромиссов и ограничений при эксплуатации
Виртуальные таблицы решают кошмар синхронизации, но у них есть особые ограничения, которые разработчикам и администраторам необходимо тщательно оценить. Поскольку базовые данные не хранятся в Dataverse, некоторые возможности платформы работают не так, как со стандартными таблицами.
Расширенный поиск, сложные серверные плагины, поля суммирования и фоновые асинхронные рабочие процессы могут вести себя непредсказуемо или вовсе не работать, если они рассчитывают на локальное хранение данных. Кроме того, производительность напрямую зависит от состояния и отзывчивости внешнего API или источника данных. Если внешнее приложение ERP или склада работает с задержками или становится недоступным, соответствующие виртуальные таблицы в Dynamics 365 будут зависать или выдавать ошибки подключения.
Моделирование безопасности также требует тщательного планирования. Роли безопасности Dataverse могут контролировать, кто просматривает или редактирует определение виртуальной таблицы, однако безопасность на уровне строк зачастую необходимо обеспечивать на уровне внешнего API или через пользовательские поставщики данных, чтобы пользователи получали доступ только к разрешённым записям.
Заключение
Выбор между стандартными таблицами Dataverse и виртуальными таблицами в конечном счёте зависит от того, кто владеет жизненным циклом данных и нужно ли пользователям постоянное локальное хранение или достаточно простой контекстной видимости. Сопоставляя внешние источники данных вместо их репликации, организации могут сохранять единое, аккуратное рабочее пространство в Dynamics 365 и не превращать Dataverse в хаотичную свалку дублирующихся таблиц баз данных. Чтобы изучить базовые элементы этого подхода к интеграции, обязательно послушайте полный выпуск и подпишитесь на подкаст, чтобы получать больше практичных знаний об облачных технологиях.
Часто задаваемые вопросы
Занимают ли виртуальные таблицы место в хранилище Dataverse?
Нет. Поскольку виртуальные таблицы хранят в Dataverse только определения таблиц, метаданные и схемы, а сами записи находятся во внешней системе, они не занимают место в хранилище базы данных Dataverse вашей организации.
Могут ли пользователи редактировать записи, отображаемые через виртуальную таблицу?
Да, при условии что базовый поставщик данных и внешняя система поддерживают операции записи. Встроенные поставщики OData v4 и интеграции с Finance and Operations могут поддерживать действия создания, обновления и удаления, однако внешняя система по-прежнему применяет собственные правила проверки.
Что произойдёт, если внешний источник данных станет недоступен?
Если внешнее приложение или его API станет недоступным, пользователи, просматривающие виртуальную таблицу в Dynamics 365, увидят ошибки загрузки или пустые таблицы, так как запросы в реальном времени не могут получить внешние записи.
Виртуальные таблицы и виртуальные сущности — это одно и то же?
Да. Виртуальные сущности — это устаревший термин, используемый в более старой документации и конфигурациях Microsoft, а виртуальные таблицы — текущая официальная терминология. Базовая архитектура и концепции остаются идентичными.