MS MDS系列之初始MS Master Data Service(微软主数据服务)
背景介绍:
主数据服务(Master Data Services)是微软平台支持的主数据管理(MDM)平台。类似MDS这样的系统,如果后续维护得当,会给企业提供一个强大的中心数据库系统,来防止企业数据变得不同步或不一致;同时也是企业内部管理数据流的可靠方式。
目前一个企业很多时候通过良性循环或者收购来实现业务增长。无论哪种方式,都将增加企业应用程序的数据流的数量和复杂度。如果断开和分离这些系统,将带来的各种问题,如数据不一致、数据数据碎片、数据不准确等等,并且对IT部门来讲,也会面对越来越多的困难和付出越来越多的工作来应对不断变化的业务需求。同时,为了理顺复杂数据的问题,就促使一个可以定义、集成、清理、管理并最终能把数据分发给的多个系统的系统变得很重要。
主数据管理(MDM)是一个处理过程,用来从多种数据源收集企业数据,然后应用标准的规则和业务流程,并建立独立的订阅视图,最终把这些“高质量”版本的数据分发给企业各系统,从而使所有的用户可以访问。
本文参考文档:https://www.red-gate.com/simple-talk/sql/data-platform/master-data-services-basics/
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
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(微软主数据服务)的更多相关文章
- 使用WCF Data Service 创建OData服务
使用WCF Data Service 创建OData服务 在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主 ...
- MS MDS系列之MDS层次结构(Hierarchy)
在Master Data Services中,Hierarchy的作用主要用于: 对同属性成员进行分组 聚合成员用于分析和报告输出 写在开始:显示层次结构(Explicit Hierarchy)即将在 ...
- WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务
在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Se ...
- HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- salesforce lightning零基础学习(六)Lightning Data Service(LDS)
本篇可参看:https://trailhead.salesforce.com/modules/lightning_data_service Lightning中针对object的detail页面,一个 ...
- Using ADO.NET Data Service
ADO.NET Data Service是随同Visual Studio 2008 SP1提供的用于构建在数据对象模型 (如EF-DEMX, LINQ-DBML) 之时来快速提供企业网内外的轻量级数据 ...
- QM模块包含主数据(Master data)和功能(functions)
QM模块包含主数据(Master data)和功能(functions) QM主数据 QM主数据 1 Material Master MM01/MM02/MM50待测 物料主数据 2 Sa ...
- 我的WCF Data Service 系列 (一、为什么要有WCF Data Service)
开篇先说两名题外话, 在博问上,经常看到有个问性能问题,比如Entity Framework的性能行不行啊之类的. 其实这个行不行,关键还是看对象,一夜家族的老七可能勉强吃点蓝片片,也就行了,可真要让 ...
- Article Master Data Deviation
Site data – Logistics DC / Logistics Store Where is the reference site decided when you maintain the ...
随机推荐
- [codeforces167B]Wizards and Huge Prize
B. Wizards and Huge Prize time limit per test: 2 seconds memory limit per test: 256 megabytes input: ...
- eclipse debug URLClassPath.getLoader(int) file
版权声明:本文为博主原创文章,未经博主允许不得转载. URLClassPath.getLoader 在用Eclipse调试Java程序时,新手遇到的一个问题是断点老是执行不到,弹出URLClassPa ...
- 逃跑(escape)
逃跑(escape) 时间限制: 3 Sec 内存限制: 128 MB 题目描述 输入 第一行是5个正整数,n,m,k,S,T,分别代表无向图点数,边数,蝙蝠的数量,二小姐所在起点的编号,目标点的编 ...
- 各开放平台API接口通用SDK序列文章 前言
最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,要看的文档一大堆,自己要调用的接口找不着,或都找着了不知道怎么去调用,记得包括自己刚开 ...
- 类型转换之 PropertyEditorSupport类
这个类可以用于自定义的类型转换, 子类继承这个类之后可以重写子类的方法 ,其中比较重要的是setAsText和setValue方法,setAsText 子自己的方式处理转换,setValue将转换的结 ...
- PHP运行出现Notice : Use of undefined constant
这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示.一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉 关闭 PHP 提示的方法 搜索php.i ...
- 仿淘宝,京东红包雨(基于Phaser框架)
本红包雨项目是基于HTML5的游戏框架Phaser写的,最终形成的是一个canvas,所以性能很好,但是必须要说的是这个框架比较大,压缩后也有700K左右,所以请慎用. 代码地址: https://g ...
- css清除浮动float
css清除浮动float 1.分析HTML代码 <div class="outer"> <div class="div1">1</ ...
- 【Android Developers Training】 39. 获取文件信息
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- http(一)web和网络基础
深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...