Skip to main content

MDM - Approaches to Maintaining a Master List

 Managing master data efficiently is crucial, especially in environments where multiple applications store and use their own versions of master data. In existing systems, maintaining a single, accurate master list can be challenging due to data duplication and inconsistencies. Here, I summarize different approaches to maintaining a master list, which I will revisit in future discussions.

1. Single Copy of Master Data

  • In this approach, there is only one authoritative copy of the master data.
  • All changes are made directly to this master dataset.
  • Applications that use the master data must retrieve and work with the latest version.

Benefits:
✅ Ensures data consistency across all applications.

Challenges:
Not always practical—existing systems may need significant modifications to access the single master.

2. One Master, Multiple Copies with Controlled Updates

  • A single master copy exists, and changes are made only to this copy.
  • Updates are propagated to other systems, which store local copies.
  • Local applications can modify their data only for non-master attributes.

Benefits:
Minimal changes needed in existing applications.
✅ Master data remains consistent while allowing flexibility for local modifications.

Challenges:
❌ Risk of delayed synchronization, which may cause temporary discrepancies.

3. Merging Master Data Across Systems

  • Applications can update their local copies of master data independently.
  • Changes are sent to the central master, where they are merged.
  • The updated master data is then distributed back to all connected systems.

Benefits:
Minimal changes required in existing applications.
✅ Provides greater flexibility for systems that need autonomy over their data.

Challenges:
Conflict resolution is required if multiple systems update the same record.
❌ Risk of duplicate entries, requiring data matching and deduplication.
❌ When a new item is added in one system but already exists in another, re-merging is necessary.

Conclusion

Each approach has its own trade-offs between consistency, flexibility, and system impact. Organizations must select an approach based on their data architecture, system dependencies, and business needs. A hybrid approach combining these models may also be required for complex environments.

I will revisit these approaches in future posts to discuss practical implementations and real-world challenges.

Comments

Popular posts from this blog

Example 1: ArchiMate relationship in PlantUML code to demonstrate 15 relationship types

 Following section presents 15 types of relationships in ArchiMate and PlantUML to generate the diagram. Since this code is generated by GEN-AI it may require precision on aspects other than PlantUML syntax: Diagram Plant UML Code:  @startuml '!includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml ' Another way of including Archimate Library (above is commented for following) !include <archimate/Archimate> !theme archimate-standard from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes title ArchiMate Relationships Overview <style> element{     HorizontalAlignment: left;     MinimumWidth : 180;     Padding: 25; } </style> left to right direction rectangle Other {     Business_Role(Role_SeniorManager, "Senior Manager")     Business_Role(Role_Manager, "Manager") } rectangle Dynamic {     Business_Event(Event_CustomerReques...

Examples 7: ArchiMate flow relationship between elements in layers

Diagram Code @startuml !include < archimate / Archimate > < style > element {     HorizontalAlignment : left ;     MinimumWidth : 180 ;     Padding : 20 ; } note {     BackgroundColor : #FFFFCC ;     RoundCorner : 5 ;     MaximumWidth : 250 ; } </ style > title "ArchiMate 3.2 Valid Flow Relationships" left to right direction ' Business Layer Flow Relationships rectangle "Business Layer Flows" {     Business_Process ( bp1 , "Order Process" )     Business_Process ( bp2 , "Payment Process" )     Rel_Flow ( bp1 , bp2 , "Order data" )     note on link         Flow between Business Processes     end note         Business_Function ( bf1 , "Sales Function" )     Business_Function ( bf2 , "Delivery Function" )     Rel_Flow ( bf1 , bf2 , "Sales information" )     note on link     ...

SmartSimpleTextGenerator: A Smarter Way to Generate Text

  Introduction In the world of text generation, simple n-gram models can produce decent results, but they often lack context-awareness and coherence. To address these limitations, I have developed SmartSimpleTextGenerator , an improved version of my previous project, ImprovedSimpleTextGenerator . This new version enhances the text generation process by integrating Part-of-Speech (POS) tagging , n-gram models , and a back-off strategy , making the generated text more meaningful and contextually relevant. Key Features of SmartSimpleTextGenerator ✅ N-Gram Model with POS Tagging – Uses trigrams (default n=3) and applies POS tagging for better word prediction. ✅ Back-off Strategy – If a trigram sequence is unavailable, it falls back to bigrams and unigrams to ensure smooth text generation. ✅ Sentence Tokenization & Structure Preservation – Tokenizes input text properly while maintaining sentence integrity. ✅ Randomized Word Selection – Generates diverse outputs rather ...