SlideShare a Scribd company logo
1 of 66
Polyglot Persistence
{ Name: ‘Bryan Reinero’,
Title: ‘Developer Advocate’,
Twitter: ‘@blimpyacht’,
Email: ‘bryan@mongdb.com’ }
What is the Polyglots?
• Using multiple Database Technologies in a
Given Application
• Using the right tool for the right job
What is the Polyglots?
• Using multiple Database Technologies in a
Given Application
• Using the right tool for the right job
Derived from “polyglot programming”.
Applications programmed from a mix of
languages.
Why is the Polyglots?
• Relational has been the dominant model
• Higher performance requirements
• Increasingly large datasets
• Use of IaaS and commodity hardware
Vertical Scaling
Horizontal Scaling
7
Availability
http://avstop.com/ac/flighttrainghandbook/imagel4b.jpg
8
Availability
http://avstop.com/ac/flighttrainghandbook/imagel4b.jpg
Requirements
• Maximize uptime
• Minimize time to recover
9
Availability
http://avstop.com/ac/flighttrainghandbook/imagel4b.jpg
Requirements
• Maximize uptime
• Minimize time to recover
Hardware failures
Network partitions
Data center failures
Maintenance
Operations
10
Availability
http://avstop.com/ac/flighttrainghandbook/imagel4b.jpg
Business critical systems
require automatic fault
detection and fail over
11
Variant Data Models
58842
45647
52320
88237
78932
Key-Value Store
Eratosthenes
Democritus
Hypatia
Shemp
Euripides
ID Name
12
Variant Data Models
Eratosthenes
Democritus
Hypatia
Shemp
Euripides
Graph Databases
13
Variant Data Models
Document Databases
{
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64
]
}
}
Polyglot Persistence
Application
Servers MongoDB
RDBMS
Key /
Value
Session Data,
Shopping Carts
Product Catalog,
User Accounts,
Domain Objects
Payment
Systems,
Reporting
Graph
Social Data,
Recommendations
Polyglot Persistence
Application
Servers MongoDB
RDBMS
Key /
Value
Session Data,
Shopping Carts
Product Catalog,
User Accounts,
Domain Objects
Payment
Systems,
Reporting
Graph
Social Data,
Recommendations
What are your requirements?
• Availability
• Scalability
• Performance
• Access Patterns
• Data Model
18
Key Value Stores
58842
45647
52320
88237
78932
Used for
• Session data
• Cookies
• Shopping carts
Eratosthenes
Democritus
Hypatia
Shemp
Euripides
ID Name
19
Key Value Stores
58842
45647
52320
88237
78932
• Fast, if in memory
• Single access pattern
• Complex data parsed
in client
Eratosthenes
Democritus
Hypatia
Shemp
Euripides
ID Name
Key Value Store
“{
maker : ‘Agusta’,
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : ‘internal combustion’,
layout : ‘inline’,
cylinders : 4,
displacement : 750,
},
transmission : {
type : ‘cassette’,
speeds : 6,
pattern : ‘sequential’,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}”
Data Model
RDBMS MongoDB
Table, View ➜ Collection
Row ➜ Document
Index ➜ Index
Join ➜ Embedded Document
Foreign Key ➜ Reference
Partition ➜ Shard
MongoDB
{ _id: 78234974,
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}
Self Defining Schema
MongoDB
{ _id: 78234974,
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}
Self Defining Schema
Nested Objects
MongoDB
{ _id: 78234974,
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}
Self Defining Schema
Nested Objects
Array types
MongoDB
{ _id: 78234974,
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}
Primary Key,
Auto indexed
Multiple Access Patterns
{ _id: 78234974,
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}
Secondary
indexes
Projections
{ _id: 78234974,
maker : ”Agusta",
type : sportbike,
rake : 7,
trail : 3.93,
engine : {
type : "internal combustion",
layout : "inline"
cylinders : 4,
displacement : 750,
},
transmission : {
type : "cassette",
speeds : 6,
pattern : "sequential”,
ratios : [ 2.7, 1.94, 1.34, 1, 0.83, 0.64 ]
}
}
Projections
db.vehicles.find (
{_id:78234974 },
{ engine:1,_id:0 }
)
Flexible Schemas
Flexible Schemas
{ maker : "M.V. Agusta",
type : sportsbike,
engine : {
type : ”internal combustion",
cylinders: 4,
displacement : 750
},
rake : 7,
trail : 3.93
}
{ maker : "M.V. Agusta",
type : Helicopter
engine : {
type : "turboshaft"
layout : "axial”,
massflow : 1318
},
Blades : 4
undercarriage : "fixed"
}
Flexible Schemas
Discriminator column
{ maker : "M.V. Agusta",
type : sportsbike,
engine : {
type : ”internal
combustion",
cylinders: 4,
displacement : 750
},
rake : 7,
trail : 3.93
}
{ maker : "M.V. Agusta",
type : Helicopter
engine : {
type : "turboshaft"
layout : "axial”,
massflow : 1318
},
Blades : 4
undercarriage : "fixed"
}
Flexible Schemas
Shared indexing strategy
{ maker : "M.V. Agusta",
type : sportsbike,
engine : {
type : ”internal
combustion",
cylinders: 4,
displacement : 750
},
rake : 7,
trail : 3.93
}
{ maker : "M.V. Agusta",
type : Helicopter
engine : {
type : "turboshaft"
layout : "axial”,
massflow : 1318
},
Blades : 4
undercarriage : "fixed"
}
Flexible Schemas
Polymorphic Attributes
{ maker : "M.V. Agusta",
type : sportsbike,
engine : {
type : ”internal
combustion",
cylinders: 4,
displacement : 750
},
rake : 7,
trail : 3.93
}
{ maker : "M.V. Agusta",
type : Helicopter,
engine : {
type : "turboshaft”,
layout : "axial”,
massflow : 1318
},
Blades : 4,
undercarriage : "fixed"
}
Tao of MongoDB
• Model data for use, not storage
• Avoid ad-hoc queries
• Index effectively, index efficiently
Whattabout
the
Real World?
35
Systems of Engagement
• Context rich and User
Relevant Interactions
• Integrates data from many
systems
• Integrates Analytics
36
37
Customer Single View
• Understand customer
relationships
• Improves customer experience
• Develops effective customer
marketing
• Improves product
Requirements
• High performance requirements
• Increasingly large datasets
• High Availability
39
Architecture
Systems of Engagement
DataServices
Systems of Record
Master Data
Raw Data
Integrated Data
…
ETL
record
record
record
40
Aggregating a Single View
Single customer
VIEW
41
Aggregating a Single View
Common Data
Source Metadata
Source Data A
Source Data B
42
Aggregating a Single View
Common Data
Source Metadata
Source Data A
Source Data B
{
_id: <hash>,
address: {
num: 860,
street: “Grove”,
city: “San Francisco”,
state: “CA”,
zip:
}
}
43
Aggregating a Single View
Common Data
Source Metadata
Source Data A
Source Data B
{
sources: [
{
source: “URI”,
updated: ISODate(),
},
…
]
}
44
Aggregating a Single View
Common Data
Source Metadata
Source Data A
Source Data B
Shopping Cart,
Purchase history,
Prescriptions,
Medical History,
Strong Consistency
vs.
Eventual Consistency
Availability
Availablity
Fail-over
Fail-over
Strong vs. Eventual Consistency
Analytics
52
Hadoop
A framework for distributed processing of large data sets
• Terabyte and petabyte datasets
• Data warehousing
• Advanced analytics
• No indexes
• Batch processing
53
Use Cases
• Behavioral analytics
• Segmentation
• Fraud detection
• Prediction
• Pricing analytics
• Sales analytics
54
Typical Implementations
Application Server
55
MongoDB as an Operational Store
Application Server
56
Data Flows
Hadoop
Connector
BSON Files
MapReduce & HDFS
57
Cluster
MONGOS
SHARD A
SHARDB
SHARD C
SHARD D
MONGOS Client
58
59
Hadoop / Spark Trade-offs
Plus
• Access to Analytics
Libraries
• Processes unstructured
data
• Handles petabyte data
sets
Minus
• Overhead of a separate
distributed system
• Writing MapReduce not
for the faint of heart
• Designed for batch
oriented processing
60
Relational for Reporting & Business Intelligence
Plus
• Existing ecosystem of BI
tools
• Lower overhead than
Hadoop clusters
• Large pool of expertise
and talent
61
Capture Data Changes
Systems of Engagement
DataServices
Data Processing
Integration, Analytics, etc.
Systems of Record
Master Data
Raw Data
Integrated Data
…
ETL
Bus
Apache Kafka
record
record
record
Integrations & ETL
RDBMSPrimary
RDBMSPrimary ETL
Oplog
Replication
LucenePrimary
Mongo
Connector
Oplog
Replication
Integrations with Search Solutions
Considerations
• Increased system
complexity
• Operations overhead
• Increased expertise
Thanks!
{ Name: ‘Bryan Reinero’,
Title: ‘Developer Advocate’,
Twitter: ‘@blimpyacht’,
Email: ‘bryan@mongdb.com’ }

More Related Content

What's hot

What's hot (20)

Webinar: The Anatomy of the Cloudant Data Layer
Webinar: The Anatomy of the Cloudant Data LayerWebinar: The Anatomy of the Cloudant Data Layer
Webinar: The Anatomy of the Cloudant Data Layer
 
JDV for Codemotion Rome 2017
JDV for Codemotion Rome 2017JDV for Codemotion Rome 2017
JDV for Codemotion Rome 2017
 
Prepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBPrepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDB
 
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
 
Apache Falcon - Data Management Platform For Hadoop
Apache Falcon - Data Management Platform For HadoopApache Falcon - Data Management Platform For Hadoop
Apache Falcon - Data Management Platform For Hadoop
 
Making Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterMaking Postgres Central in Your Data Center
Making Postgres Central in Your Data Center
 
MongoDB on Azure
MongoDB on AzureMongoDB on Azure
MongoDB on Azure
 
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise UsersApache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
 
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
 
Red Hat JBoss Data Virtualization
Red Hat JBoss Data VirtualizationRed Hat JBoss Data Virtualization
Red Hat JBoss Data Virtualization
 
Getting started with Hadoop on the Cloud with Bluemix
Getting started with Hadoop on the Cloud with BluemixGetting started with Hadoop on the Cloud with Bluemix
Getting started with Hadoop on the Cloud with Bluemix
 
Strata San Jose 2017 - Ben Sharma Presentation
Strata San Jose 2017 - Ben Sharma PresentationStrata San Jose 2017 - Ben Sharma Presentation
Strata San Jose 2017 - Ben Sharma Presentation
 
Azure doc db (slideshare)
Azure doc db (slideshare)Azure doc db (slideshare)
Azure doc db (slideshare)
 
Hadoop in the Cloud: Real World Lessons from Enterprise Customers
Hadoop in the Cloud: Real World Lessons from Enterprise CustomersHadoop in the Cloud: Real World Lessons from Enterprise Customers
Hadoop in the Cloud: Real World Lessons from Enterprise Customers
 
Data persistence using pouchdb and couchdb
Data persistence using pouchdb and couchdbData persistence using pouchdb and couchdb
Data persistence using pouchdb and couchdb
 
Introduction à DocumentDB
Introduction à DocumentDBIntroduction à DocumentDB
Introduction à DocumentDB
 
Hadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, FutureHadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, Future
 
Integrated Data Warehouse with Hadoop and Oracle Database
Integrated Data Warehouse with Hadoop and Oracle DatabaseIntegrated Data Warehouse with Hadoop and Oracle Database
Integrated Data Warehouse with Hadoop and Oracle Database
 
Securing data in hybrid environments using Apache Ranger
Securing data in hybrid environments using Apache RangerSecuring data in hybrid environments using Apache Ranger
Securing data in hybrid environments using Apache Ranger
 
Implementing and Visualizing Clickstream data with MongoDB
Implementing and Visualizing Clickstream data with MongoDBImplementing and Visualizing Clickstream data with MongoDB
Implementing and Visualizing Clickstream data with MongoDB
 

Similar to Polyglot Persistence

Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
MongoDB
 

Similar to Polyglot Persistence (20)

Webinar: MongoDB and Polyglot Persistence Architecture
Webinar: MongoDB and Polyglot Persistence ArchitectureWebinar: MongoDB and Polyglot Persistence Architecture
Webinar: MongoDB and Polyglot Persistence Architecture
 
Webinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to KnowWebinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to Know
 
Webinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to KnowWebinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to Know
 
Big Query - Women Techmarkers (Ukraine - March 2014)
Big Query - Women Techmarkers (Ukraine - March 2014)Big Query - Women Techmarkers (Ukraine - March 2014)
Big Query - Women Techmarkers (Ukraine - March 2014)
 
MongoDB 3.4 webinar
MongoDB 3.4 webinarMongoDB 3.4 webinar
MongoDB 3.4 webinar
 
MongodB Internals
MongodB InternalsMongodB Internals
MongodB Internals
 
MongoDB
MongoDBMongoDB
MongoDB
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Neo4j Database and Graph Platform Overview
Neo4j Database and Graph Platform OverviewNeo4j Database and Graph Platform Overview
Neo4j Database and Graph Platform Overview
 
Preparing for Data Residency and Custom Domains
Preparing for Data Residency and Custom DomainsPreparing for Data Residency and Custom Domains
Preparing for Data Residency and Custom Domains
 
Retail referencearchitecture productcatalog
Retail referencearchitecture productcatalogRetail referencearchitecture productcatalog
Retail referencearchitecture productcatalog
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational Awareness
 
Supercharge Your Integration Services
Supercharge Your Integration Services�Supercharge Your Integration Services�
Supercharge Your Integration Services
 
Learning to rank search results
Learning to rank search resultsLearning to rank search results
Learning to rank search results
 
ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News!
ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News! ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News!
ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News!
 
Python and the MySQL Document Store
Python and the MySQL Document StorePython and the MySQL Document Store
Python and the MySQL Document Store
 
Elastic 6.1 Feature Presentation
Elastic 6.1 Feature PresentationElastic 6.1 Feature Presentation
Elastic 6.1 Feature Presentation
 
All about aggregations
All about aggregationsAll about aggregations
All about aggregations
 

More from Bryan Reinero

More from Bryan Reinero (9)

Event Sourcing + CQRS
Event Sourcing + CQRSEvent Sourcing + CQRS
Event Sourcing + CQRS
 
MongoDB + Spark
MongoDB + SparkMongoDB + Spark
MongoDB + Spark
 
MongoDB, Event Sourcing & Spark
MongoDB, Event Sourcing & SparkMongoDB, Event Sourcing & Spark
MongoDB, Event Sourcing & Spark
 
Mongo db &amp;_spark
Mongo db &amp;_sparkMongo db &amp;_spark
Mongo db &amp;_spark
 
Event sourcing
Event sourcingEvent sourcing
Event sourcing
 
Systems of engagement
Systems of engagementSystems of engagement
Systems of engagement
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
Code instrumentation
Code instrumentationCode instrumentation
Code instrumentation
 
Mongo db v3_deep_dive
Mongo db v3_deep_diveMongo db v3_deep_dive
Mongo db v3_deep_dive
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Polyglot Persistence

Editor's Notes

  1. Source http://www.experian.co.uk/assets/about-us/white-papers/single-customer-view-whitepaper.pdf
  2. So let's add a component that will propagate changes from the system of engagement back to the systems of record In addition to the previous components we put in place for the single view, we need some sort of message processing component to receive and publish data changes back to the source systems. For this example, we will use Apache Kafka as it is pretty commonly used these days. We'll show changing the integrated data in the system of engagement database and propagating that back to the systems of record
  3. So let's add a component that will propagate changes from the system of engagement back to the systems of record In addition to the previous components we put in place for the single view, we need some sort of message processing component to receive and publish data changes back to the source systems. For this example, we will use Apache Kafka as it is pretty commonly used these days. We'll show changing the integrated data in the system of engagement database and propagating that back to the systems of record
  4. So let's add a component that will propagate changes from the system of engagement back to the systems of record In addition to the previous components we put in place for the single view, we need some sort of message processing component to receive and publish data changes back to the source systems. For this example, we will use Apache Kafka as it is pretty commonly used these days. We'll show changing the integrated data in the system of engagement database and propagating that back to the systems of record
  5. So let's add a component that will propagate changes from the system of engagement back to the systems of record In addition to the previous components we put in place for the single view, we need some sort of message processing component to receive and publish data changes back to the source systems. For this example, we will use Apache Kafka as it is pretty commonly used these days. We'll show changing the integrated data in the system of engagement database and propagating that back to the systems of record
  6. So let's add a component that will propagate changes from the system of engagement back to the systems of record In addition to the previous components we put in place for the single view, we need some sort of message processing component to receive and publish data changes back to the source systems. For this example, we will use Apache Kafka as it is pretty commonly used these days. We'll show changing the integrated data in the system of engagement database and propagating that back to the systems of record
  7. So let's add a component that will propagate changes from the system of engagement back to the systems of record In addition to the previous components we put in place for the single view, we need some sort of message processing component to receive and publish data changes back to the source systems. For this example, we will use Apache Kafka as it is pretty commonly used these days. We'll show changing the integrated data in the system of engagement database and propagating that back to the systems of record
  8. .
  9. Immutable data