こんにちは!連絡先として、Rostelecomのデータ管理チームの参照情報管理部門の責任者であるAlexanderKivaev氏。会社がMDMシステムを実装して効果的に運用している場合は、大当たりしたと考えてください。これにより、新しい情報システムを会社のITインフラストラクチャに導入するプロセスが大幅に容易になり、既存のシステムを統合するコストが簡素化および削減されます。また、データの処理、更新、検証にかかる時間を短縮しながら、高品質の分析レポートと管理レポートを作成できます。
大企業がMDMソリューションを実装する動機を与えるのはこれらの利点です。この記事では、Rostelecomマスターデータ管理システムを実装した経験、遭遇した問題、およびそれらを解決する方法について説明します。
箱から出してすぐに使えるMDM
マスターデータ管理システムを構築するためのメインソリューションとして、Microsoftマスターデータサービス(MDS)を選択しました。MDSは、2014年からMicrosoft SQL Server EnterpriseEditionを使用している企業で利用できます。MDSはパッケージに含まれており、この製品を選択する際の決定要因の1つである追加のライセンス費用は必要ありません。
. , MDM- , «» - . , MDM- -, MDM- -, , .
… …
. , ERP, CRM, .
, , . , , . , - , -, .
- -, , .
Master Data Management
, , , . .
MDM :
.
, -. - Extract Transfom Load (ETL). , Landing.
. MDM. , Staging.
Staging .
, - . .
- .
MDM , BI, .
Microsoft MDS
Microsoft MDS , . , MDS , . , . .
, , Master Data Services :
.
- .
MDS, . , , , MDM.
MDS MDM
- MDS, , , . :
, Landing. ETL , -. .
, -. Landing Staging MDS ( MDS, stg). , - .
MDS, Staging MDS.
:
MDM, .
MDS
- MDS, MDS -:
:
- – , MDS;
– MDS;
- – , MDS.
MDS
, , MDS, , .
, -, , – , . MDS – , . « ».
, – . : , MDS .
MDS, :
Landing
Landing , – - , .
, «», Service. , -, SERVICE_000085.
Landing :
lnd.SERVICE_000085;
lnd.Load_SERVICE_000085.
, :
CREATE TABLE lnd.SERVICE_000085(
code nvarchar(250) NOT NULL,
Name nvarchar(250) NOT NULL,
business_service_key nvarchar(250) NULL,
technology_type_key nvarchar(250) NULL,
access_service_type_key nvarchar(250) NULL,
[service_type_key nvarchar(250) NULL
)
:
CREATE PROCEDURE lnd.Load_SERVICE_000085
AS
BEGIN
-- BatchTag
declare @SourceSystem varchar(50) = 'SERVICE_000085' + '_' + getdate()
-- , -. mdm.SERVICE_000085_V MDS « ».
-- Staging.
insert into stg.SERVICE_M_000085_Leaf
(
ImportType
, ImportStatus_ID
, BatchTag
, Code
, Name
, business_service_key
, technology_type_key
, service_type_key
)
select
'0'
, '0'
, @BatchTag
, l.code
, l.Name
, l.business_service_key
, l.technology_type_key
, l.service_type_key
from lnd.SERVICE_000085 as l
left join mdm.SERVICE_000085_V as ve on l.code = ve.code
where
ve.code is null
declare @count int = @@ROWCOUNT
if (@count > 0)
begin
-- MDS Staging
EXEC stg.udp_SERVICE_000085_Leaf
@VersionName = 'VERSION_1',
@LogFlag = 1,
@BatchTag = @BatchTag,
@UserName = 'SI\USER'
end
END
, MDS, :
, , , T-SQL .
Web Services REST
MDS - – dblink (view). , . Web Services REST, .
Web Services, , MDS, - JSON XML.
Web Services, , .
MDS
, , – .
, REST :
{"format": " ", "name": "_", "where": [ { "name": "_1", "operator": "=", "value": " " }, { "name": "_2", "operator": ">=", "value": " " } ] }
:
format – , . : json xml;
"name": "_" – , ;
"where" , : "name": "_N" – , , "operator": "=" – . :
"where" , :
"name": "_N" – , ;
"operator": "=" – . : = , <> , > , < , >= , <= ;
“value”: “ ” – , .
:
{"format": "json", "name": "service_000085", "where": [ { "name": "technology_type_key", "operator": "=", "value": "PSTN/" }, { "name": "lastchgdatetime", "operator": ">", "value": "2018.12.31 10:30" } ] }
MDS. mdm.tblEntity . mdm.tblAttribute .
sql- MDS, .
SQL- MDS:
select a.Name, a.AttributeType_ID, a.DataType_ID from mdm.tblAttribute as a
inner join mdm.tblEntity as e on a.Entity_ID = e.id
and e.name = 'SERVICE_000085'
sql-, , MDS « », .
Sql- :
select Code, Name, ImportType, ImportStatus_ID, business_service_key, technology_type_key, technology_type_key
from mdm.SERVICE_000085_V
where technology_type_key = 'PSTN/'
and lastchgdatetime > '2018.12.31 10:30'
, web-, , MDS .
: MDM , , , -, - .
. . MDS , .
open-source . MDM- . .
«»