Der Common Data Service ist höchstwahrscheinlich das Mitglied der Microsoft Power Platform, welches am wenigsten bekannt ist. Viele Leute haben heute Mühe, zu verstehen, was der Common Data Service genau ist. In diesem Beitrag erklären wir, worum es beim CDS eigentlich geht.
Update vom 01. Oktober 2023: Der Common Data Service wurde bereits seit längerer Zeit in Microsoft Dataverse umbenannt. Dazu haben wir einen neuen Blogpost geschrieben: Dataverse kurz erklärt.
Microsoft kommt mit seinen Business Applikationen ursprünglich aus einer On-Premises-Welt. OnPrem basierten die meisten Applikationen von Microsoft wie SharePoint, Dynamics AX, CRM, NAV, etc. auf einer Microsoft SQL-Server Datenbank. MS SQL hat Jahrzehnte lang hervorragende Arbeit geleistet, aber mit dem «Cloud first, mobile first»-Ansatz von Microsoft hat sich die Umgebung, in der die Applikationen ausgeführt werden, verändert. Somit veränderten sich auch die Anforderungen an die zugrundeliegende Datenbank. Gefordert war eine neue Datenbank-Technologie, die browserbasiert in No-Code-Manier gestaltet werden kann, in der Cloud performant funktioniert, skalierbar ist und mit Streaming-Inhalten sowie grossen Dateien (VR/AR) umgehen kann.
Die Antwort auf diese Anforderungen ist der Common Data Service. Sprich, CDS ist eigentlich «nur» die moderne MS SQL Datenbank der Cloud?! Natürlich steckt noch etwas mehr dahinter…
Ein CDS für alle Applikationen: Ist mein Daten-Silo-Problem gelöst?
Stimmt es, dass alle Microsoft Applikationen in eine einzige CDS Datenbank schreiben? Ist das Daten-Silo-Problem, mit dem viele Firmen kämpfen, dank CDS gelöst?
Die Antwort lautet «nein, aber man ist auf dem richtigen Weg». Es ist weiterhin so, dass die meisten Applikationen eine separate CDS Datenbank mit Daten befüllen. Jeder Office 365 Tenant hat eine eigene CDS Instanz und jede Dynamics 365 Instanz hat ebenfalls eine CDS Instanz. Von weniger Silos kann im ersten Moment also nicht die Rede sein.
Was ist denn der Vorteil des Common Data Services?
Glücklicherweise gibt es einige. Der Common Data Service ist voll kompatibel mit Flow, PowerApps und den Konnektoren. Automatisierungen und UI Erweiterungen könnten somit einfach realisiert werden.
Eine CDS Datenbank erlaubt das einfache, wiederkehrende Importieren von Geschäftsdaten via Power Query. Daten können ähnlich wie bei PowerBI über einen einfachen ETL-Wizard aus Excel, CSV, SQL, MySQL, SharePoint usw. wiederkehrend ins CDS geladen werden. Auf Wunsch erstellt der CDS die Datenstruktur in der Datenbank anhand der Quelldaten selbst.
Den Common Data Service als Datenbank zu verkaufen ist nicht ganz korrekt. Der CDS ist eigentlich nur eine Definitionsschicht, in der festgelegt wird, welche Daten man speichern möchte. Microsoft speichert die Daten anschliessend je nach Datentyp in der am besten dafür geeigneten Datenbank auf Azure. So kann es z.B. sein, dass relationale Geschäftsdaten in SQL Elastic Pools, Dokumente aber im Azure Blob Storage abgelegt werden. Der CDS Benutzer merkt davon aber nichts.
Alle CDS Datenbanken bauen auf dem gleichen Datenmodell, Common Data Model genannt, auf. Eine Firma, eine Forms Pro Umfrage, eine Telefonaktivität oder eine Flow-Genehmigung wird also in jeder Common Data Service Instanz gleich abgelegt. Die Hürden für den Abbau von unabhängigen Datensilos werden dank dem CDM viel kleiner, weil die Daten in gleicher Form gespeichert werden. Im kommenden Release können mittels Dual-Write erstmals identische Tabellen (z.B. Firmen) zwischen Dynamics 365 for Finance and Operations und Dynamics 365 for Customer Engagement synchronisiert werden.
Das Standard Datenmodell kann natürlich nach Belieben um ganze Tabellen/Entitäten – oder bestehende Entitäten um zusätzliche Felder – erweitert werden. Anpassungen am Datenmodell erfolgen via Browser und ohne Programmierkenntnisse. Die Art und Weise, wie das Datenmodell bearbeitet werden kann, wurde mehrheitlich vom Dynamics CRM bzw. Dynamics 365 for Customer Engagement übernommen. Geschützt werden die Daten im CDS durch umfangreiche Sicherheitsmechanismen. Ein Benutzer kann nur sehen, was ihm gemäss Rolle freigegeben wurde.
Beitrag teilen