1. 程式人生 > >MS MDS系列之初識MS Master Data Service(微軟主數據服務)

MS MDS系列之初識MS Master Data Service(微軟主數據服務)

安裝 sed ges 需求 manage -1 opened 企業 面向服務

背景介紹:

主數據服務(Master Data Services)是微軟平臺支持的主數據管理(MDM)平臺。類似MDS這樣的系統,如果後續維護得當,會給企業提供一個強大的中心數據庫系統,來防止企業數據變得不同步或不一致;同時也是企業內部管理數據流的可靠方式。

目前一個企業很多時候通過良性循環或者收購來實現業務增長。無論哪種方式,都將增加企業應用程序的數據流的數量和復雜度。如果斷開和分離這些系統,將帶來的各種問題,如數據不一致、數據數據碎片、數據不準確等等,並且對IT部門來講,也會面對越來越多的困難和付出越來越多的工作來應對不斷變化的業務需求。同時,為了理順復雜數據的問題,就促使一個可以定義、集成、清理、管理並最終能把數據分發給的多個系統的系統變得很重要。

主數據管理(MDM)是一個處理過程,用來從多種數據源收集企業數據,然後應用標準的規則和業務流程,並建立獨立的訂閱視圖,最終把這些“高質量”版本的數據分發給企業各系統,從而使所有的用戶可以訪問。

1. 主數據服務

主數據服務是微軟提供的一款MDM解決方案的產品,它是建立在以SQL Server數據庫技術作為後端處理之上的。它使用Windows通信基礎(WCF)技術,提供了面向服務架構終端的方案。你可以用MDS來創建一個集中的、同步的數據源集成架構來減少減少數據的冗余。

微軟的第一版主數據服務是在SQL Server 2008裏面發布的,裏面只有有限的一些功能,也有一些缺陷。此外,由於當時很少有企業重視主數據管理,所以它的介紹大多被忽視了。在SQL Server 2012、2014和2016的後續版本中,給主數據服務帶來了一些新的功能,同時產品也越來越穩定。在最新的SQL Server 2016版本中,主數據管理的功能與其它的企業級MDM解決方案基本差不多了。

主數據服務是一個三層體系的結構,包含數據庫層、服務層和交互/插件層。下面的架構圖展示了主數據服務(MDS)與數據質量服務(DQS)和SQL Server集成服務(SSIS)的集成解決方案。

技術分享

2. MDS數據庫中模型與實體相關的表

由於MDS是基於SQL Server的,所以很多核心的邏輯是用存儲過程來處理的。在數據庫創建之後,有大約三百個存儲過程、五十個表以及一些數據庫視圖和函數。下面是一些主要使用的表的簡介:

  • tblmodel–包含MDM模型信息,同時也可以作為業務的主題域,比如客戶、產品等。
  • tblentity–包含MDM實體信息。存儲了所有模型的所有實體的信息。
  • tblattribute–包含每個實體的屬性的詳細信息。是一個屬性列的結構。
  • tblattributegroup–是特定實體屬性的邏輯分組。
  • tblmodelversion–模型的版本信息。

技術分享

下面可以通過一個Query來查詢Model下面的Table的結構信息:

技術分享
SELECT MDL.ID AS Model ID

    ,MDL.Name AS Model Name

    ,‘‘ AS Model Description

    ,ENT.Name AS Entity Name

    ,ENT.EntityTable AS Entity TableName

    ,VI.Name AS View Name

    ,‘‘ AS Entity Description

    ,ATTR.DisplayName AS Column Name

    ,ATTR.TableColumn AS Table Column Name

    ,CASE ATTR.DataType_ID

        WHEN 0 THEN LINK

        WHEN 1 THEN TEXT

        WHEN 2 THEN DECIMAL

        WHEN 3 THEN DATETIME

        ELSE ‘‘

    END AS Column Type

    ,ATTR.IsCode

    ,ATTR.IsName

    ,ATTR.IsSystem

FROM mdm.tblModel AS MDL

INNER JOIN mdm.tblEntity AS ENT

    ON MDL.ID = ENT.Model_ID

INNER JOIN mdm.tblSubscriptionView AS VI

    ON MDL.ID = VI.Model_ID

        AND ENT.ID = VI.Entity_ID

INNER JOIN mdm.tblAttribute AS ATTR

    ON ENT.ID = ATTR.Entity_ID

WHERE MDL.IsSystem = 0

    --AND ATTR.AttributeType_ID = 1

    --AND MDL.ID=17

    --AND VI.Name LIKE ‘V_%‘

    AND ENT.EntityTable = tbl_17_241_EN--‘tbl_17_279_EN‘

ORDER BY MDL.ID

    ,ENT.ID

    ,ATTR.SortOrder
View Code

3. Master Data Service組件

3.1 MDS Web服務

MDS管理是通過用戶界面來處理主數據服務任務。包含兩種類型的任務,數據任務和管理任務。

技術分享

1)數據任務

用戶可以在基於模型查看實體、實體依賴關系、層次結構、集合等。可以創建、查看、更新或刪除成員數據。您也可以應用業務規則,查看歷史的任何成員。當使用數據任務時,可以通過web界面錄入數據,進行數據的修改、增加、刪除。

技術分享

2)管理任務

管理任務包含下面四個功能:系統管理、集成管理、版本管理、用戶/組權限管理

  a. 系統管理

可以在模型中,創建和維護實體、屬性、屬性組、層次結構、指標和業務規則。還可以創建模型包,也可以部署以前創建的模型包。

技術分享

技術分享

  b. 集成管理

可以批量數據導入MDS。也可以創建訂閱視圖數據導出MDS數據和提供下遊系統訂閱這些SQL視圖。

技術分享

  c. 版本管理

可以鎖定解鎖版本、查看歷史和清除成員的版本。還可以管理版本標誌。默認情況下創建四個版本標誌:存檔、當前、計劃和歷史。還可以添加或刪除版本標誌。當只使用數據部署模型包時,創建的版本既不驗證也不提交。可以驗證和提交版本。還可以訪問該模型的特定版本的事務等功能。

技術分享

  d. 用戶/組權限管理

在安裝MDS時,只創建了管理員賬戶;在這個界面可以創建更多的用戶或用戶組,並且分配特定的MDS功能或訪問權限。主數據服務安全基於Windows或Active Directory域用戶和組。具體模型內部的權限設置,主要基於創建的派生層次結構進行配置,此功能會在另外一篇文章中詳細介紹。

技術分享

3.2 MDS Excel Add-in組件

背景:在很多產品都支持MDM功能時,唯一的區別是在使用MDM系統用戶體驗。而Office辦公工具是用戶廣泛應用的,也是最接地氣的一款軟件。

主數據服務可以再Excel中以插件的形式存在,提供給用戶Excel表格的輸入界面,允許業務用戶直接管理數據,同時也允許管理員輕松創建新的實體和屬性。

Add-in組件:要下載Excel中的外接程序,請登錄主數據管理器Web端,點擊“安裝Excel中的主數據服務”,基於計算機系統來選擇是安裝32位還是64位的版本。在成功安裝之後,在Excel中就可以看到主數據菜單了。(如果沒有在主菜單中看到主數據,請從打開“文件” -> ”選項” -> “加載項” ->選擇“COM加載項” -> 點擊“轉到” -> 選擇“主數據服務加載項”。相關問題:如果找不到主數據(Master Data)插件怎麽辦?)

連接MDS服務器:在主數據菜單卡中,創建MDS服務器的連接,直接輸入服務器地址:HTTP://主機名:端口/MDS(在Master Data Manager裏面配置的地址)。

此時,可能會遇到主數據服務登錄失敗的提示、解決辦法:用打開web瀏覽,訪問MDS服務器,然後選擇保存賬戶名和密碼。保存的賬戶信息就會用於Excel中的身份驗證。如果是企業級應用的話,MDS服務器就會與企業的LDAP/AD服務器集成,Excel就可以使用Windows身份集成驗證進行登錄。

技術分享

連接完成之後,就會在右邊顯示出NDS的界面,顯示Model和各個版本的列表,選擇不同的Model和版本進行數據的維護。

技術分享

在Excel裏面包含的功能主要有:

1)連接和加載(Connect and Load)

可以管理一個或多個MDS服務器,如開發,QA或生產。

“刷新”用來從服務器提取數據到Excel表格。前提是已經連接上了相應的Entity。“篩選”可以以篩選器的功能在數據表中,下載需要的部分數據。篩選器提供了獲取選擇列、選擇屬性組、層次結構等的功能。

2)保存並發送查詢

在建立連接之後,可以將該檢索信息保存為快捷方式查詢。快捷方式查詢包含有關連接、模型、版本、實體以及應用的篩選器的信息。也可以通過單擊“發送查詢”選項,把查詢以附件的方式,通過電子郵件發送出去。

3)發布和驗證

這是使用最頻繁的功能。將數據發布到MDS數據庫,刪除選擇的行,應用最新的業務規則,查看數據行的驗證狀態和歷史信息。

4)DQS

用於連接DQS,進行預定義的數據質量規則驗證。關於DQS內容,會在接下來的文章中介紹。

5)建立模型

如果是管理員,那麽可以通過在Excel裏面的表格,創建一個新的實體,並保存到MDS數據庫中。

結論:

綜合以上所提供的功能簡介,可以嘗試開始創建自己的第一個模型(Model)和實體(Entity)了。放開手開始幹吧,有任何問題,歡迎留言討論。

MS MDS系列之初識MS Master Data Service(微軟主數據服務)