Common Data Service¶
Common Data Service (CDS) — это облачная платформа хранения и управления данными, входящая в состав экосистемы Microsoft Power Platform. Представляет собой реляционную базу данных, предоставляемую как сервис (Database as a Service), которая позволяет безопасно хранить и управлять бизнес-данными, используемыми в приложениях, созданных на платформах Power Apps, Power Automate, Power BI и Dynamics 365. Данные в CDS организованы в виде сущностей (аналогов таблиц в реляционных базах данных) и атрибутов (столбцов), что обеспечивает единую, стандартизированную схему для бизнес-приложений.
¶История и развитие
Платформа Common Data Service была представлена компанией Microsoft в 2016 году как развитие технологии Common Data Model (CDM) — стандартизированной семантической модели данных, предназначенной для унификации бизнес-данных в различных приложениях. Первоначально CDS был тесно связан с Dynamics 365 и служил основой для хранения данных в этой CRM-системе. В 2018 году, с выходом Power Platform, CDS стал центральным компонентом для всех низко-кодовых (low-code) приложений, создаваемых в Power Apps.
В 2020 году Microsoft объявила о переименовании Common Data Service в Microsoft Dataverse (в рамках ребрендинга Power Platform). Однако термин «Common Data Service» продолжает использоваться в технической документации и в контексте устаревших версий. В 2021 году Dataverse получил поддержку виртуальных таблиц, интеграцию с Azure Synapse Analytics и возможность работы с большими объёмами данных. По состоянию на 2024 год Dataverse является основным хранилищем данных для Power Platform, обеспечивая единую среду для разработки, развёртывания и управления бизнес-приложениями.
¶Архитектура и ключевые характеристики
¶Сущности и атрибуты
Данные в CDS (Dataverse) организованы в виде сущностей (entities), которые соответствуют бизнес-объектам (например, «Клиент», «Заказ», «Товар»). Каждая сущность содержит атрибуты (поля), определяющие её структуру: текстовые строки, числа, даты, ссылки на другие сущности, файлы, изображения и т.д. Встроенные сущности (например, «Account», «Contact») поставляются с Dynamics 365 и Power Apps, а пользователи могут создавать собственные кастомные сущности.
¶Типы сущностей
- Стандартные (out-of-the-box) — предустановленные Microsoft, например, «Контакт», «Задача», «Возможность».
- Кастомные — создаваемые разработчиками или администраторами для специфических бизнес-нужд.
- Виртуальные — сущности, которые не хранят данные в Dataverse, а подключаются к внешним источникам (например, SQL Server, SharePoint, Dynamics 365 Finance) через коннекторы.
¶Безопасность и управление доступом
CDS использует многоуровневую модель безопасности на основе ролей (security roles). Права доступа настраиваются на уровне:
- Организации — глобальные права для всей среды.
- Бизнес-единицы — разделение данных по организационным подразделениям.
- Пользователя — индивидуальные права.
- Команды — групповые права, объединяющие нескольких пользователей.
Каждая роль определяет, какие действия (чтение, создание, изменение, удаление) разрешены для конкретных сущностей. Поддерживается наследование прав и иерархическая структура.
¶Связи между сущностями
Поддерживаются три типа связей:
- 1:N (один-ко-многим) — например, один клиент может иметь много заказов.
- N:1 (многие-к-одному) — обратная связь.
- N:N (многие-ко-многим) — например, товары могут быть связаны с несколькими категориями.
Связи могут быть обязательными или необязательными, с каскадным удалением или блокировкой.
¶Бизнес-логика
В CDS можно реализовать бизнес-правила и автоматизацию без написания кода:
- Бизнес-правила — проверка данных на уровне сущности (например, «Если поле Статус = "Закрыт", то поле Дата завершения обязательно»).
- Плагины — код на C#, выполняемый при событиях (создание, обновление, удаление записи).
- Рабочие процессы (Workflows) — последовательность действий, запускаемых по триггеру.
- Power Automate — интеграция с внешними сервисами через потоки данных.
¶Применение
¶Power Apps
CDS является основным источником данных для приложений, создаваемых в Power Apps (как Canvas-приложений, так и Model-driven приложений). Model-driven приложения автоматически генерируют пользовательский интерфейс на основе структуры сущностей CDS, что ускоряет разработку. Canvas-приложения могут подключаться к CDS через коннектор, используя данные для отображения и редактирования.
¶Dynamics 365
Все приложения Dynamics 365 (Sales, Customer Service, Marketing, Finance, Supply Chain Management) используют CDS в качестве единого хранилища. Это обеспечивает бесшовную интеграцию между модулями: например, данные о клиенте из Sales автоматически доступны в Service.
¶Power BI
CDS может служить источником данных для отчётов Power BI. Прямое подключение к Dataverse (через соединитель Dataverse) позволяет строить интерактивные дашборды без необходимости копирования данных в другие хранилища.
¶Power Automate
Потоки Power Automate могут читать, создавать, обновлять и удалять записи в CDS, а также запускать триггеры при изменениях. Это позволяет автоматизировать бизнес-процессы, такие как отправка уведомлений, создание задач или обновление записей.
¶Интеграция с внешними системами
CDS поддерживает импорт и экспорт данных через:
- Dataflows — ETL-процессы для загрузки данных из внешних источников (SQL Server, Excel, Azure Blob Storage).
- API — RESTful и OData-интерфейсы для программного доступа.
- Power Query — встроенный инструмент для трансформации данных.
- Azure Synapse Link — репликация данных в Azure Synapse Analytics для аналитики.
¶Преимущества и ограничения
¶Преимущества
- Единая модель данных — стандартизированная схема, устраняющая дублирование и несогласованность.
- Низкий порог входа — создание приложений и автоматизации без глубоких знаний программирования.
- Безопасность на уровне записи — детальная настройка прав доступа.
- Интеграция с экосистемой Microsoft — бесшовное взаимодействие с Office 365, Azure, Dynamics 365.
- Масштабируемость — поддержка до 4 ТБ данных на среду (в зависимости от лицензии).
¶Ограничения
- Привязка к платформе Microsoft — не поддерживает прямую интеграцию с не-Microsoft системами без коннекторов.
- Стоимость — лицензирование Power Platform может быть дорогим для крупных организаций.
- Ограничения по объёму — максимальный размер базы данных для одной среды ограничен (от 10 ГБ до 4 ТБ в зависимости от плана).
- Сложность кастомизации — для сложной бизнес-логики требуется написание плагинов на C#.
¶Примеры использования
- CRM-система для малого бизнеса — компания использует Power Apps с CDS для управления клиентами, заказами и задачами. Данные автоматически синхронизируются с Dynamics 365 Sales.
- Управление проектами — в Model-driven приложении на основе CDS создаются сущности «Проект», «Задача», «Ресурс». Бизнес-правила проверяют сроки и бюджет.
- Автоматизация отчётности — Power Automate каждую ночь загружает данные из SQL Server в CDS, а Power BI строит отчёты для руководства.
- Интеграция с SharePoint — документы, загруженные в SharePoint, автоматически создают записи в CDS через Power Automate.
¶Критика и альтернативы
Основные замечания к CDS (Dataverse) связаны с его зависимостью от экосистемы Microsoft и высокой стоимостью лицензирования для небольших организаций. В качестве альтернатив рассматриваются:
- Salesforce — собственная платформа хранения данных с аналогичными возможностями.
- Google Cloud Spanner — облачная реляционная база данных с глобальной репликацией.
- Amazon DynamoDB — NoSQL-база данных для приложений с высокой нагрузкой.
- Airtable — низко-кодовая платформа с визуальным интерфейсом, но без встроенной бизнес-логики.
¶Источники
- Microsoft Docs: «What is Microsoft Dataverse?» (2023).
- Microsoft Power Platform Documentation: «Common Data Service overview» (2020).
- Gartner: «Magic Quadrant for Low-Code Application Platforms» (2022).
- Официальный блог Microsoft: «Introducing Microsoft Dataverse» (2020).
- TechCommunity: «Common Data Service vs Dataverse: What’s the difference?» (2021).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


