SlideShare a Scribd company logo
1 of 30
Using Hadoop as a Platform for Master
Data Management
Roman Kucera
Ataccama Corporation
Using Hadoop as a platform for
Master Data Management
Roman Kucera, Ataccama Corporation
Roman Kucera
Head of Technology and Research
 Implementing MDM projects for major banks since 2010
 Last 12 months spent on expanding Ataccama portfolio into Big
Data space, most importantly adopting the Hadoop platform
Ataccama Corporation
Ataccama is a software vendor focused on Data Quality, Master
Data Management, Data Governance and now also on Big Data
processing in general
Quick Introduction
Why have I decided to give this speech?
 Typical MDM quotes on Hadoop conferences:
 „There are no MDM tools for Hadoop“
 „We have struggled with MDM and Data Quality“
 „You do not need MDM, it does not make sense on Hadoop“
 My goal is to:
 Explain that MDM is necessary, but it does not have to be scary
 Show a simplified example
What is Master Data Management?
 „Master Data is a single source of basic business data used across
multiple systems, applications, and/or processes“
(Wikipedia)
 Important parts of MDM solution:
 Collection – gathering of all data
 Consolidation – finding relations in the data
 Storage – persistence of consolidated data
 Distribution – providing a consolidated view to consumers
 Maintenance – making sure that the data is serving its purpose
 … and a ton of Data Quality
How is this related to Big Data?
 Traditional MDM using Big Data technologies
 Some companies struggle with performance and/or price of hardware
and DB licenses for their MDM solution
 Big Data technologies offer some options for better scalability,
especially as the data volumes and data diversity grows
 MDM on Big Data
 Adding new data sources that were previously not mastered
 Your Hadoop is probably the only place where you have all of the data
together, therefore it is the only place where you can create the
consolidated view
Traditional MDM
Source Name Phone Email Passport
CRM John Doe +1 (245) 336-5468 985221473
CRM Jane Doe +1 (212) 972-6226 3206647982
CRM Load
Traditional MDM
Source Name Phone Email Passport
CRM John Doe +1 (245) 336-5468 985221473
CRM Jane Doe +1 (212) 972-6226 3206647982
WEBAPP J. Doe 2129726226 Jane.doe@gmail.com
CRM Load
WEBAPP Load
Traditional MDM
Source Name Phone Email Passport
CRM John Doe +1 (245) 336-5468 985221473
CRM Jane Doe +1 (212) 972-6226 3206647982
WEBAPP J. Doe 2129726226 Jane.doe@gmail.com
Billing Doe John John.doe@yahoo.com 985221473
CRM Load
WEBAPP Load
Billing Load
Traditional MDM
Source Name Phone Email Passport
CRM John Doe +1 (245) 336-5468 985221473
CRM Jane Doe +1 (212) 972-6226 3206647982
WEBAPP J. Doe 2129726226 Jane.doe@gmail.com
Billing Doe John John.doe@yahoo.com 985221473
ID Name Phone Email Passport
1 John Doe +1 (245) 336-5468 John.doe@yahoo.com 985221473
2 Jane Doe +1 (212) 972-6226 Jane.doe@gmail.com 3206647982
Match and Merge
MDM on Big Data
The goal is to get all relevant data about given entity
John Doe, ID 007
• Links to original source records
• Traditional mastered attributes
• Contact history
• Clickstream in web app
• Call recordings
• Usage of the mobile app
• Tweets
• Gazillion different classification attributes
computed in Hadoop
Billing
CRM
Twitter
Email
Web app
&
mobile
Single view of…
 People say „Let’s just store the raw data and do the transformation
only when we know the purpose“
But you still need some definition of your business entities, what use is any
analysis of your clients behavior without having a definition of client?
 Processes need to relate to some central master data
You may end up with multiple views on the same entity, some usage purposes
may need a different definition than others, but the process of creating these
multiple views is exactly the same.
Main parts of sample solution on Hadoop
 Integration of source data
 Covered by many other presentations, various tools available
 Match and merge to identify real complex entities
 Assign a unique identifier to groups of records representing one
business relevant entity
 Create Golden records
 Provide services to other systems
 Access Master Data
 Manipulate Master Data
 Search in Master Data
Profiling
The most important part of Data Integration is knowing your data
Moving MDM process to Hadoop
 The matching itself is the only complicated part
 This is where sophisticated tools come in … only there is not many of
them that work in Hadoop properly
 Common approaches
 Simple matching („group by“) is easy to implement using MapReduce
for large batch, or with simple lookup for small increments
 Complex matching as implemented in commercial MDM tools typically
does not scale well and it is difficult to implement these methods in
Hadoop from scratch – some of them are not scalable even on a
theoretical level
Matching options
 Rule-based matching
Traditional approach, good for auditability – for every matched record you
know exactly why they are matched
 Probabilistic matching, machine learning
Serves more like a black box, but with proper training data, it can be easier to
configure for the multitude of big data sources
 Search-based matching
Not really matching, but can be used synergically to supplement matching –
Traditional MDM for traditional data sources and then use full-text search to
find related pieces of information in other (Big Data) sources
Complex matching
 Problems
 Some traditionally efficient algorithms are not possible to run in parallel
even on theoretical level
 Others have quadratic or worse complexity, meaning that these
algorithms do not scale well for really big data sets, no matter the
platform
 Typical solutions
 If the data set is not too big, use one of the traditional algorithms that
are available on Hadoop
 Use some simpler heuristics to limit the candidates for matching, e.g.
using simple matching on some generic attributes
 Either way, using a proper toolset is highly advised
Transitivity and each-to-each matching guarantee
Simple matching with hierarchies
Name Social Security Number Passport Matching Group ID
John Doe 987-65-4320 -
Doe John 987-65-4320 3206647982 -
J. Doe 3206647982 -
Simple matching with hierarchies
Name Social Security Number Passport Matching Group ID
John Doe 987-65-4320 1
Doe John 987-65-4320 3206647982 1
J. Doe 3206647982 -
 Matching by the primary key – Social Security Number
Simple matching with hierarchies
Name Social Security Number Passport Matching Group ID
John Doe 987-65-4320 1
Doe John 987-65-4320 3206647982 1
J. Doe 3206647982 1
 Matching by the secondary key – Passport
 Records that did not have a group ID assigned in the first run and
can be matched by a secondary key will join the primary group
Simple matching with hierarchies
 Finding a perfect match by a key attribute is one of the most basic
MapReduce aggregations
 If the key attribute is missing, use a secondary key for the same
process, to expand the original groups
 For each set of possible keys, one MapReduce is generated
 For small batches or online matching, lookup relevant records from
repository based on keys and perform matching on partial dataset
 In traditional MDM, this repository typically was RDBMS
 In Hadoop, this could be achieved with HBase, or other similar database
with fast direct access based on a key
Sample tool
Step 1 | Bulk matching
Matching Engine
[MapReduce]
MDM Repository
[HDFS file]
Source 1
[Full Extract]
Source 2
[Full Extract]
Source Increment Extract
[HDFS file]
Step 2 | Incremental bulk matching
Matching Engine
[MapReduce]
New MDM Repository
[HDFS file]
Old MDM Repository
[HDFS file]
Step 3 | Online MDM Services
Matching Engine
[Non-Parallel Execution]
MDM Repository
[Online Accessible DB]
Online or Microbatch
[Increment]
1. Online request comes through designated interface
2. Matching engine asks MDM repository for all related records,
based on defined matching keys
3. Repository returns all relevant records that were previously
stored
4. Matching engine computes the matching on the available dataset
and stores new results (changes) back into the repository
1
2
3
4
Step 4 | Complex Scenario
MDM Repository
[Online Accessible DB]
Online or Microbatch
[Increment]
Matching Engine
SMALL DATASET
[Non-Parallel Execution]
LARGE DATASET
[MapReduce]Size?
Source 1
[Full Extract]
Update
Repository
Full scan
Get
Step 4 | Complex Scenario
MDM Repository
[Online Accessible DB]
Online or Microbatch
[Increment]
Matching Engine
SMALL DATASET
[Non-Parallel Execution]
LARGE DATASET
[MapReduce]Size?
Source 1
[Full Extract]
Full scan
Get
Update
Repository
Delta Detection
[MapReduce]
Typical MDM services for consumers
 Insert, update (upsert)
Record is matched against the existing repository and results are stored back
 Identify
Similar to upsert, but it does not store the results back into the repository
 Search
Using fulltext (or other) index to find master entities
 Fetch
Get all the information on master record identified by its ID
 Scan
Get all master records for batch analysis
Questions?
For more information, visit us at Ataccama booth!
Using Hadoop as a platform for Master Data Management

More Related Content

What's hot

Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...Neo4j
 
Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn Amy W. Tang
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoophuguk
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...Databricks
 
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...Simplilearn
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data EngineeringHadi Fadlallah
 
Scaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on DatabricksScaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on DatabricksDatabricks
 
Data profiling in Apache Calcite
Data profiling in Apache CalciteData profiling in Apache Calcite
Data profiling in Apache CalciteDataWorks Summit
 
Strata sf - Amundsen presentation
Strata sf - Amundsen presentationStrata sf - Amundsen presentation
Strata sf - Amundsen presentationTao Feng
 
Enterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data ArchitectureEnterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data ArchitectureDATAVERSITY
 
Lessons in Data Modeling: Data Modeling & MDM
Lessons in Data Modeling: Data Modeling & MDMLessons in Data Modeling: Data Modeling & MDM
Lessons in Data Modeling: Data Modeling & MDMDATAVERSITY
 
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...Databricks
 
Product management class rookie to pro
Product management class rookie to proProduct management class rookie to pro
Product management class rookie to proBim Akinfenwa
 
Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...
Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...
Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...Simplilearn
 
Graph Gurus 23: Best Practices To Model Your Data Using A Graph Database
Graph Gurus 23: Best Practices To Model Your Data Using A Graph DatabaseGraph Gurus 23: Best Practices To Model Your Data Using A Graph Database
Graph Gurus 23: Best Practices To Model Your Data Using A Graph DatabaseTigerGraph
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingDatabricks
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4jNeo4j
 

What's hot (20)

Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
 
Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn
 
Spark
SparkSpark
Spark
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
Hadoop Tutorial For Beginners | Apache Hadoop Tutorial For Beginners | Hadoop...
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
Scaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on DatabricksScaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on Databricks
 
Data profiling in Apache Calcite
Data profiling in Apache CalciteData profiling in Apache Calcite
Data profiling in Apache Calcite
 
Strata sf - Amundsen presentation
Strata sf - Amundsen presentationStrata sf - Amundsen presentation
Strata sf - Amundsen presentation
 
Enterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data ArchitectureEnterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data Architecture
 
Lessons in Data Modeling: Data Modeling & MDM
Lessons in Data Modeling: Data Modeling & MDMLessons in Data Modeling: Data Modeling & MDM
Lessons in Data Modeling: Data Modeling & MDM
 
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
 
Hadoop and Spark
Hadoop and SparkHadoop and Spark
Hadoop and Spark
 
Product management class rookie to pro
Product management class rookie to proProduct management class rookie to pro
Product management class rookie to pro
 
Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...
Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...
Hadoop Ecosystem | Hadoop Ecosystem Tutorial | Hadoop Tutorial For Beginners ...
 
Graph Gurus 23: Best Practices To Model Your Data Using A Graph Database
Graph Gurus 23: Best Practices To Model Your Data Using A Graph DatabaseGraph Gurus 23: Best Practices To Model Your Data Using A Graph Database
Graph Gurus 23: Best Practices To Model Your Data Using A Graph Database
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
 

Similar to Using Hadoop as a platform for Master Data Management

Hybrid Data Warehouse Hadoop Implementations
Hybrid Data Warehouse Hadoop ImplementationsHybrid Data Warehouse Hadoop Implementations
Hybrid Data Warehouse Hadoop ImplementationsDavid Portnoy
 
Hadoop by kamran khan
Hadoop by kamran khanHadoop by kamran khan
Hadoop by kamran khanKamranKhan587
 
Big data Hadoop presentation
Big data  Hadoop  presentation Big data  Hadoop  presentation
Big data Hadoop presentation Shivanee garg
 
Introduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-SystemIntroduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-SystemMd. Hasan Basri (Angel)
 
data analytics lecture4.pptx
data analytics lecture4.pptxdata analytics lecture4.pptx
data analytics lecture4.pptxNamrataBhatt8
 
Rajesh Angadi Brochure
Rajesh Angadi Brochure Rajesh Angadi Brochure
Rajesh Angadi Brochure Rajesh Angadi
 
Hadoop and Big Data Analytics | Sysfore
Hadoop and Big Data Analytics | SysforeHadoop and Big Data Analytics | Sysfore
Hadoop and Big Data Analytics | SysforeSysfore Technologies
 
Non geeks-big-data-playbook-106947
Non geeks-big-data-playbook-106947Non geeks-big-data-playbook-106947
Non geeks-big-data-playbook-106947CMR WORLD TECH
 
Non-geek's big data playbook - Hadoop & EDW - SAS Best Practices
Non-geek's big data playbook - Hadoop & EDW - SAS Best PracticesNon-geek's big data playbook - Hadoop & EDW - SAS Best Practices
Non-geek's big data playbook - Hadoop & EDW - SAS Best PracticesJyrki Määttä
 
Lecture4 big data technology foundations
Lecture4 big data technology foundationsLecture4 big data technology foundations
Lecture4 big data technology foundationshktripathy
 
5 Scenarios: When To Use & When Not to Use Hadoop
5 Scenarios: When To Use & When Not to Use Hadoop5 Scenarios: When To Use & When Not to Use Hadoop
5 Scenarios: When To Use & When Not to Use HadoopEdureka!
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?sudhakara st
 
Hadoop at the Center: The Next Generation of Hadoop
Hadoop at the Center: The Next Generation of HadoopHadoop at the Center: The Next Generation of Hadoop
Hadoop at the Center: The Next Generation of HadoopAdam Muise
 

Similar to Using Hadoop as a platform for Master Data Management (20)

Hybrid Data Warehouse Hadoop Implementations
Hybrid Data Warehouse Hadoop ImplementationsHybrid Data Warehouse Hadoop Implementations
Hybrid Data Warehouse Hadoop Implementations
 
Hadoop by kamran khan
Hadoop by kamran khanHadoop by kamran khan
Hadoop by kamran khan
 
Big data Hadoop presentation
Big data  Hadoop  presentation Big data  Hadoop  presentation
Big data Hadoop presentation
 
Introduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-SystemIntroduction to Apache Hadoop Eco-System
Introduction to Apache Hadoop Eco-System
 
data analytics lecture4.pptx
data analytics lecture4.pptxdata analytics lecture4.pptx
data analytics lecture4.pptx
 
Big Data
Big DataBig Data
Big Data
 
EDB Guide
EDB GuideEDB Guide
EDB Guide
 
Rajesh Angadi Brochure
Rajesh Angadi Brochure Rajesh Angadi Brochure
Rajesh Angadi Brochure
 
Big data overview
Big data overviewBig data overview
Big data overview
 
Big Data and Hadoop
Big Data and HadoopBig Data and Hadoop
Big Data and Hadoop
 
Hadoop and Big Data Analytics | Sysfore
Hadoop and Big Data Analytics | SysforeHadoop and Big Data Analytics | Sysfore
Hadoop and Big Data Analytics | Sysfore
 
Non geeks-big-data-playbook-106947
Non geeks-big-data-playbook-106947Non geeks-big-data-playbook-106947
Non geeks-big-data-playbook-106947
 
Non-geek's big data playbook - Hadoop & EDW - SAS Best Practices
Non-geek's big data playbook - Hadoop & EDW - SAS Best PracticesNon-geek's big data playbook - Hadoop & EDW - SAS Best Practices
Non-geek's big data playbook - Hadoop & EDW - SAS Best Practices
 
Big data analysis concepts and references
Big data analysis concepts and referencesBig data analysis concepts and references
Big data analysis concepts and references
 
IJARCCE_49
IJARCCE_49IJARCCE_49
IJARCCE_49
 
Lecture4 big data technology foundations
Lecture4 big data technology foundationsLecture4 big data technology foundations
Lecture4 big data technology foundations
 
5 Scenarios: When To Use & When Not to Use Hadoop
5 Scenarios: When To Use & When Not to Use Hadoop5 Scenarios: When To Use & When Not to Use Hadoop
5 Scenarios: When To Use & When Not to Use Hadoop
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?
 
Hadoop(Term Paper)
Hadoop(Term Paper)Hadoop(Term Paper)
Hadoop(Term Paper)
 
Hadoop at the Center: The Next Generation of Hadoop
Hadoop at the Center: The Next Generation of HadoopHadoop at the Center: The Next Generation of Hadoop
Hadoop at the Center: The Next Generation of Hadoop
 

More from DataWorks Summit

Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisDataWorks Summit
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiDataWorks Summit
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...DataWorks Summit
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...DataWorks Summit
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal SystemDataWorks Summit
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExampleDataWorks Summit
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberDataWorks Summit
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixDataWorks Summit
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiDataWorks Summit
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureDataWorks Summit
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EngineDataWorks Summit
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...DataWorks Summit
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudDataWorks Summit
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiDataWorks Summit
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerDataWorks Summit
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...DataWorks Summit
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouDataWorks Summit
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkDataWorks Summit
 

More from DataWorks Summit (20)

Data Science Crash Course
Data Science Crash CourseData Science Crash Course
Data Science Crash Course
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache Ratis
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal System
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at Uber
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability Improvements
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant Architecture
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near You
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Using Hadoop as a platform for Master Data Management

  • 1. Using Hadoop as a Platform for Master Data Management Roman Kucera Ataccama Corporation
  • 2. Using Hadoop as a platform for Master Data Management Roman Kucera, Ataccama Corporation
  • 3. Roman Kucera Head of Technology and Research  Implementing MDM projects for major banks since 2010  Last 12 months spent on expanding Ataccama portfolio into Big Data space, most importantly adopting the Hadoop platform Ataccama Corporation Ataccama is a software vendor focused on Data Quality, Master Data Management, Data Governance and now also on Big Data processing in general Quick Introduction
  • 4. Why have I decided to give this speech?  Typical MDM quotes on Hadoop conferences:  „There are no MDM tools for Hadoop“  „We have struggled with MDM and Data Quality“  „You do not need MDM, it does not make sense on Hadoop“  My goal is to:  Explain that MDM is necessary, but it does not have to be scary  Show a simplified example
  • 5. What is Master Data Management?  „Master Data is a single source of basic business data used across multiple systems, applications, and/or processes“ (Wikipedia)  Important parts of MDM solution:  Collection – gathering of all data  Consolidation – finding relations in the data  Storage – persistence of consolidated data  Distribution – providing a consolidated view to consumers  Maintenance – making sure that the data is serving its purpose  … and a ton of Data Quality
  • 6. How is this related to Big Data?  Traditional MDM using Big Data technologies  Some companies struggle with performance and/or price of hardware and DB licenses for their MDM solution  Big Data technologies offer some options for better scalability, especially as the data volumes and data diversity grows  MDM on Big Data  Adding new data sources that were previously not mastered  Your Hadoop is probably the only place where you have all of the data together, therefore it is the only place where you can create the consolidated view
  • 7. Traditional MDM Source Name Phone Email Passport CRM John Doe +1 (245) 336-5468 985221473 CRM Jane Doe +1 (212) 972-6226 3206647982 CRM Load
  • 8. Traditional MDM Source Name Phone Email Passport CRM John Doe +1 (245) 336-5468 985221473 CRM Jane Doe +1 (212) 972-6226 3206647982 WEBAPP J. Doe 2129726226 Jane.doe@gmail.com CRM Load WEBAPP Load
  • 9. Traditional MDM Source Name Phone Email Passport CRM John Doe +1 (245) 336-5468 985221473 CRM Jane Doe +1 (212) 972-6226 3206647982 WEBAPP J. Doe 2129726226 Jane.doe@gmail.com Billing Doe John John.doe@yahoo.com 985221473 CRM Load WEBAPP Load Billing Load
  • 10. Traditional MDM Source Name Phone Email Passport CRM John Doe +1 (245) 336-5468 985221473 CRM Jane Doe +1 (212) 972-6226 3206647982 WEBAPP J. Doe 2129726226 Jane.doe@gmail.com Billing Doe John John.doe@yahoo.com 985221473 ID Name Phone Email Passport 1 John Doe +1 (245) 336-5468 John.doe@yahoo.com 985221473 2 Jane Doe +1 (212) 972-6226 Jane.doe@gmail.com 3206647982 Match and Merge
  • 11. MDM on Big Data The goal is to get all relevant data about given entity John Doe, ID 007 • Links to original source records • Traditional mastered attributes • Contact history • Clickstream in web app • Call recordings • Usage of the mobile app • Tweets • Gazillion different classification attributes computed in Hadoop Billing CRM Twitter Email Web app & mobile
  • 12. Single view of…  People say „Let’s just store the raw data and do the transformation only when we know the purpose“ But you still need some definition of your business entities, what use is any analysis of your clients behavior without having a definition of client?  Processes need to relate to some central master data You may end up with multiple views on the same entity, some usage purposes may need a different definition than others, but the process of creating these multiple views is exactly the same.
  • 13. Main parts of sample solution on Hadoop  Integration of source data  Covered by many other presentations, various tools available  Match and merge to identify real complex entities  Assign a unique identifier to groups of records representing one business relevant entity  Create Golden records  Provide services to other systems  Access Master Data  Manipulate Master Data  Search in Master Data
  • 14. Profiling The most important part of Data Integration is knowing your data
  • 15. Moving MDM process to Hadoop  The matching itself is the only complicated part  This is where sophisticated tools come in … only there is not many of them that work in Hadoop properly  Common approaches  Simple matching („group by“) is easy to implement using MapReduce for large batch, or with simple lookup for small increments  Complex matching as implemented in commercial MDM tools typically does not scale well and it is difficult to implement these methods in Hadoop from scratch – some of them are not scalable even on a theoretical level
  • 16. Matching options  Rule-based matching Traditional approach, good for auditability – for every matched record you know exactly why they are matched  Probabilistic matching, machine learning Serves more like a black box, but with proper training data, it can be easier to configure for the multitude of big data sources  Search-based matching Not really matching, but can be used synergically to supplement matching – Traditional MDM for traditional data sources and then use full-text search to find related pieces of information in other (Big Data) sources
  • 17. Complex matching  Problems  Some traditionally efficient algorithms are not possible to run in parallel even on theoretical level  Others have quadratic or worse complexity, meaning that these algorithms do not scale well for really big data sets, no matter the platform  Typical solutions  If the data set is not too big, use one of the traditional algorithms that are available on Hadoop  Use some simpler heuristics to limit the candidates for matching, e.g. using simple matching on some generic attributes  Either way, using a proper toolset is highly advised Transitivity and each-to-each matching guarantee
  • 18. Simple matching with hierarchies Name Social Security Number Passport Matching Group ID John Doe 987-65-4320 - Doe John 987-65-4320 3206647982 - J. Doe 3206647982 -
  • 19. Simple matching with hierarchies Name Social Security Number Passport Matching Group ID John Doe 987-65-4320 1 Doe John 987-65-4320 3206647982 1 J. Doe 3206647982 -  Matching by the primary key – Social Security Number
  • 20. Simple matching with hierarchies Name Social Security Number Passport Matching Group ID John Doe 987-65-4320 1 Doe John 987-65-4320 3206647982 1 J. Doe 3206647982 1  Matching by the secondary key – Passport  Records that did not have a group ID assigned in the first run and can be matched by a secondary key will join the primary group
  • 21. Simple matching with hierarchies  Finding a perfect match by a key attribute is one of the most basic MapReduce aggregations  If the key attribute is missing, use a secondary key for the same process, to expand the original groups  For each set of possible keys, one MapReduce is generated  For small batches or online matching, lookup relevant records from repository based on keys and perform matching on partial dataset  In traditional MDM, this repository typically was RDBMS  In Hadoop, this could be achieved with HBase, or other similar database with fast direct access based on a key
  • 23. Step 1 | Bulk matching Matching Engine [MapReduce] MDM Repository [HDFS file] Source 1 [Full Extract] Source 2 [Full Extract]
  • 24. Source Increment Extract [HDFS file] Step 2 | Incremental bulk matching Matching Engine [MapReduce] New MDM Repository [HDFS file] Old MDM Repository [HDFS file]
  • 25. Step 3 | Online MDM Services Matching Engine [Non-Parallel Execution] MDM Repository [Online Accessible DB] Online or Microbatch [Increment] 1. Online request comes through designated interface 2. Matching engine asks MDM repository for all related records, based on defined matching keys 3. Repository returns all relevant records that were previously stored 4. Matching engine computes the matching on the available dataset and stores new results (changes) back into the repository 1 2 3 4
  • 26. Step 4 | Complex Scenario MDM Repository [Online Accessible DB] Online or Microbatch [Increment] Matching Engine SMALL DATASET [Non-Parallel Execution] LARGE DATASET [MapReduce]Size? Source 1 [Full Extract] Update Repository Full scan Get
  • 27. Step 4 | Complex Scenario MDM Repository [Online Accessible DB] Online or Microbatch [Increment] Matching Engine SMALL DATASET [Non-Parallel Execution] LARGE DATASET [MapReduce]Size? Source 1 [Full Extract] Full scan Get Update Repository Delta Detection [MapReduce]
  • 28. Typical MDM services for consumers  Insert, update (upsert) Record is matched against the existing repository and results are stored back  Identify Similar to upsert, but it does not store the results back into the repository  Search Using fulltext (or other) index to find master entities  Fetch Get all the information on master record identified by its ID  Scan Get all master records for batch analysis
  • 29. Questions? For more information, visit us at Ataccama booth!