Microsoft Dataverse

Microsoft Dataverse 是一種雲端的low code 資料服務和app平台。 Dataverse 可連接到 Microsoft Power Platform 的所有功能模組,Dataverse憑藉結構化資料,以及定義資料之間關係的能力,Dataverse 專為強大、可擴展的解決方案而構建。

本文中,我們將介紹的重點如下:

  • Dataverse中的環境、資料表(tables)與欄位(columns)之間的關係
  • Dataverse與Common Data Model之間的不同
  • 業務規則和流程的use cases和限制

Dataverse概觀

這是一個SaaS服務。Dataverse 主要要成為企業的業務數據的中央資料存儲庫,Microsoft Dynamics 365 解決方案背後也是Dataverse,例如 Field Service、Marketing、Customer Service 和 Sales。 它也可以作為 Power Apps 和 Power Automate 的一部分提供,內置原生連接。Microsoft Power Platform 的 AI Builder 和Portals功能也使用 Dataverse。

下面是一個可視化,匯集了 Microsoft Dataverse 的許多產品。

取自Microsoft 官網

如我們所見,Microsoft Dataverse 提供了一堆功能。 以下是對每一類功能的簡單說明。

  • Security:Dataverse 使用 Azure Active Directory (Azure AD) 處理身份驗證,以允許條件式存取和多因子身份驗證它支援資料表內的 row and column level的授權,並提供稽核功能。
  • Logic:Dataverse 讓企業在不同的資料等級應用業務邏輯。 無論使用者如何與資料交互,都適用相同的規則。 這些規則可能與重複偵測、業務規則、工作流程等相關。
  • Data:Dataverse 提供形塑資料的控制權,使我們能夠在資料內進行探索、建模、驗證和報告。 這種控制可確保企業的資料以我們想要的方式呈現,無論其使用方式如何。
  • Storage:Dataverse 將實際資料存儲在 Azure 中。
  • Integration:Dataverse 以不同的方式連接資料。 API、webhook、事件和資料導出讓您可以靈活地輸入和輸出數據。

我們將從 Microsoft Power Platform 的資料存儲角度理解 Dataverse,

首先,Dataverse 允許我們建立cloud-based的一個或多個標準化資料庫的instances,這跟我們建立SQL server內的DB instance沒有大太差別。 將資料存儲建立在 Dataverse 中之後,可以通過多種不同的方式存取它。 我們可以使用 Power Apps 或 Power Automate 等工具在存取數據。 或者通過連接器和 API,我們可以從任何業務解決方案連接到 Dataverse。 借助 role-based的安全性和業務規則等功能,資料存取可以達到一定程度的安全。

Microsoft Dataverse 的定義

Dataverse 資料庫是 Microsoft Dataverse 的single insatnce,它將資料存儲在一個結構化資料表中。我們可以在 Microsoft Dataverse 中創建一個或多個DB insatnce來託管組織的業務解決方案的資料。 Microsoft Dataverse 的每個insatnce都將以同一組table存儲資料,但我們始終可以延伸和自定義 Microsoft Dataverse 資料庫以滿足特定的業務需求。 這意味著我們可以在整個組織內或通過在世界任何地方使用它與任何其他組織共享來自 Microsoft Dataverse 中的業務解決方案。

可擴充性

Dataverse 資料庫支援大型資料集和複雜的資料模型。 tables可以容納數百萬個items,並且我們可以將 Microsoft Dataverse 資料庫的每個insatnce的存儲量擴展到4TB(標準功能)。若要擴充容量與額外的功能附加則需要加錢。

Common Data Model 與 Microsoft Dataverse

Microsoft Dataverse 資料庫中的standard table設計基於稱為Common Data Model的open data model標準。 Common Data Model 是一種邏輯設計,包括一組開源、標準化、可擴展的資料表和關係。

Microsoft Dataverse 資料庫的結構基於Common Data Model中的定義和架構。 使用 Common Data Model 作為 Microsoft Dataverse 資料庫基礎的主要效益是簡化了使用 Common Data Model 架構的任何解決方案的整合,因為解決方案的standard table是相同的。

下圖是Dataverse在Common Data Model的實現:

Dataverse中的資料表(tables)與欄位(columns)

Dataverse中的資料表結構其實與Microsoft Excel是一樣的,如下所示:

資料表的形態

Dataverse的資料表有以下三種型態:

  • 標準(Standard) — Dataverse 環境中包含幾個標準資料表,也稱為即選即用。 客戶資料表、業務單位資料表、聯繫人資料表、作業資料表和使用者資料表是 Dataverse 中標準資料表的範例。 Dataverse 中包含的大多數標準資料表都可以客製化。
  • 託管的(Managed) — 無法客製的資料表
  • 客製(Custom) —客製資料表是非託管資料表,它們要嘛是從非託管解決方案導入的,要嘛是直接在 Dataverse 環境中建立的新資料表。 任何具有適當權限的使用者都可以完全客製這些資料表。

要為企業構建的大多數解決方案製定高效且可擴展的解決方案,我們需要將資料拆分到不同的資料表。 嘗試將所有內容存儲到一個容器中可能效率低下並且難以使用和理解。這一個概念就是資料庫正規化

由於資料庫正規化之後會有許多的資料表,而他們之間會產生一些關係連結。資料表之間的關係以多種形式存在,但最常見的兩種是一對多和多對多,Microsoft Dataverse 都支持這兩種關係。

將資料拆分到不同的資料表中可以實現可擴展的高效解決方案設計,不過若是要join多個資料表的內容這又不會是高效的方法了,但了解如何將資料拆分到資料表中可能很困難(通常都需要有專門的DBA來幫忙)。 值得慶幸的是,Microsoft Dataverse 已經包含大多數組織需要的許多表準資料表。 使用標準資料表並擴展它們是一種經過驗證的、可擴展的存儲解決方案所用數據的方式來構建解決方案。

Dataverse的環境

環境用在 Microsoft Power Platform 中存儲、管理和共享組織的業務資料、應用程式和流程。 每個環境都允許我們配置一個 Microsoft Dataverse資料庫以供在該環境中使用。 Microsoft Dataverse 環境讓我們針對個別環境進行使用管理存取、安全設定以及與該資料庫關聯的存儲。

每個環境都在 Microsoft Azure Active Directory (Azure AD)租戶 下建立,其資源只能由該租戶內的使用者存取。 環境也與實際地理位置相關,例如資料中心位於某個國家。 在環境中創建 Microsoft Dataverse 資料庫時,該資料庫是在該地理位置的資料中心內創建的。 我們在該環境中建立的任何項目(包括connection、gateways、使用 Power Automate 的流程等)也綁定到其環境的地理位置。

業務規則

在 Microsoft Dataverse 中,我們可以定義業務規則。 業務規則讓我們在資料層而不是應用程序層應用和維護業務邏輯。 更簡單地說,如果我們在 Microsoft Dataverse 中建立業務規則,則無論我們在何處與資料互動,規則都是有效的。

例如,可以在畫布(canvas)和模型驅動(model-driven)應用程序中使用業務規則來設置或清除資料表中一個或多個row中的value。 它們還可用於驗證存儲的資料或顯示錯誤訊息。 模型驅動的應用程序可以使用業務規則來顯示或隱藏欄位(columns)、啟用或禁用欄位以及基於BI的建議。

業務規則提供方式來執行規則、設置值或驗證資料,而不管用於前端程式的輸入資料表單是長怎麼樣子的。 此外,業務規則可有效幫助提高資料的準確性、簡化應用程序開發以及簡化呈現給終端使用者的表單。

PS:業務規則通常定義於資料表中並應用於所有表單,但我們可以為特定的模型驅動表單定義業務規則。 畫布應用程式無法將業務規則應用於特定表單,但在與資料交互時仍會強制執行。

畫布和模型驅動應用程式可以使用以下業務規則的應用程式:

  • Set column values
  • Clear column values
  • Validate data and show error messages

模型驅動應用程式則可以在套用以下業務規則:

  • Show or hide columns (model-driven apps only)
  • Enable or disable columns (model-driven apps only)
  • Create business recommendations based on business intelligence (model-driven apps only)

以下是一個業務規則範例。 如果信用額度設置為大於 1,000 美元,則業務規則配置為將Field: Credit Limit VP Approver 更改為必填。 如果信用額度低於 1,000美元,則這個Field是選擇性的。

業務規則套用在資料層面而不是應用程式層面,我們可以更好地控制資料。 這可以確保資料始終遵循企業的業務邏輯,無論是直接從 Power Apps、Power Automate 還是通過 API 存取它。 規則與資料相關,而不是應用程式。

管理

Microsoft Dataverse 有許多管理選項,可用於建立新的資料庫insatnce或客製可供每個 Dataverse 資料庫instance的使用者使用的存取權限和功能。 我們可以使用多個管理網站頁面來管理 Microsoft Dataverse 設定。

Microsoft Power Platform admin center

Microsoft Power Platform 管理中心提供了大部分的管理設定。 在尋求管理 Microsoft Dataverse 時,我們應該始終將檢查管理設定作為第一步。

設定分為以下幾大類,可以通過選擇管理頁面左側的連結接進行存取,如下圖所示。

  • Environment — 列出所有的Dataverse instances
  • Data Policies — 設置政策來限制哪些資料連接器可以與 Microsoft Dataverse 一起使用,以限制哪些資料可以流入或流出 Microsoft Dataverse 資料表。
  • Data integration —建立或加入預定義的連接並監視 Microsoft Dataverse 和其他資料存儲(如 SAP或 SQL Server)之間的這些連接。

--

--

運用"雲端服務"加速企業的數位轉型願景
運用"雲端服務"加速企業的數位轉型願景

Written by 運用"雲端服務"加速企業的數位轉型願景

我們協助您駕馭名為"雲端運算"的怪獸,馴服它為您所用。諮詢請來信jason.kao@suros.com.tw. https://facebook.com/jason.kao.for.cloud

No responses yet