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