220
Siperian Hub XU Implementer’s Guide XU

46574483 Siperian Hub Implementer Guide

Embed Size (px)

Citation preview

  • Siperian Hub XU

    Implementers Guide

    XU

  • 2007 Siperian, Inc.

    Copyright 2007 Siperian, Inc. [Unpublished - rights reserved under the Copyright Laws of the United States]

    THIS DOCUMENTATION CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SIPERIAN, INC. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SIPERIAN, INC.

  • Contents

    PrefaICLC

    ChapS

    RP

    ChapGD

    CCcentended Audience ............................................................................................................................................xontents .............................................................................................................................................................xiearning About Siperian Hub .......................................................................................................................xiiontacting Siperian ........................................................................................................................................xiv

    ter 1: Introducing Siperian Hub Implementationiperian Implementation Methodology..........................................................................................................2

    Reducing Project Risk.............................................................................................................................2Core Principles .........................................................................................................................................2

    oles in a Siperian Hub Implementation Project .........................................................................................4hases in an Siperian Hub Implementation Project ....................................................................................6

    Discover Phase.........................................................................................................................................6Analyze Phase...........................................................................................................................................7Design Phase ............................................................................................................................................7Build Phase ...............................................................................................................................................8Deploy Phase............................................................................................................................................8

    ter 2: Analyzing Dataetting Started ...................................................................................................................................................9efining the Flow of Data Between Siperian Hub and Source/Target Systems ..................................10

    Determine Data Source Characteristics .............................................................................................10Assemble a Statistically Representative Sample Data Set................................................................11Consider Data Sizing.............................................................................................................................11Consider the Relationship Between Data and Business Processes................................................12

    onsider Data Cleansing and Standardization Rules .................................................................................12onsider Trust Levels and Validation Rules ...............................................................................................12iii

  • iv Sip

    Trust Levels............................................................................................................................................ 13Validation Rules..................................................................................................................................... 14

    Consider Match Rules .................................................................................................................................... 14

    ChapA

    D

    D

    ChapU

    Uerian Hub XU Implementers Guide

    ter 3: Designing the Data Modelbout Data Modeling for MRM................................................................................................................... 18

    Data Model Design Deliverables ....................................................................................................... 18Conceptual Model ................................................................................................................................. 19Logical Model ........................................................................................................................................ 20Physical Model....................................................................................................................................... 24

    esign Principles............................................................................................................................................. 27Principle 1: Consider Deep Versus Wide .......................................................................................... 28Principle 2: Match Requirements Drive the Model ......................................................................... 29Principle 3: Consolidation Counts...................................................................................................... 30Principle 4: Pass the Independence Test .......................................................................................... 33Principle 5: Mix Different Types of Customers Carefully .............................................................. 36Principle 6: Landing and Staging Data............................................................................................... 40

    esign Patterns ............................................................................................................................................... 42Households ............................................................................................................................................ 42Addresses................................................................................................................................................ 43Populating the Address Household Object ...................................................................................... 45Communication Channel Models ....................................................................................................... 46

    ter 4: Using Trust Settings and Validation Rulessing Trust Levels .......................................................................................................................................... 52

    About Trust Levels ............................................................................................................................... 52How Trust Works ................................................................................................................................. 52Ranking Source Systems According to Trustworthiness ................................................................ 55Trust Best Practices .............................................................................................................................. 58Configuring Trust Levels ..................................................................................................................... 60Example Stored Procedure to Calculate Decayed Trust................................................................. 63

    sing Validation.............................................................................................................................................. 65

  • About Validation Rules.........................................................................................................................65How Validation Works .........................................................................................................................65Best Practices for Validation Rules.....................................................................................................68

    Using Trust and Validation Together...........................................................................................................70

    ChapA

    PT

    SM

    D

    ME

    SContents v

    Scenarios Involving Trust and Validation for a Column.................................................................70What Happens When a Record Is Updated ......................................................................................71Example Using Trust Levels and Validation Rules Together.........................................................72

    ter 5: Configuring and Tuning Match Rulesbout Matching ...............................................................................................................................................76

    Before You Start Defining Your Match Rules..................................................................................76Steps in the Match Process ..................................................................................................................76

    opulations .......................................................................................................................................................77okens for Match Keys .................................................................................................................................77

    Determining When to Tokenize Your Data......................................................................................78Match Key Widths.................................................................................................................................79Match Key Types and Mixed Data .....................................................................................................80

    earch Strategies ..............................................................................................................................................80atch Purposes ...............................................................................................................................................81

    Using the Match Purposes to Match People .....................................................................................82Using the Match Purposes to Match Organizations ........................................................................82Using the Match Purposes to Match Addresses ...............................................................................82Name Formats .......................................................................................................................................82Field Types Used in Purposes .............................................................................................................83Match Levels ..........................................................................................................................................84

    efining and Testing Your Match Rules .....................................................................................................85About Testing.........................................................................................................................................86

    atching Best Practices..................................................................................................................................86xact Match Column Properties...................................................................................................................87

    Null Match..............................................................................................................................................87Segment Match.......................................................................................................................................88Using Matching on Dependent Tables ..............................................................................................91

    etting Match Batch Sizes ..............................................................................................................................91

  • vi Sip

    Using Dynamic Match Analysis Threshold................................................................................................. 92Tuning Match for Performance .................................................................................................................... 92About Merging ................................................................................................................................................ 94

    ChapAB

    A

    ChapAS

    M

    Jerian Hub XU Implementers Guide

    ter 6: Implementing Hierarchy Managerbout Hierarchy Manager ............................................................................................................................. 96efore You Begin Implementing Hierarchy Manager............................................................................... 97

    Defining Your Goals ............................................................................................................................ 97Understanding the Data ....................................................................................................................... 97Assembling the Team........................................................................................................................... 98Determining Resources ........................................................................................................................ 98

    bout Implementing a Hierarchy Manager System .................................................................................. 98Step 1: Analyze Your Data .................................................................................................................. 99Step 2: Build the Data Model ............................................................................................................ 102Step 3: Configure Your Hierarchy Manager Implementation...................................................... 102Step 4: Load Data................................................................................................................................ 102

    ter 7: Scheduling Batch Jobs and Batch Groupsbout Scheduling Siperian Hub Batch Jobs............................................................................................. 104etting Up Job Execution Scripts ............................................................................................................... 104

    Metadata in the C_REPOS_TABLE_OBJECT_V View............................................................. 104Identifiers in C_REPOS_TABLE_OBJECT_V............................................................................ 106Determining Available Execution Scripts ....................................................................................... 107Retrieving Values from C_REPOS_TABLE_OBJECT_V at Execution Time ....................... 107Running Scripts Asynchronously...................................................................................................... 108

    onitoring Job Results and Statistics ........................................................................................................ 108Error Messages and Return Codes................................................................................................... 108Job Execution Status .......................................................................................................................... 108

    ob Scheduling Reference ............................................................................................................................ 111Alphabetical List of Jobs.................................................................................................................... 111Autolink Jobs ....................................................................................................................................... 112Auto Match and Merge Jobs ............................................................................................................. 113

  • Automerge Jobs ...................................................................................................................................115BVT Snapshot Jobs.............................................................................................................................116Generate Match Token Jobs..............................................................................................................118Key Match Jobs....................................................................................................................................120

    S

    D

    ChapA

    AContents vii

    Load Jobs ..............................................................................................................................................121Manual Link Jobs.................................................................................................................................123Manual Unlink Jobs.............................................................................................................................125Match Jobs............................................................................................................................................127Match Analyze Jobs.............................................................................................................................128Match for Duplicate Data Jobs .........................................................................................................130Stage Jobs..............................................................................................................................................131Unmerge Jobs.......................................................................................................................................133

    cheduling Batch Groups.............................................................................................................................137About Batch Groups...........................................................................................................................137Stored Procedures for Batch Groups ...............................................................................................138

    eveloping Custom Stored Procedures for Batch Jobs..........................................................................145About Custom Stored Procedures ....................................................................................................145Required Execution Parameters for Custom Batch Jobs ..............................................................145Example Custom Stored Procedure .................................................................................................146Registering a Custom Stored Procedure ..........................................................................................149

    ter 8: Implementing Custom Buttons in Hub Console Toolsbout Custom Buttons in the Hub Console ............................................................................................151

    How Custom Buttons Appear in the Hub Console.......................................................................152What Happens When a User Clicks a Custom Button..................................................................154

    dding Custom Buttons...............................................................................................................................155Writing a Custom Function ...............................................................................................................155Controlling the Custom Button Appearance ..................................................................................159Deploying Custom Buttons ...............................................................................................................159

  • viii Siperian Hub XU Implementers Guide

  • Preface

    Welcome to the Siperian Hub Implementers Guide. This guide explains how to design and implement your Master Reference Manager (MRM) system.

    This guide has been written for database administrators, system administrators, data stewards, application developers, and other members of an MRM implementation team who are responsible for MRM implementation and configuration tasks. To learn more, see Intended Audience on page x.

    You must be familiar with the platform on which Siperian Hub is installed. If that platform is Windows, then you must also have knowledge of Microsoft Windows Component Services, which is required for Siperian Hub. Database administrators must be familiar with the database environment on which they have installed MRM. Knowledge of Oracle administration is particularly important.

    Other administration and configuration tasks are described in the Siperian Hub Administrators Guide and Siperian Hub Users Guide.

    This guide assumes that MRM and all supporting software components have been installed. To learn more about installing MRM, see the Siperian Hub Installation Guide for your platform.ix

  • Intended Audience

    x Sipe

    Intended AudienceThis guide is intended for the following audiences:rian Hub XU Implementers Guide

    Audience Description

    MRM Implementers Those responsible for designing, developing, testing, and deploying MRM according to the requirements of the organization. All of the chapters in this book are recommended for implementers.

    Hierarchy Manager Implementers

    Those responsible for designing, developing, testing, and deploying Hierarchy Manager according to the requirements of the organization. See Chapter 6, Implementing Hierarchy Manager.

    Data Stewards Custodians of data quality. In Siperian terms, data stewards are the people responsible for reviewing and, where necessary, correcting and manually merging business data on a regular and ongoing basis. While the primary resources for data stewards is the Siperian Hub Users Guide, data stewards will also find the following chapters useful: Chapter 1, Introducing Siperian Hub Implementation Chapter 2, Analyzing Data Chapter 3, Designing the Data Model Chapter 4, Using Trust Settings and Validation Rules

    Siperian Administrators IT people responsible for configuring or updating a Hub Store so that it provides the rules and functionality required by the data stewards. While the primary resource for administrators is the Siperian Hub Administrators Guide, administrators will also find the following chapters useful: Chapter 5, Configuring and Tuning Match Rules Chapter 4, Using Trust Settings and Validation Rules

  • Contents

    ContentsThis guide contains the following chapters:xi

    Chapter 1, Introducing Siperian Hub Implementation

    Introduces the overall Siperian Hub implementation process and describes key concepts you need to understand before starting a Siperian Hub implementation project.

    Chapter 2, Analyzing Data

    Describes activities involved with analyzing data for a Siperian Hub implementation project.

    Chapter 3, Designing the Data Model

    Describes what implementers need to know need before building the data model for a Siperian Hub implementation project.

    Chapter 4, Using Trust Settings and Validation Rules

    Provides a brief overview of how trust settings and validation rules work together, best practice recommendations, and examples.

    Chapter 5, Configuring and Tuning Match Rules

    Describes how to use and tune match rules.

    Chapter 6, Implementing Hierarchy Manager

    Describes concepts, methodology, design patterns, and other information that implementers need to know before beginning a Hierarchy Manager (HM) implementation project.

    Chapter 7, Scheduling Batch Jobs and Batch Groups

    Explains how to schedule Siperian Hub batch jobs using job execution scripts.

    Chapter 8, Implementing Custom Buttons in Hub Console Tools

    Explains how to add custom buttons to tools in the Hub Console that allow users to invoke external services on demand.

  • Learning About Siperian Hub

    xii Sip

    Learning About Siperian HubSiperian Hub Documentation Navigatorerian Hub XU Implementers Guide

    The Siperian Hub Documentation Navigator directs you to the books in the Siperian Hub documentation that are most useful to you based on your role.

    Siperian Hub Installation Guide

    The Siperian Hub Installation Guide for your platform explains how to install Siperian Hub and Cleanse Match Server. There is a Siperian Hub Installation Guide for each supported platform.

    Siperian Hub Release Notes

    The Siperian Hub Release Notes contain important information about this release of Siperian Hub. Read the Siperian Hub Release Notes before installing Siperian Hub.

    Whats New in Siperian Hub

    Whats New in Siperian Hub provides an enhanced description of the new features for this release.

    Siperian Hub Tutorial

    The Siperian Hub Tutorial walks you through various Siperian Hub implementation tasks on a step-by-step basis.

    Siperian Hub Administrators Guide

    The Siperian Hub Administrators Guide explains how to configure, administer, and manage a Siperian Hub implementation. It provides a description of the Siperian Hub platform through a discussion of Siperian Hub concepts, services, tools, and databases. Administrators should read the Siperian Hub Administrators Guide first.

  • Learning About Siperian Hub

    Siperian Hub Users Guide

    The Siperian Hub Users Guide explains how to use Siperian Hub. It provides a description of the Siperian Hub platform through a discussion of Siperian Hub xiii

    concepts and tasks. Data stewards and users who are new to Siperian Hub should read the Siperian Hub Users Guide first.

    Siperian Hub Implementers Guide

    The Siperian Hub Implementers Guide explains how to design, implement, test, and deploy a Siperian Hub implementation. Implementers must be familiar with the content of the Siperian Hub Administrators Guide as well as the Siperian Hub Implementers Guide before starting a Siperian Hub implementation.

    Siperian Services Integration Framework Guide

    The Siperian Services Integration Framework Guide explains how to use the Siperian Hub Services Integration Framework (SIF) to integrate Siperian Hub functionality with your applications and how to create applications using the data provided by Siperian Hub. SIF allows you to integrate Siperian Hub smoothly with your organization's applications.

    Siperian Training and Materials

    Siperian provides live, instructor-based training to help you become a proficient user as quickly as possible. From initial installation onward, a dedicated team of qualified trainers ensure that your staff is equipped to take advantage of this powerful platform. To inquire about training classes or to find out where and when the next training session is offered, please visit our web site or contact Siperian directly.

  • Contacting Siperian

    xiv S

    Contacting SiperianTechnical support is available to answer your questions and to help you with any problems encountered using Siperian products. Please contact your local Siperian iperian Hub XU Implementers Guide

    representative or distributor as specified in your support agreement. If you have a current Siperian Support Agreement, you can contact Siperian Technical Support:

    We are interested in hearing your comments about this book. Send your comments to:

    Method Contact Information

    World Wide Web http://www.siperian.com

    E-Mail [email protected]

    Voice U.S.: 1-866-SIPERIAN (747-3742)

    by E-Mail: [email protected]

    by Postal Service: Documentation ManagerSiperian, Inc.1820 Gateway Dr., Suite 109 San Mateo, CA 94404

  • In

    1

    troducing Siperian Hub Implementation

    This chapter introduces the overall Siperian Hub implementation process and describes key concepts you need to understand before starting a Siperian Hub implementation project. It provides a framework and methodology for implementing Siperian Hub in a Siperian customer environment. This framework is intended to help with implementation planning in conjunction with the particular requirements of your Siperian Hub implementation. Although every Siperian Hub implementation is unique in specific ways, certain principles, patterns, and best practices can apply generally across most Siperian Hub implementations.

    Before you attempt to implement your Siperian Hub system, you should be intimately familiar with Siperian Hub and proficient in using the Siperian Hub tools. To learn more about using Siperian Hub, read through the following documents: Siperian Hub Users Guide

    Siperian Hub Administrators Guide

    Chapter Contents Siperian Implementation Methodology

    Roles in a Siperian Hub Implementation Project

    Phases in an Siperian Hub Implementation Project1

  • Siperian Implementation Methodology

    2 Sipe

    Siperian Implementation MethodologyThe Siperian implementation methodology provides a comprehensive set of procedures, guidelines, best practices, templates, and checklists for implementing the

    Red

    Corrian Hub XU Implementers Guide

    Siperian Hub in a customer environment. It is intended to provide project teams with the flexibility to tailor an implementation project to meet their specific needs, while still providing the structure and guidance required to successfully implement Siperian Hub.

    ucing Project Risk

    The main focus of the Siperian implementation methodology is to reduce project risk by: Standardizing the approach to implementing Siperian solutions through the use of

    best practices and templates

    Applying a risk avoidance-based scheduling approach to all project plans so that high-risk components of the project plan are completed as early as possible

    Including checkpoint review processes to help keep projects on track

    Providing sufficient knowledge transfer of Siperian products and implementation methodology, along with associated skills, to customers and implementation partners

    e Principles

    The Siperian implementation methodology is deliverables-based, not time-based. Deliverables are produced by specific activities that are grouped into five gated phases (described in Phases in an Siperian Hub Implementation Project on page 6). Gated phases mean that the project needs to pass through a checkpoint gate (a specific review process) before any activities for the next phase can begin.

    The objective of checkpoint gate reviews is not to enforce a rigid waterfall methodology in which everything must be completed, approved, and signed off before any activities in the next phase can begin. Used on its own, the Siperian implementation methodology allows for overlap between phases, with as much concurrency as possible, without exposing the project to unacceptable risk. The checkpoint gate reviews determine whether a sufficient portion of the deliverables

  • Siperian Implementation Methodology

    from the current phase have been delivered with acceptable quality before the phase can be considered complete.

    The Siperian implementation methodology can be used on its own or it can be Introducing Siperian Hub Implementation 3

    incorporated into many other methodologies, such as PMBOK, Prince2, Iterative, Waterfall, RAD, and others (including your own in-house methodology). If you do incorporate the Siperian implementation methodology into your enterprise project management methodology, then your approach to starting a new phase will be determined by the guidelines of your particular enterprise project management methodology.

    The Siperian implementation methodology is a project-based methodology that is based on the following principles: A project is a temporary and unique endeavor.

    A project has a start date and an end date.

    A project has a specific scope that is constrained by time, cost, and quality.

    A project contains risk that must be managed.

    The final goal of any project implemented under the guidelines of the Siperian implementation methodology is to deliver a fully configured, tested, and deployed Siperian Hub environment with the appropriate levels of project documentation.

  • Roles in a Siperian Hub Implementation Project

    4 Sipe

    Roles in a Siperian Hub Implementation ProjectA Siperian Hub implementation project usually involves the following roles, various of which might be held by customers, Siperian, or a third-party integrators.rian Hub XU Implementers Guide

    Typical Roles in a Siperian Hub Implementation Project

    Role Responsibilities

    Customer Project Manager

    Manages the overall project, including: Provides day-to-day project management, planning, and tracking Ensures that all issues and change requests have been

    communicated/resolved in a timely manner Defines and communicates resource needs Provides best practices and program management guidance Assists in requirements definition

    Technical Lead Primary technical representative on project team Participates in analysis, design, and testing activities Manages Master Data design and implementation, including:

    Data ModelingBusiness RulesData LoadsRules TuningConsolidation QAPackage/View Configuration

    Database Administrator

    Configures the database for Siperian Hub Sets up the Hub databases Works with the Solution Architect during Hub database

    performance testing and tuning

    System Administrator

    Configures the required hardware and infrastructure software

    Solution Architect Provides expert advice, counsel, and technical expertise to the project team to help assure that Siperian solutions are designed and developed in the optimal manner and in accordance with industry and Siperian best practices

    Hub Builder Assists with Siperian Hub design, development, testing, and deployment

  • Roles in a Siperian Hub Implementation Project

    EAI Specialist Provides the design and development of EAI programs

    Typical Roles in a Siperian Hub Implementation Project (Cont.)

    Role ResponsibilitiesIntroducing Siperian Hub Implementation 5

    The distinctions here are fluid and project-dependent. For a given Siperian Hub implementation project, a single team member might be responsible for multiple roles, and a single role might be shared among multiple team members.

    ETL Specialist Provides the design and development of ETL programs/modules

    Web Services Specialist

    Provides the design and development of Web interface applications

    Checkpoint Reviewer

    Provides an independent review of designs and deliverables at key junctures in the project to help assure the quality of the end product

  • Phases in an Siperian Hub Implementation Project

    6 Sipe

    Phases in an Siperian Hub Implementation ProjectA Siperian Hub implementation can be broken down into five distinct phases: Discover Phase

    Discrian Hub XU Implementers Guide

    Analyze Phase

    Design Phase

    Build Phase

    Deploy Phase

    Each phase has specific activities and deliverables.

    Note: A sixth phase, the management of steady-state processes for supporting the environment post-deployment, is outside the scope of this document.

    over Phase

    The Discover phase initiates the implementation project and includes the following activities: Identifying the overall vision driving the need for the project

    Analyzing the high-level requirements for the project

  • Phases in an Siperian Hub Implementation Project

    Defining scope restrictions for the project

    Defining the high-level solution architecture

    Project planning and costing, along with all underlying assumptions

    Ana

    DesIntroducing Siperian Hub Implementation 7

    Assessing project risk and defining risk mitigation strategies

    Defining service level agreements (SLAs) for key systemic qualities, such as scalability, high availability, and performance

    Note: Describing the Discover phase is outside the scope of this document.

    lyze Phase

    The Analyze phase involves refining the analysis of the system requirements, including: Detailed source data analysis

    Detailed requirements definition

    Detailed gap analysis

    Evaluation and acquisition of any third party solutions

    Refining the solution architecture

    ign Phase

    The Design phase focuses on translating the requirements of the analyze phase into concrete designs that can be implemented and tested in the build phase. It includes Data modeling

    Interface design

    Definition of business rules for cleansing, matching, merging, and maintaining data

    Codification of standards and conventions

    Definition of test cases

  • Phases in an Siperian Hub Implementation Project

    8 Sipe

    Build Phase

    The Build phase focuses on the following activities in a development environment: Siperian Hub installation and setup

    Deprian Hub XU Implementers Guide

    Configuring Siperian Hub to implement the data model and rules defined in the design phase

    Fine-tuning the rules

    Developing any interfaces between Siperian Hub and the source and target systems

    Security and rules configuration

    Testing the interfaces and rules

    loy Phase

    The Deploy phase involves: Deploying the fully built, tested, and accepted solution into a production

    environment

    Wrapping up the project

    Handing the system over to the appropriate system support team

    Training

  • Get2Analyzing Data

    This chapter describes activities involved with analyzing data for a Siperian Hub implementation project.

    Chapter Contents Getting Started

    Defining the Flow of Data Between Siperian Hub and Source/Target Systems

    Consider Data Cleansing and Standardization Rules

    Consider Trust Levels and Validation Rules

    Consider Match Rules

    ting StartedA critical early step in a Siperian Hub implementation project is to gain a thorough understanding of the data that you are integrating. For example, for each data source, you must know the datas relative accuracy, structure, size, trends in the data, the amount of data, the expected growth of the data set, and any other characteristics that are peculiar to the data.

    Data analysis is performed in the Analyze phase. The Analyze phase follows the Discover phase, during which a high-level data analysis is performed in order to identify any data issues or gaps that could impact project scope, timeline, costs, or risks. The Analyze phase includes both data analysis and business and functional 9

    requirements analysis. Data analysis and requirements analysis tend to happen in

  • Defining the Flow of Data Between Siperian Hub and Source/Target Systems

    10 Sip

    parallel with each other. The findings from data analysis often impact the requirements specification, and vice versa. However, data analysis is not dependent on requirements analysis.

    DefSou

    Deteerian Hub XU Implementers Guide

    ining the Flow of Data Between Siperian Hub and rce/Target Systems

    Data analysis begins by determining the source systems that will feed data into MRM. You must know exactly what data is comingand where it is coming fromby understanding what sources feed data into Siperian Hub, as well as what target systems are fed updates from Siperian Hub. At a high-level (in the Discover phase), it is just a system-level bubble diagram. By the time the technical design document is completed in the Design phase, it has evolved to the level of specific files or tables.

    rmine Data Source Characteristics

    For each data source, consider the following tasks: For each data source, determine the size, data type, data age, quality, quantity,

    source, and any other characteristics that are peculiar to the data set.

    Determine any data quality issues.

    Check the primary keys that are available in the data.

    Gain an understanding of the data cardinalitybetween entities, as well as consolidation cardinality.

    Determine total data volumes, expected delta volumes, and load frequencies per source.

    Identify any special initial data load requirements for the system.

    Analyze data for invalid conditions, and then perform frequency analysis to determine how often those conditions occur per source.

    Differentiate between invalid data conditions that can or cannot be remedied through data cleansing. The latter data conditions are the ones that should be considered in defining trust and validation rules.

    It is important to identify what is the more correct data, not just the more correctly formatted data.

  • Defining the Flow of Data Between Siperian Hub and Source/Target Systems

    Consider which external systems, including source systems, should be updated when data changes in a base object. For example, you might want to update the CRM system whenever a customers address gets changed. Message queue triggers can be configured in the Hub Console so that data changes can be published to

    Ass

    ConAnalyzing Data 11

    outbound message queues for retrieval by external systems. To learn more, see the Siperian Hub Administrators Guide.

    emble a Statistically Representative Sample Data Set

    To assist in data analysis, assemble a complete, diverse, but statistically representative sample of your production data from each source system. This sample should contain various types of non-identical duplicates. The more closely the sample data reflects the typical characteristics of the production data set, the more useful it will be. Having a sample data set is an invaluable resource for designing, configuring, and testing match rules.

    sider Data Sizing

    Developing detailed knowledge about data sources provides the basis for correctly sizing your MRM implementation. Consider the following factors: data volumenumber of rows, size of rows, large data sets, amount of raw data,

    ratio of raw to consolidated records, how matchy the data is

    data volatilitythe frequency of updates to the data within the source system

    load frequencyhow often this data will be brought into MRM to update the master records

    data modelnumber of base objects

    history retention and audit requirements

    number of source systems

    match rules

    performance requirements, if applicable

  • Consider Data Cleansing and Standardization Rules

    12 Sip

    Consider the Relationship Between Data and Business Processes

    Con

    Conerian Hub XU Implementers Guide

    It is essential to understand the importance of: each columns data to the business processes and business users that produce it.

    the quality of the data capture processes and data validation processes in each source system

    how closely aligned is your use of the data to the purposes of the people with whom the data originates (closer alignment is more reliable)

    sider Data Cleansing and Standardization RulesWhen analyzing data, consider source attributes that would benefit from data cleaning via the use of data cleansing and standardization rules. Cleanse lists are intended to facilitate data conversion during the staging process to ensure that the data that ends up in the staging table is in a standardized, consistent format. For each source, the appropriate transformation from source specific codes to the standard codes can be achieved with a cleanse list maintained in MRM. This will also enable the base objects to contain the actual standardized code values (as opposed to the Rowid_Object pointing to the standard code value).

    If cleanse lists are used to standardize codes, then a lookup table can be set up in MRM for each code to validate the code during data loading, ensuring that any record containing an erroneous code for which there is not a cleanse list entry does not get propagated into the base objects.

    sider Trust Levels and Validation RulesDuring the analysis and design phases of a project, it is important to identify the factors affecting the trust levels of your source data, and to determine what validation rules need to be implemented. Although configuring trust levels occurs later in the Siperian Hub implementation process, you should begin thinking about trust level settings and validation rules during data analysis. As you analyze the data, you learn more about its varying levels of accuracy. This knowledge contributes to the trust rules design.

  • Consider Trust Levels and Validation Rules

    The quality of the data (as defined by the relative importance of the source system and the relative quality of the data coming from that source system) is the main factors in determining trust settings. If you find during data analysis that some data is typically erroneous, then you probably want to give it a lower trust score.

    TrusAnalyzing Data 13

    To learn more about defining trust settings and validation rules, see Chapter 4, Using Trust Settings and Validation Rules. For more information on using the MRM tools to set trust levels, see the Siperian Hub Administrators Guide.

    t Levels

    In MRM, the Siperian Trust Framework ensures that its consolidated records, at the cell level, contain the most reliable information available from the data sources. Trust is a mechanism for measuring the confidence factor associated with each cell based on its source system, change history, and other business rules. Trust takes into account the validity of the data, the age of the data, and how much its reliability has decayed over time. For more information about trust settings, see Using Trust Levels on page 52.

    Trust is assigned at the column level. It can be specified, for example, that Source System 1 is more reliable for customer name but Source System 2 is more reliable for phone number. There are several parameters that can be set to assign Trust for each source systems column, such as: Maximum (initial) Trust level for a new data value

    Minimum Trust level for an old data value

    Decay Period or length of time that the trust level takes to decay from the Maximum Trust to the Minimum Trust

    Decay Type or the shape of the decay curve (a straight line or a curve)

    For example, the Email Address from a Web application might be assigned Maximum Trust of 80, Minimum Trust of 20, Decay Period of 1 year, and Decay Type of SIRL (Slow Initial, Rapid Later), indicating a curve that decays gently at first and more rapidly later.

    In addition to internal data sources, consider data sources that are not controlled within your organization. For example, suppose your organization purchases data sets

  • Consider Match Rules

    14 Sip

    from a third-party provider. These data sources might be guaranteed to consist of unique records with a high level of accuracy. Accordingly, you could decide to designate a high level of trust for this data.

    Vali

    Conerian Hub XU Implementers Guide

    dation Rules

    A validation rule tells Siperian Hub the condition under which a data value is not valid. If data meets the criterion specified by the validation rule, then the trust value for that data is downgraded by the percentage specified in the validation rule. To learn more about validation rules, see Using Validation on page 65.

    Here are some examples of validation rules: Downgrade trust on Last Name if length(last_name) < 3 and last_

    name NG

    Downgrade trust on middle_name if middle_name is null Downgrade trust on Address Line 1, City, State, Zip and Valid_

    address_ind if Valid_address_ind= False

    If the Reserve Minimum Trust flag is enabled (checked) for a column, then the trust cannot be downgraded below the columns minimum trust setting.

    sider Match RulesAlthough configuring match rules occurs later in the Siperian Hub implementation process, you should begin thinking about match rules during data analysis because the data analysis will turn up data characteristics that govern the match rules. Therefore, as you analyze data, do so with match rules in mind.

    During data analysis, identify which columns are appropriate for matching. For example, if a gender column is null 80% of the time, then this column is probably not a column to use in a match rule. Similarly, investigate the distribution of data so that you can assess in advance how selective a match rule needs to be for certain columns.

  • Consider Match Rules

    To learn more about defining match rules, see Chapter 5, Configuring and Tuning Match Rules. For more information on using the MRM tools to configure match rules, see the Siperian Hub Administrators Guide.Analyzing Data 15

  • Consider Match Rules

    16 Siperian Hub XU Implementers Guide

  • 3Designing the Data Model

    This chapter describes what implementers need to know need before building the data model for a Siperian Hub implementation project. It is recommended for all implementers and anyone else who must understand the Master Reference Manager data model. To learn more about the data model, see the Siperian Hub Administrators Guide.

    Note: This chapter assumes that the reader is familiar with conventional data modeling methodologiesit supplements conventional data modeling techniques with MRM-specific recommendations.

    Chapter Contents About Data Modeling for MRM

    Design Principles

    Design Patterns17

  • About Data Modeling for MRM

    18 Sip

    About Data Modeling for MRMData modelers and design consultants responsible for defining the data model for MRM require expertise in relational modeling at the conceptual, logical, and physical

    Dataerian Hub XU Implementers Guide

    levels. The following sections introduce the various types of models necessary to develop a Siperian Hub implementation: Data Model Design Deliverables

    Conceptual Model

    Logical Model

    Physical Model

    Model Design Deliverables

    The process of designing the data model for consolidated reference data for a Siperian Hub implementation involves a series of deliverables. The following figure shows the major phases of the Siperian implementation methodology, along with the data model delivered in each phase.

    The design starts with a conceptual model, which identifies the main objects to be managed in MRM. It also identifies which objects will be consolidated, because match criteria ultimately drive modeling decisions for the physical model.

    The conceptual model is used as the starting point for the logical model, which provides a logical representation of the entities and attributes to be managed in MRM.

    The logical model is transformed into a physical model, which is the model that is then defined in MRM using the Schema Manager in the Hub Console. Transitioning from a logical model to an ideal MRM physical model involves design principles that are described in Design Principles on page 27 later in this

  • About Data Modeling for MRM

    chapter. The physical model is the final output from the data modeling design steps, and it is the model that the business and system owners need to approve.

    The following figure shows the increasing level of detail and number of entities in

    ConDesigning the Data Model 19

    conceptual, logical, and physical models.

    ceptual Model

    The purpose of the conceptual model is to identify and describe the main objects needed to create a global business view of the data, with little detail. This step is often skipped in typical IT projects, or it might be combined with the logical model. However, for Siperian Hub implementations, it is very important to go through this step because it starts the process of thinking about match requirements, which impact the physical model design.

    The conceptual model for a Siperian Hub implementation shows the business entities that will need to be managed in MRM, along with the relationships among the business entities and some high-level design properties. If you have worked with entity relationship diagrams (ERDs), the conceptual model might look similar. To facilitate logical and physical (or logical to physical) data model design, the Match and Merge and Intertable Match Parent properties are the most critical properties to identify (to learn more, see the Siperian Hub Administrators Guide). One approach is to begin with the worst case match scenario, determine the elements in the token match table, and then trim this down to the tables that would be realistically used for matching.

  • About Data Modeling for MRM

    20 Sip

    The following figure shows an example of a conceptual data model.

    Logerian Hub XU Implementers Guide

    The conceptual model must be derived from the system requirements, with inputs from analyses of internal and external business system data sources.

    Note: For some projects, a pre-existing logical data model might be available. In such cases, it is still important to create a conceptual data model to ensure that you have identified the Match and Merge requirements that can have a significant impact on the subsequent physical data model.

    ical Model

    The purpose of building a logical model is to confirm that the application will satisfy the business requirements. A logical model represents the entities, relationships, and attributes that are representative of the business information needs. A logical model is usually a normalized model. Normalization is the process of determining stable attribute groupings in entities with high interdependency and affinity.

    By defining entities, attributes, and their relationships, you might discover data model design flaws that could produce anomalies. Data flaws include: Missing entities

    Multiple entities that represent the same conceptual entity

  • About Data Modeling for MRM

    Many-to-many relationships that need additional entities to resolve the many-to-many relationship by creating an intersection table, thus turning the many-to-many relationship into two one-to-many relationships.

    Multivalued and redundant attributesDesigning the Data Model 21

    Example Logical Model with Design Flaws

    The following figure shows an example of a logical model that has some design flaws.

    This logical model is based on the previous conceptual model example shown in the figure in Conceptual Model on page 19. It has the following design flaws:1. Affiliation Role probably needs a Lookup table to define the different types of

    Affiliation Roles (missing entity).

    2. Repeating attributes (phone numbers, fax numbers, email addresses) can be normalized into an Electronic Address entity.

  • About Data Modeling for MRM

    22 Sip

    Example Logical Model with Fixed Design Flaws

    The following figure shows the logical model after it has been fully normalized and missing entities have been added.erian Hub XU Implementers Guide

    The logical model includes the following new entities:3. An Electronic Address entity has been added to handle the repeating phone and

    fax number attributes (which have therefore been removed from the Customer Address intersection table).

    4. An Electronic Address Type table has been added to provide definitions for the types of electronic address represented in each record.

    5. An Affiliation Role lookup table has been added.

  • About Data Modeling for MRM

    Pre-Existing and New Logical Models

    Before considering how the logical model will transition to a physical model, it is important to get the logical model right. In some Siperian Hub implementations, a Designing the Data Model 23

    pre-defined logical model is available. In such situations, you still need to evaluate the logical model to make sure that: it meets the stated business needs

    it makes sense logically

    the entities and attributes in the logical model can be populated from the source systems (there is little point in modeling entities or attributes that cannot be populated from the source systems)

    The pre-existing logical model might not be tuned to work particularly well in MRM. Therefore, you will need to determine how to transition that logical model to a suitable physical model.

    In other Siperian Hub implementations, you will need to define the logical model from scratch. In such cases, the logical model can be defined in a way that suits the business needs and is more closely aligned with the models for which MRM is tuned.

    Objects in the Logical Model

    When modeling for MRM, the logical model must focus on the actual entities that will be defined in MRM as base objects or dependent objects.Objects in the Logical Model

    Type of Object Description

    Base Objects Used to describe central business entities, such as Customer, Product, or Employee. In a base object, data from multiple sources can be consolidated or merged. Trust settings are used to determine the most reliable value for each base object cell. In addition, one-to-many relationships (foreign keys) can be defined between base objects.

    Dependent Objects Used to store detailed information about the rows in a base object (such as header-detail relationships). One row in a base object table can map to several rows in a dependent object table.

  • About Data Modeling for MRM

    24 Sip

    You do not model history, cross-references, and so on, as MRM automatically creates and manages these structures for you. In addition, avoid adding landing tables or staging tables to the logical model, because they clutter the model unnecessarily. You can model landing tables as part of the physical model.

    Phyerian Hub XU Implementers Guide

    Remember that the logical model is not an enterprise-wide data model. The logical model is a model for reference data only, and it is usually only for a specific subset of the reference data (such as Customer data). Similarly, do not include transaction data in the logical model, and limit the model to the reference data that is to be managed in MRM. Finally, bear in mind that the physical modelnot the logical modelis the actual model that you will implement for MRM.

    sical Model

    The physical model is the actual model that you define using the Schema Manager in the Hub Console (to learn more, see the Siperian Hub Administrators Guide). It is thus a subset of the complete physical schema that will be generated by MRM. The physical model diagram shows the base objects, dependent objects, and landing tables to be implemented in MRM.

    The rule of thumb for physical model diagrams is to show the user-defined entities and attributes, plus the primary and foreign keys, so that relationships can be modeled correctly. In the physical model, avoid showing MRM-generated entities or attributes other than primary and foreign keys. All supporting tablessuch as cross-references, history tables, control tables, and staging tableswill be created by MRM and therefore are not included in the physical model diagram.

    MRM is flexible enough to implement any logical model as a physical model, but it is tuned to work better with some types of models than with others. Performance is the main driver for differences between the logical model and the physical model. Before you develop a physical model for a Siperian Hub implementation, you must carefully review your logical model in light of its performance implications. An ideal physical model for MRM is a balance between a completely denormalized model (best performance) and highly normalized (best flexibility).

  • About Data Modeling for MRM

    The following figure shows an example physical model based on the logical model described previously. Designing the Data Model 25

    Notice that all of the entities defined in the logical model will be implemented as base objects and that ROWID_OBJECT is used for all primary keys. In addition, notice that the many-to-many relationship between the Customer and Address entities in the logical model has been changed to a one-to-many relationship in the physical model. The reasons for these changes will be explained in the Design Principles on page 27 section later in this chapter.

    When designing the physical model, consider the following factors: Required Functionality

    Performance and Scalability

    Flexibility for Future Use

    Siperian Product Roadmap

  • About Data Modeling for MRM

    26 Sip

    Required Functionality

    Required functionality is one of the key factors affecting design decisions in the physical model. Some examples of functionality requirements include:erian Hub XU Implementers Guide

    If you must keep a history of changes to attributes of an object, then define that object as a base object.

    Performance and Scalability

    A completely denormalized model gives the fastest performance, particularly for merge and unmerge, as there are fewer child tables to be updated on merge or unmerge. However, a completely denormalized model limits both flexibility and functionality.

    The more denormalized the model, the fewer levels of consolidation are available, and the more difficult it can be to add new data sources and new attributes or entities in the future. You must therefore find a balance between modeling for performance (denormalizing) and modeling for functionality/flexibility (normalizing). You should not denormalize simply for the sake of denormalizingthere are some areas that are better to denormalize than others, as they yield the most performance benefit with the least functionality/flexibility loss. These issues are discussed in detail in the Design Principles on page 27 section later in this chapter.

    Flexibility for Future Use

    When defining the physical model, it is important to keep possible future requirements in mind, but without adding entities or attributes that cannot yet be maintained or that that are not yet fully understood. Sometimes building in system flexibility is as simple as naming things flexibly. For example, if you are building a Customer master for Organization data and you know that the plan is to add Person data to that Customer Master within the next year, then consider using a name other than Organization (such as Business Party) for the Customer table because the table may well end up containing both Organization and Customer data.

    Be wary of adding physical limitations that might later cause problems. One example of this is specifying user-defined unique keys on base objects. If you define a unique key on a base object, you cannot merge records in that base object. Although this might not be a problem in the initial implementation of a project, it is not uncommon for

  • Design Principles

    new sources that are later added to a system will bring their own values for the base object with the unique key, making it desirable to use match and merge functionality to consolidate the new systems data with that of the original systems data.

    DesDesigning the Data Model 27

    Siperian Product Roadmap

    An optimal physical design for a Siperian Hub implementation takes into account what is known of future requirements, the Siperian product roadmap, and the intersection between them. If you have any questions about how your model relates to the Siperian product roadmap, arrange (through Siperian Support) for a data model review with Siperian Solutions Delivery and Engineering.

    If you model types of objects (such as households) or types of relationships that are not discussed in this document, then you should review the data model with your Siperian Solution Architect to make sure that the model does not run contrary to any assumptions in MRM design, QA, or planned features. This review should be conducted as part of the data model checkpoint review that should already be built into your project plan.

    ign PrinciplesThis section describes some underlying design principles for transitioning from a highly normalized logical model to a physical model. Principle 1: Consider Deep Versus Wide

    Principle 2: Match Requirements Drive the Model

    Principle 3: Consolidation Counts

    Principle 4: Pass the Independence Test

    Principle 5: Mix Different Types of Customers Carefully

    Principle 6: Landing and Staging Data

  • Design Principles

    28 Sip

    Principle 1: Consider Deep Versus Wide

    This design principle refers to the number of direct child tables linked to a parent table. The following figure shows the two different types of designs.erian Hub XU Implementers Guide

    This principle applies when you want to merge or unmerge on the parent table. The design principle mainly affects performance of the merge and unmerge processes.

    The more directly-linked child tables that a parent table has, the more those tables must have foreign key references updated when records merge in the parent table. Therefore, the more child tables a parent table has, the slower will merges for the parent table be.

    This principle applies to the unmerge process as well. For unmerges in a deep model, consider how far you allow unmerges to cascade. Which child tables need to have cascade unmerge enabled? How many child tables deep should you choose to enable the Unmerge on Parent Unmerge flag? The more child tables you have with merged records and the Unmerge on Parent Unmerge flag enabled, the more work the unmerge needs to do, and therefore the slower the unmerge process.

  • Design Principles

    Principle 2: Match Requirements Drive the Model

    Match criteria also drive physical data model decisions with respect to functionality. Intertable match criteria involves the use of attributes from one table in the match rules Designing the Data Model 29

    of a related tablefor example, matching customers using address information from the Address table. For more information, see Address Example on page 31.

    Another area in which required match functionality can affect the physical model is the way in which match rules must be defined. If you need to define an AND match rule, you need to denormalize repeating attributes that are to be used in the match rule. Normalizing repeated attributes into a child table allows OR match rules on the normalized attributes, not AND match rules.

    For example, if you create an Electronic Address table that contains phone numbers and e-mail addresses, you can use these in a match rule that identifies records as matching if their phone numbers are the same OR if their email addresses are the same. If you need a match rule that identifies records as matching if their phone numbers match AND their email addresses match, then you need to denormalize these into separate columns.

    The following figure shows an example of a normalized Electronic Address table that supports OR match conditions only.

    This Electronic Address table supports match rules in which phone numbers matched OR e-mail addresses matched. In the example shown, Customer IDs 12345, 45678, and 00001 would all be identified as matches for one another because of their matching phone numbers.

  • Design Principles

    30 Sip

    The following figure shows an example of denormalized attributes to support AND match conditions.

    Prinerian Hub XU Implementers Guide

    Logically, this table shows the same data as in the normalized Electronic Address table, but the physical structure has been denormalized to support match conditions that specify AND criteria. In this example, Customer IDs 12345 and 45678 would match because their phone numbers match AND their email addresses match. Customer ID 00001 would not be considered a match for the other two records because it has a different e-mail address. For more information, see Communication Channel Models on page 46.

    ciple 3: Consolidation Counts

    The physical model must take into account the required results after consolidation and, particularly, the desired cardinality of base object to cross-references after consolidation (where cardinality is the ratio of the number of records in the base object to the number of records in the cross-reference). The physical model must also consider the effects of source updates on the surviving record. This section describes several examples to illustrate this principle.

    Physician Specialities Example

    A physician can have one or more specialties. Pharmaceutical companies are often interested in identifying only the primary specialty for a physician. However, when two physician records are merged from different sources, those sources might provide different values for the physician's primary specialty. If the required cardinality after merging the specialties is one surviving primary specialty, then you should include Primary Specialty as a column on the Physician base object. However, if the pharmaceutical company wants to keep all of the specialties for the merged physician record, then Physician Specialty must be a child table of the Physician table.

  • Design Principles

    Address Example

    Logically, a single address can belong to multiple customers. For example, office addresses can be shared by colleagues at the same location, or group practice addresses Designing the Data Model 31

    can be shared by partners in the same law firm. Of course, a customer can also have multiple addresses. For this reason, logical models usually have customer and address as distinct entities with a many-to-many intersection table between them.

    However, in a physical model for consolidated data, this approach is not necessarily practical, especially if you are trying to reduce duplication in addresses from multiple sources. Consolidating addresses when they are not directly linked to customers means that you are consolidating addresses across customers. For example, in the following figure, N.E. One and Ann Other both have the same address. If the two address records are merged, then one survived address record will remain and that record will be linked to both N.E. One and Ann Other through the Customer Address intersection table.

    Avoid consolidating addresses across customers unless there is a real business need for an enterprise-wide unique ID per physical address location. Even if there is a real business need, there are other ways to model this instead. For more information, see Design Patterns on page 42.

    Consolidating addresses across customers involves limiting address changes to the right customers, performance considerations, and functionality considerations.

  • Design Principles

    32 Sip

    Limiting Address Changes to the Right Customers

    If one Customer changes their address, then you need to make sure that the address change is not automatically applied to the consolidated address record for all erian Hub XU Implementers Guide

    customers. For example, in the figure shown in Address Example on page 31, if N.E. One moves their office, it does not mean that Ann Other has also moved their office, so the consolidated address that was previously linked to both N.E. One and Ann Other now belongs only to Ann Other.

    Performance Considerations

    Consolidating addresses across customers means that you usually have a high degree of cardinality between the source addresses and the resultant consolidated addresses. The higher the number of duplicate records, the more work the merge must do to process them. The cardinality is reduced if Customer ID is one of the match criteria for addressesthat is, if addresses are consolidated only within customer records, not across them. The following figure shows the recommended approach for customer address relationships.

    Using this approach also reduces the number of tables that must be staged and loaded. This approach does not necessarily yield a large performance gain if your implementation involves only a handful of source systems to process. However, the more source systems that are configured to process, the higher will be the performance impact that each additional target table has on stage and load batches. For example, a Siperian Hub implementation with five sources for the previous model (shown without consolidated addresses in Business Party and Differentiated Customer Models on page 36) requires 15 stage jobs and 15 load jobs. An implementation with ten sources for that same model requires 30 stage and 30 load jobs. For the model with

  • Design Principles

    consolidated addresses, five sources require ten stage and ten load jobs, and ten sources requires 20 stage and 20 load jobs.

    Functionality Considerations

    PrinDesigning the Data Model 33

    Modeling customer address as a direct (one-to-many) relationship between customer and address means that customer address attributes can be stored directly on the Customer Address base object or as a child base object linked to Customer Address. As long as the attributes are part of a base object, MRM tracks their history. This approach also means that Customer can use attributes from child tables of the Customer Address table for matching.

    Similarly, keeping customer address attributes in base objects means that duplicate or overlapping attribute values from multiple sources can be consolidated to get to best of breed values for those attributes.

    ciple 4: Pass the Independence Test

    Independent base objects are base objects that are not linked to the core consolidated object through a one-to-many or a many-to-one relationship, but are instead linked through many-to-many intersection tables. If a base object is modeled as an independent base object, then its records should make sense on their own, without any reference to the core base object. It should make sense to consolidate its records to a distinct set of values.

    Steps for Testing Independence

    The independence test for a physical model includes the following steps:1. Identify the core base object that is being consolidated in the Hub

    StoreCustomer in a Customer Master, Supplier in a Supplier Master, and so on.

    2. Look for any many-to-many relationships (direct or indirect).

    3. Inspect the base object that is on the other side of the many-to-many relationship and ask the question: What can the business do with a distinct list of the things in this object without knowing who the Customer is? If the answer is Nothing, then change the many-to-many to a one-to-many relationship.

  • Design Principles

    34 Sip

    Example Using a Highly Normalized Model

    The following figure shows an example of a highly normalized model.erian Hub XU Implementers Guide

    In this model, Specialty, Address, and Electronic Address are all linked to the core objectCustomerthrough many-to-many relationships. You can therefore apply the independence test by asking the following questions:

    Question Answer

    What can the business do with a distinct list of Specialties without knowing who the Customer is?

    The distinct list of Specialties can be used to provide a pick or lookup list of Specialty values in a capture screen for new Customer information. The business wants to standardize the list of Specialties it uses in reporting by assigning each source specialty to a consolidated enterprise specialty value.

    What can the business do with a distinct list of Addresses without knowing who the Customer is?

    In most cases, the answer to this question is Nothing. Addresses are usually meaningful only in terms of the Customer to whom the Address belongs.

    What can the business do with a distinct list of Electronic Addresses (for example, telephone numbers) without knowing who the Customer is

    Nothinga telephone number has no significance in its own right.

  • Design Principles

    Converting relationships from many-to-many to one-to-many for the objects that failed the independence test would result in the model shown in the following figure.Designing the Data Model 35

  • Design Principles

    36 Sip

    Principle 5: Mix Different Types of Customers Carefully

    In Siperian Hub implementations, you must be careful when mixing different types of customers.erian Hub XU Implementers Guide

    Business Party and Differentiated Customer Models

    This principle focuses on the consequences of implementing two different modelsa Business Party model versus a Differentiated Customer model, which are shown in the following figure.

    Data modelers often prefer the Differentiated Customer model because it reduces null attributes on the Customer table (for example, the Organization Customer does not need to carry any attributes that apply only to an Individual Customer). However, there are definite advantages to using a Business Party model over a Differentiated Customer

    Model Description

    Business Party Model All Customer records are loaded into the same Business Party table, and an attribute on that table identifies the type or classification of the Customer records. In this example of a Business Party model, the Class of Customer attribute distinguishes Organizations from Individuals.

    Differentiated Customer Model

    The type or classification of the Customer records is implied by where the records are stored. In this example of a Differentiated Customer model, the Organization table holds Customers classified as Organizations, and the Individual table holds Customers classified as Individuals.

  • Design Principles

    model, even if it does result in more null attributes on the Business Party table. Such advantages include: The Business Party model easily supports any number of chained relationships

    between different classes of customers and/or the same classes of customers.Designing the Data Model 37

    The Business Party model allows you to model networks, not just parent/child hierarchies.

    The Business Party model provides a single unique identifier for each Customer without any chance of overlap.

    The Business Party model allows you to search for Customers in one place without needing to know anything about the type of Customer.

    The Business Party model allows you to identify source records that have given Customers incorrect types.

    Mixing Models

    In your Siperian Hub implementation, you might decide to implement a Business Party model so that you get one unique Customer identifier and you can model Customer Affiliations flexibly. If you want to avoid too many redundant/null value columns on the Business Party base object, you can use child tables to carry some of the attributes that are specific to specific sub-types of Customers. However, if you do this, you must be very careful about how you mix the Business Party and Differentiated Customer models.

  • Design Principles

    38 Sip

    The following figure shows a poor mix of these models.erian Hub XU Implementers Guide

  • Design Principles

    The following figure shows a better way to mix these models.Designing the Data Model 39

    If the merge performance is a concern, then consider using a pure Business Party model, as shown in the figure in Business Party and Differentiated Customer Models on page 36.

    This is a better mix than the figure showing a poor mix of models because it simplifies the relationships between the objects and reduces the number of cross-table joins required to get the match data. The preferred model is still the full business party model shown in Business Party and Differentiated Customer Models on page 36, as that reduces the number of child tables to be maintained on merge and unmerge.

    The Customer match attributes have been denormalized so that they are attributes of the Business Party base object instead of the Organization and Individual base objects. This reduces the number of cross-joins used in populating the match token.

    In the better mix, all relationships have been defined at the Business Party level, making it easier to navigate and maintain the relationships. The poor mix has an uneasy mixture of relationships, with Addresses having nullable foreign keys to either Individual or Organization.

  • Design Principles

    40 Sip

    Principle 6: Landing and Staging Data

    This principle considers how you design landing and staging tables in your Siperian Hub implementation.erian Hub XU Implementers Guide

    Landing Table

    Although we have no strong design recommendations with respect to landing tables, consider the following issues for your Siperian Hub implementation: Some implementations have used source-specific landing tables (a landing table per

    source table/source file). This keeps the landing table format closer to the source format and means that the ETL process does not need to transform all sources to a standard layout, which could simplify the process of making changes for one source or adding new sources with different attributes later. However, it usually also means a very large number of landing tables, which can be tedious and cumbersome to set up.

    Other implementations have used one landing table per target table, which means that the ETL needs to transform all sources for the same target to the same standard layout. This approach does allow the ETL to be standardized, making it much faster to develop and test for the first implementation (where typically a large number of sources need to be coded). It is possible that this approach also makes it more costly to maintain after initial deployment, because changes from one source could potentially affect multiple ETL mappings.

    If you use one landing table per target table in your Siperian Hub implementation, then the landing table needs to include a source identifier, which must be used in filtering the data mapped to each staging table. The landing table should also have a range partition specified in Oracle to partition it according to source system, which allows partitions to be truncated before the ETL inserts data from a source, rather than having records deleted from the landing table.

  • Design Principles

    Staging Tables

    Staging tables must be based on the columns provided by the source system for the target base object or dependent object for which the staging table is defined, even if the Designing the Data Model 41

    landing tables are shared across multiple source systems. If you do not make the column on staging tables source-specific, then you create unnecessary trust and validation requirements.

    Trust is a powerful mechanism, but it carries performance overhead. Use trust where it is appropriate and necessary, but not where the most recent cell value will suffice for the surviving record. For more information, see Using Trust Levels on page 52.

    If you limit the columns in the staging tables to the columns actually provided by the source systems, then you can restrict the trust columns to those that come from two or more staging tables. Use this approach instead of treating every column as if it comes from every source, which would mean needing to add trust for every column, and then validation rules to downgrade the trust on null values for all of the sources that do not provide values for the columns.

    More trust columns and validation rules obviously affect the load and the merge processes. Also, the more trusted columns, the longer will the update statements be for the control table. Bear in mind that Oracle and DB2 have a 32K limit on the size of the SQL buffer for SQL statements. For this reason, more than 40 trust columns result in a horizontal split in the update of the control tableMRM will try to update only 40 columns at a time.

  • Design Patterns

    42 Sip

    Design PatternsThis section summarizes the following typical physical data model design scenarios and describes options for implementing them:

    Houerian Hub XU Implementers Guide

    Households

    Addresses

    Populating the Address Household Object

    Communication Channel Models

    seholds

    A Household is a grouping of customer records according to geographic location. For example, all of the people living at one address could be considered a household, or a group of doctors practicing at one hospital could be considered a household.

    Create Household as a base object that is the parent of Customer. The easiest type of household is one in which the household has no attributes of its own. It uses inter-table match to match on selected Customer match columns that usually include the Address match columns.

  • Design Patterns

    The following figure shows an example of a logical mode for Households.

    AddDesigning the Data Model 43

    resses

    The ideal model for addresses involves a one-to-many relationship from Business Party to Address, with Address match rules that include Business Party ID to prevent matches across different Business Parties. However, there are occasionally business cases for consolidating addresses across Business Parties, such as to get a single identifying key for all addresses for the same location, regardless of which Business Parties use that address. If there are business reasons for consolidating Addresses

  • Design Patterns

    44 Sip

    regardless of the Business Parties using the Addresses, then the following consolidated address model is recommended.erian Hub XU Implementers Guide

    In this model, the Business Party Address base object consolidates the Addresses per Business Party. The Business_Party_ROWID is one of the match criteria for the Business Party Address base object, and Business Party Addresses should merge only if they have the same Business_Party_ROWID value.

    The Business Party Address base object gives you the distinct set of addresses for each business party, but it does not give you a distinct set of all the addresses with a unique ID for each unique address. To get a unique set of Address identifiers, the Address base object would need to be included in the data model.

    At its simplest, the Address base object does not include any attributes of its own, other than a Status Indicator to indicate whether the Address ID is active or inactive. Instead, it uses intertable match to match using the attributes from the Business Party Address table. This approach assumes that tight matching rules are used for the Address base object, and that survivorship of household-specific attributes is not required. If household-specific attributes need to be survived, then those attributes must be defined and populated for the Address base object, along with the appropriate Trust rules.

  • Design Patterns

    Populating the Address Household Object

    The Address household object is a standard base object that is populated through landing and staging tables. At the cross-reference level, there is one-to-one cardinality Designing the Data Model 45

    between the Address base object (Address cross-reference) and the Business Party Address base object (Business Party Address cross-reference).

    Landing Tables

    The Address object should share landing tables with the Business Party Address base object. The Address base object uses the same pkey_src_object values as the Business Party Address.

    Staging Tables

    The Address object must have its own staging tables. As for any other base object, the Address base object requires a separate staging table for each source system that can populate it. Each Address staging table usually only has pkey_src_object and last_update_date columns, unless there are other, household-specific attributes to be included.

    If hard delete detection is being used to deactivate unused address identifi