MS MDS系列之初识MS Master Data Service(微软主数据服务)
背景介紹:
主數(shù)據(jù)服務(Master Data Services)是微軟平臺支持的主數(shù)據(jù)管理(MDM)平臺。類似MDS這樣的系統(tǒng),如果后續(xù)維護得當,會給企業(yè)提供一個強大的中心數(shù)據(jù)庫系統(tǒng),來防止企業(yè)數(shù)據(jù)變得不同步或不一致;同時也是企業(yè)內(nèi)部管理數(shù)據(jù)流的可靠方式。
目前一個企業(yè)很多時候通過良性循環(huán)或者收購來實現(xiàn)業(yè)務增長。無論哪種方式,都將增加企業(yè)應用程序的數(shù)據(jù)流的數(shù)量和復雜度。如果斷開和分離這些系統(tǒng),將帶來的各種問題,如數(shù)據(jù)不一致、數(shù)據(jù)數(shù)據(jù)碎片、數(shù)據(jù)不準確等等,并且對IT部門來講,也會面對越來越多的困難和付出越來越多的工作來應對不斷變化的業(yè)務需求。同時,為了理順復雜數(shù)據(jù)的問題,就促使一個可以定義、集成、清理、管理并最終能把數(shù)據(jù)分發(fā)給的多個系統(tǒng)的系統(tǒng)變得很重要。
主數(shù)據(jù)管理(MDM)是一個處理過程,用來從多種數(shù)據(jù)源收集企業(yè)數(shù)據(jù),然后應用標準的規(guī)則和業(yè)務流程,并建立獨立的訂閱視圖,最終把這些“高質(zhì)量”版本的數(shù)據(jù)分發(fā)給企業(yè)各系統(tǒng),從而使所有的用戶可以訪問。
本文參考文檔:https://www.red-gate.com/simple-talk/sql/data-platform/master-data-services-basics/
1. 主數(shù)據(jù)服務
主數(shù)據(jù)服務是微軟提供的一款MDM解決方案的產(chǎn)品,它是建立在以SQL Server數(shù)據(jù)庫技術作為后端處理之上的。它使用Windows通信基礎(WCF)技術,提供了面向服務架構終端的方案。你可以用MDS來創(chuàng)建一個集中的、同步的數(shù)據(jù)源集成架構來減少減少數(shù)據(jù)的冗余。
微軟的第一版主數(shù)據(jù)服務是在SQL Server 2008里面發(fā)布的,里面只有有限的一些功能,也有一些缺陷。此外,由于當時很少有企業(yè)重視主數(shù)據(jù)管理,所以它的介紹大多被忽視了。在SQL Server 2012、2014和2016的后續(xù)版本中,給主數(shù)據(jù)服務帶來了一些新的功能,同時產(chǎn)品也越來越穩(wěn)定。在最新的SQL Server 2016版本中,主數(shù)據(jù)管理的功能與其它的企業(yè)級MDM解決方案基本差不多了。
主數(shù)據(jù)服務是一個三層體系的結構,包含數(shù)據(jù)庫層、服務層和交互/插件層。下面的架構圖展示了主數(shù)據(jù)服務(MDS)與數(shù)據(jù)質(zhì)量服務(DQS)和SQL Server集成服務(SSIS)的集成解決方案。
2. MDS數(shù)據(jù)庫中模型與實體相關的表
由于MDS是基于SQL Server的,所以很多核心的邏輯是用存儲過程來處理的。在數(shù)據(jù)庫創(chuàng)建之后,有大約三百個存儲過程、五十個表以及一些數(shù)據(jù)庫視圖和函數(shù)。下面是一些主要使用的表的簡介:
tblmodel–包含MDM模型信息,同時也可以作為業(yè)務的主題域,比如客戶、產(chǎn)品等。
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管理是通過用戶界面來處理主數(shù)據(jù)服務任務。包含兩種類型的任務,數(shù)據(jù)任務和管理任務。
1)數(shù)據(jù)任務
用戶可以在基于模型查看實體、實體依賴關系、層次結構、集合等??梢詣?chuàng)建、查看、更新或刪除成員數(shù)據(jù)。您也可以應用業(yè)務規(guī)則,查看歷史的任何成員。當使用數(shù)據(jù)任務時,可以通過web界面錄入數(shù)據(jù),進行數(shù)據(jù)的修改、增加、刪除。
2)管理任務
管理任務包含下面四個功能:系統(tǒng)管理、集成管理、版本管理、用戶/組權限管理
a. 系統(tǒng)管理
可以在模型中,創(chuàng)建和維護實體、屬性、屬性組、層次結構、指標和業(yè)務規(guī)則。還可以創(chuàng)建模型包,也可以部署以前創(chuàng)建的模型包。
b. 集成管理
可以批量數(shù)據(jù)導入MDS。也可以創(chuàng)建訂閱視圖數(shù)據(jù)導出MDS數(shù)據(jù)和提供下游系統(tǒng)訂閱這些SQL視圖。
c. 版本管理
可以鎖定解鎖版本、查看歷史和清除成員的版本。還可以管理版本標志。默認情況下創(chuàng)建四個版本標志:存檔、當前、計劃和歷史。還可以添加或刪除版本標志。當只使用數(shù)據(jù)部署模型包時,創(chuàng)建的版本既不驗證也不提交??梢则炞C和提交版本。還可以訪問該模型的特定版本的事務等功能。
d. 用戶/組權限管理
在安裝MDS時,只創(chuàng)建了管理員賬戶;在這個界面可以創(chuàng)建更多的用戶或用戶組,并且分配特定的MDS功能或訪問權限。主數(shù)據(jù)服務安全基于Windows或Active Directory域用戶和組。具體模型內(nèi)部的權限設置,主要基于創(chuàng)建的派生層次結構進行配置,此功能會在另外一篇文章中詳細介紹。
3.2MDS Excel Add-in組件
背景:在很多產(chǎn)品都支持MDM功能時,唯一的區(qū)別是在使用MDM系統(tǒng)用戶體驗。而Office辦公工具是用戶廣泛應用的,也是最接地氣的一款軟件。
主數(shù)據(jù)服務可以再Excel中以插件的形式存在,提供給用戶Excel表格的輸入界面,允許業(yè)務用戶直接管理數(shù)據(jù),同時也允許管理員輕松創(chuàng)建新的實體和屬性。
Add-in組件:要下載Excel中的外接程序,請登錄主數(shù)據(jù)管理器Web端,點擊“安裝Excel中的主數(shù)據(jù)服務”,基于計算機系統(tǒng)來選擇是安裝32位還是64位的版本。在成功安裝之后,在Excel中就可以看到主數(shù)據(jù)菜單了。(如果沒有在主菜單中看到主數(shù)據(jù),請從打開“文件” -> ”選項” -> “加載項” ->選擇“COM加載項” -> 點擊“轉(zhuǎn)到” -> 選擇“主數(shù)據(jù)服務加載項”。相關問題:如果找不到主數(shù)據(jù)(Master Data)插件怎么辦?)
連接MDS服務器:在主數(shù)據(jù)菜單卡中,創(chuàng)建MDS服務器的連接,直接輸入服務器地址:HTTP://主機名:端口/MDS(在Master Data Manager里面配置的地址)。
此時,可能會遇到主數(shù)據(jù)服務登錄失敗的提示、解決辦法:用打開web瀏覽,訪問MDS服務器,然后選擇保存賬戶名和密碼。保存的賬戶信息就會用于Excel中的身份驗證。如果是企業(yè)級應用的話,MDS服務器就會與企業(yè)的LDAP/AD服務器集成,Excel就可以使用Windows身份集成驗證進行登錄。
連接完成之后,就會在右邊顯示出NDS的界面,顯示Model和各個版本的列表,選擇不同的Model和版本進行數(shù)據(jù)的維護。
在Excel里面包含的功能主要有:
1)連接和加載(Connect and Load)
可以管理一個或多個MDS服務器,如開發(fā),QA或生產(chǎn)。
“刷新”用來從服務器提取數(shù)據(jù)到Excel表格。前提是已經(jīng)連接上了相應的Entity。“篩選”可以以篩選器的功能在數(shù)據(jù)表中,下載需要的部分數(shù)據(jù)。篩選器提供了獲取選擇列、選擇屬性組、層次結構等的功能。
2)保存并發(fā)送查詢
在建立連接之后,可以將該檢索信息保存為快捷方式查詢。快捷方式查詢包含有關連接、模型、版本、實體以及應用的篩選器的信息。也可以通過單擊“發(fā)送查詢”選項,把查詢以附件的方式,通過電子郵件發(fā)送出去。
3)發(fā)布和驗證
這是使用最頻繁的功能。將數(shù)據(jù)發(fā)布到MDS數(shù)據(jù)庫,刪除選擇的行,應用最新的業(yè)務規(guī)則,查看數(shù)據(jù)行的驗證狀態(tài)和歷史信息。
4)DQS
用于連接DQS,進行預定義的數(shù)據(jù)質(zhì)量規(guī)則驗證。關于DQS內(nèi)容,會在接下來的文章中介紹。
5)建立模型
如果是管理員,那么可以通過在Excel里面的表格,創(chuàng)建一個新的實體,并保存到MDS數(shù)據(jù)庫中。
結論:
綜合以上所提供的功能簡介,可以嘗試開始創(chuàng)建自己的第一個模型(Model)和實體(Entity)了。放開手開始干吧,有任何問題,歡迎留言討論。
總結
以上是生活随笔為你收集整理的MS MDS系列之初识MS Master Data Service(微软主数据服务)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php输出查询mysql总数_PHP查询
- 下一篇: SecureCRT的设置和美化