SlideShare a Scribd company logo
1 of 38
Download to read offline
Implementing a Data Mesh with
Apache Kafka
Adam Bellemare
What’s Covered
1 A Brief Intro to Data Mesh
2 Why Event Streams?
3 Example: Applying Data Mesh
4 Demo: Confluent’s Proof-of-Concept
A Brief Intro to Data Mesh
Influences
DDD Microservices Event Streaming
Data Marts
DATA MESH
Domain
Inventory
Orders
Shipments
Data Product
...
Domain
Ownership
Local Autonomy
(Organizational Concerns)
Data as a
First-class Product
Product thinking,
“Microservice for Data”
Federated
Governance
Interoperability,
Network Effects
(Organizational Concerns)
Self-serve
Data Platform
Infra Tooling,
Across Domains
1 2 3 4
Principle 1: Domain Ownership
Objective: Data is owned by those that truly understand it
Pattern: Data belongs to the team
who understands it best
Centralized
Data Ownership
Decentralized
Data Ownership
Anti-pattern: Centralized team owns all data
Data Lake: Ownership rests with a centralized data team
Domain Foo
Domain Bar Data Domain
Connector
Connector
Clean Up &
Remodel
Clean Up &
Remodel
ksqlDB
Kafka Streams
Renegotiate Domain Ownership
Renata
Alice
Joe
Centralized Data
Data Mesh: Ownership rests with the domain
Domain Foo
Domain Bar
Connector
Connector
Clean Up &
Remodel
Clean Up &
Remodel
Alice
Joe
Self-Service Platform
Self-Service Platform
ksqlDB
Kafka Streams
End-to-End Ownership
Platform
Support
Renata
De-centralized Data
Principle 2: Data as a First-Class Product
Objective: Make shared data discoverable, addressable, trustworthy, secure, so
other teams can make good use of it.
● Data is treated as a true product, not a by-product.
Domain
Data Product
Data Product, a “Microservice for the Data World”
● Data product is a node on the data mesh, situated within a domain.
● Produces—and possibly consumes—high-quality data within the mesh.
Infra
Code
Data
Creates, manipulates,
serves, etc. that data
Powers the data (e.g., storage) and the
code (e.g., run, deploy, monitor)
“Items About to Expire”
Data Product
Data and metadata,
including history
Principle 3: Self-Serve Data Platform
Provide discovery, access, and self-service compute and publish tools
Objective: Make it easy to both create and use the data products
Domain Domain Domain
Domain
Principle 4: Federated Governance
Objective: Standards of Interoperability, Policies, and Support
● Global standards, data product support. “Paved Roads”.
Self-Serve Data Platform
What is decided
locally by a domain?
What is globally?
(implemented and
enforced by platform)
Must balance between Decentralization vs. Centralization. No silver bullet!
Why Event Streams for Data Mesh?
Data Products Base Requirements
● Immutable
○ Consumers across time provided with the same data
● Time-Stamped
○ Support time-bounded queries and operations
● Well-defined (Schemas)
○ Clarity as to what the data means
Event Streams Provide An Immutable History
Consumer
Application
Data
Product
0 1 2 3 4 5 6 7 8 9
Bug? Error?
New Aggregate?
Rewind to start of
stream, then
reprocess.
Event Streams let your
consumers replay data
as needed.
Kappa Architecture
● Store all the data you need, for as long as you need it.
● Cheap disk! Compaction!
● Confluent Cloud’s Infinite Storage
● OSS: KIP-405: Kafka Tiered Storage (Targetting Kafka 3.3)
Event Streams: Massively Scalable
Events are Well-Defined
0 1 2 3 4 5 6 7 8 9
Key String ID-2910312
Value String itemName
String Brand
String Construction
Float Price
Baseball Bat
ACME
Wood
29.99
Time String 2022-04-07T14:51:44Z
Kafka Topic + Schema = REST + json
The stream API:
Events are Time-Stamped
0 1 2 3 4 5 6 7 8 9
Time-Stamped Data and
incremental offsets
enable deterministic
reprocessing
Key String ID-2910312
Value String itemName
String Brand
String Construction
Float Price
Baseball Bat
ACME
Wood
29.99
Time String 2022-04-07T14:51:44Z
Event Streams Power Realtime & Batch Processing
All Data
(current and historic)
Streaming
Operational App
Streaming
Analytics
Connector
Connector
Batch-Computed
Analytics
Traditional R/R
Operational App
Millisecond
end-to-end latency
Both operational and
analytical workloads!
Example:
Learn A Language Application
Learn a Language Application
● Lesson types: Written, Audio, Video, Stories, Flashcards
1. What lessons do students fail to complete (24h)? (Analytical)
2. Can we push them lessons based on what they’ve failed? (Operational)
3. Expand the domains to account for paid users (Both)
● Serves content to users
● Collects metrics on users
completing and failing lessons
● User Accounts
● Includes private details, PII,
Payment Info
USERS
SERVING
● Lessons, including written,
video, audio, and flashcards
LESSONS
Alice
Joe
Maria
Simplification!
Could have many more domains
Masters of Their Domains
USERS
User Account Data
Alice
Users
DP key: UserId-6384291
Name: Adam Bellemare
Address: Canada
Email: k2hd9@9fd9s.com
Timestamp: 2022-04-07T15:19:47Z
Event Schema API
Isolates internal model
Format-preserving Encryption
User Accounts Maintained Within a Single Domain
Joe
SERVING
key: UserId-6384291
LessonId: AID-2729
Type: Audio
Status: Completed
Content Serving Domain - Source-Aligned Data Product
DP
Source-Aligned
Data Product
Joe
SERVING
key: UserId-6384291
LessonId: AID-2729
Type: Audio
Status: Completed
Content Serving Domain - Source and Aggregate
DP
Source-Aligned
Data Product
key: UserId-6384291
Completed: <List of Lessons>
Failed: <List of Lessons>
StartDate: 2022-02-02 UTC-0
EndDate: 2022-02-03 UTC-0
Aggregate-Aligned
Data Product
DP
Lessons Domain - Source Aligned Data Product
LESSONS
Maria
Lessons
DP
key: LessonID-623
assets: S3://….
medium: Written
subject: Verbs
difficulty: Intermediate
Source-Aligned
Data Product
1) What Lessons do Students Fail to Complete?
Compute 24h course completion and failure rates:
- Could created our own aggregate using:
OR
- Could use the pre-built aggregate-aligned data product
key: UserId-6384291
Completed: <List of Lessons>
Failed: <List of Lessons>
StartDate: 2022-02-02 UTC-0
EndDate: 2022-02-03 UTC-0
Aggregate-Aligned
Data Product
key: UserId-6384291
LessonId: AID-2729
Type: Audio
Status: Failed
Source-Aligned
Data Product
SERVING
SERVING
1) Select the Data Products
Joe
LESSONS
Maria
key: UserId-6384291
Completed: <List of Lessons>
Failed: <List of Lessons>
StartDate: 2022-02-02 UTC-0
EndDate: 2022-02-03 UTC-0
Aggregate-Aligned
Data Product
key: LessonID-623
assets: S3://….
medium: Written
subject: Verbs
difficulty: Intermediate
Source-Aligned
Data Product
Join the List of Failed Lessons
with the Lesson Content
SERVING
1) Create a New Processor and Emit Results
ksqlDB
ANALYTICS
BI Tool
Joe
Content Serving
Domain
LESSONS
Maria
key: UserId-6384291
Completed: <List of Lessons>
Failed: <List of Lessons>
StartDate: 2022-02-02 UTC-0
EndDate: 2022-02-03 UTC-0
key: LessonID-623
assets: S3://….
medium: Written
subject: Verbs
difficulty: Intermediate
SERVING
1) OR use Connectors to Integrate with Batch Data
Joe
Content Serving
Domain
LESSONS
Maria
Batch
Analytics
Engine
ANALYTICS
BI Tool
Connect
Connect
Cloud
Storage
Cloud
Storage
SERVING
2) Push New Lessons to User Based on Failures
Joe
Content Serving
Domain
LESSONS
Maria
key: LessonID-623
assets: S3://….
medium: Written
subject: Verbs
difficulty: Intermediate
key: UserId-6384291
LessonId: LessonID-623
Type: Audio
Status: Failed
User failed lesson?
- Find them a new one based on
subject, medium, and difficulty
User passed lesson?
- Offer them a more challenging one
Source-Aligned
Data Products
Operational Use-Case
SERVING
Materialize
Data to
Tables
Handle Client
REST Requests
2) Push New Lessons to User Based on Failures
Joe
Content Serving
Domain
LESSONS
Maria
key: LessonID-623
assets: S3://….
medium: Written
subject: Verbs
difficulty: Intermediate
key: UserId-6384291
LessonId: LessonID-623
Type: Audio
Status: Failed
Operational Use-Case Using lesson-completion events for both
operational and analytical use-cases
SERVING
SERVING
3) Expanding the Business Domain: Premium Content
USERS
Alice
LESSONS
Maria
key: LessonID-623
Assets: S3://….
Medium: Written
Subject: Verbs
Difficulty: Intermediate
Status: Premium
key: UserId-6384291
Name: Adam Bellemare
Address: Canada
Email: k2hd9@9fd9s.com
Status: Premium
Add special content that is only
available for premium (paid) users
a) Evolve the User event to
contain a status enum:
(Premium / Normal)
b) Add new content that is only
available for premium users
c) Governance requirement: a
standard definition of
premium across the whole
business.
3) Expanding the Business Domain: Premium Content
USERS
Alice
LESSONS
Maria
key: LessonID-623
Assets: S3://….
Medium: Written
Subject: Verbs
Difficulty: Intermediate
Status: Premium
key: UserId-6384291
Name: Adam Bellemare
Address: Canada
Email: k2hd9@9fd9s.com
Status: Premium
SERVING
Materialize
Data to
Tables
Handle Client
REST Requests
Update Business Logic to show
paid users the Premium Content
ksqlDB
ANALYTICS
BI Tool
3) Build new Analytics off Premium
LESSONS
Maria
key: LessonID-623
Assets: S3://….
Medium: Written
Subject: Verbs
Difficulty: Intermediate
Status: Premium
Joe
Content Serving
Domain
key: UserId-6384291
LessonId: LessonID-623
Type: Audio
Status: Completed
Source-Aligned Data Products
CONTENT
Confluent’s
Proof of Concept
(not a product)
Data Mesh Demo
github.com/confluentinc/data-mesh-demo
Your Apache Kafka®
journey begins here
developer.confluent.io
@AdamBellemare

More Related Content

Similar to Implementing a Data Mesh with Apache Kafka with Adam Bellemare | Kafka Summit London 2022

Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)Denodo
 
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...MongoDB
 
IRJET- Multiple Keyword Search for Encrypted Cloud Storage
IRJET- Multiple Keyword Search for Encrypted Cloud StorageIRJET- Multiple Keyword Search for Encrypted Cloud Storage
IRJET- Multiple Keyword Search for Encrypted Cloud StorageIRJET Journal
 
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...Niraj Tolia
 
Apache Kafka and the Data Mesh | Ben Stopford and Michael Noll, Confluent
Apache Kafka and the Data Mesh | Ben Stopford and Michael Noll, ConfluentApache Kafka and the Data Mesh | Ben Stopford and Michael Noll, Confluent
Apache Kafka and the Data Mesh | Ben Stopford and Michael Noll, ConfluentHostedbyConfluent
 
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Nati Shalom
 
Multi-tenancy In the Cloud
Multi-tenancy In the CloudMulti-tenancy In the Cloud
Multi-tenancy In the Cloudsdevillers
 
Using In-Memory Encrypted Databases on the Cloud
Using In-Memory Encrypted Databases on the CloudUsing In-Memory Encrypted Databases on the Cloud
Using In-Memory Encrypted Databases on the CloudFrancesco Pagano
 
A Key to Real-time Insights in a Post-COVID World (ASEAN)
A Key to Real-time Insights in a Post-COVID World (ASEAN)A Key to Real-time Insights in a Post-COVID World (ASEAN)
A Key to Real-time Insights in a Post-COVID World (ASEAN)Denodo
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectEuropean Collaboration Summit
 
Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...
Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...
Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...Denodo
 
Demystifying Data Virtualization (ASEAN)
Demystifying Data Virtualization (ASEAN)Demystifying Data Virtualization (ASEAN)
Demystifying Data Virtualization (ASEAN)Denodo
 
Windows admin -Prabakar resume
Windows admin -Prabakar resumeWindows admin -Prabakar resume
Windows admin -Prabakar resumePrabakar Msc
 
DM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled ArchitectureDM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled ArchitectureDATAVERSITY
 
EXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATA
EXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATAEXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATA
EXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATAIRJET Journal
 
Big Data Fabric: A Necessity For Any Successful Big Data Initiative
Big Data Fabric: A Necessity For Any Successful Big Data InitiativeBig Data Fabric: A Necessity For Any Successful Big Data Initiative
Big Data Fabric: A Necessity For Any Successful Big Data InitiativeDenodo
 
Feature Store as a Data Foundation for Machine Learning
Feature Store as a Data Foundation for Machine LearningFeature Store as a Data Foundation for Machine Learning
Feature Store as a Data Foundation for Machine LearningProvectus
 
Driving Enterprise Adoption: Tragedies, Triumphs and Our NEXT
Driving Enterprise Adoption: Tragedies, Triumphs and Our NEXTDriving Enterprise Adoption: Tragedies, Triumphs and Our NEXT
Driving Enterprise Adoption: Tragedies, Triumphs and Our NEXTDataWorks Summit
 

Similar to Implementing a Data Mesh with Apache Kafka with Adam Bellemare | Kafka Summit London 2022 (20)

Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
Bridging the Last Mile: Getting Data to the People Who Need It (APAC)
 
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
Bangalore Executive Seminar 2015: Case Study - Text Analysis on MongoDB for a...
 
IRJET- Multiple Keyword Search for Encrypted Cloud Storage
IRJET- Multiple Keyword Search for Encrypted Cloud StorageIRJET- Multiple Keyword Search for Encrypted Cloud Storage
IRJET- Multiple Keyword Search for Encrypted Cloud Storage
 
GDSC Cloud Jam.pptx
GDSC Cloud Jam.pptxGDSC Cloud Jam.pptx
GDSC Cloud Jam.pptx
 
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
(Speaker Notes Version) Architecting An Enterprise Storage Platform Using Obj...
 
Apache Kafka and the Data Mesh | Ben Stopford and Michael Noll, Confluent
Apache Kafka and the Data Mesh | Ben Stopford and Michael Noll, ConfluentApache Kafka and the Data Mesh | Ben Stopford and Michael Noll, Confluent
Apache Kafka and the Data Mesh | Ben Stopford and Michael Noll, Confluent
 
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
 
Multi-tenancy In the Cloud
Multi-tenancy In the CloudMulti-tenancy In the Cloud
Multi-tenancy In the Cloud
 
Using In-Memory Encrypted Databases on the Cloud
Using In-Memory Encrypted Databases on the CloudUsing In-Memory Encrypted Databases on the Cloud
Using In-Memory Encrypted Databases on the Cloud
 
Presentazione pagano1
Presentazione pagano1Presentazione pagano1
Presentazione pagano1
 
A Key to Real-time Insights in a Post-COVID World (ASEAN)
A Key to Real-time Insights in a Post-COVID World (ASEAN)A Key to Real-time Insights in a Post-COVID World (ASEAN)
A Key to Real-time Insights in a Post-COVID World (ASEAN)
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
 
Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...
Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...
Maximizing Oil and Gas (Data) Asset Utilization with a Logical Data Fabric (A...
 
Demystifying Data Virtualization (ASEAN)
Demystifying Data Virtualization (ASEAN)Demystifying Data Virtualization (ASEAN)
Demystifying Data Virtualization (ASEAN)
 
Windows admin -Prabakar resume
Windows admin -Prabakar resumeWindows admin -Prabakar resume
Windows admin -Prabakar resume
 
DM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled ArchitectureDM Radio Webinar: Adopting a Streaming-Enabled Architecture
DM Radio Webinar: Adopting a Streaming-Enabled Architecture
 
EXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATA
EXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATAEXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATA
EXPLORING WOMEN SECURITY BY DEDUPLICATION OF DATA
 
Big Data Fabric: A Necessity For Any Successful Big Data Initiative
Big Data Fabric: A Necessity For Any Successful Big Data InitiativeBig Data Fabric: A Necessity For Any Successful Big Data Initiative
Big Data Fabric: A Necessity For Any Successful Big Data Initiative
 
Feature Store as a Data Foundation for Machine Learning
Feature Store as a Data Foundation for Machine LearningFeature Store as a Data Foundation for Machine Learning
Feature Store as a Data Foundation for Machine Learning
 
Driving Enterprise Adoption: Tragedies, Triumphs and Our NEXT
Driving Enterprise Adoption: Tragedies, Triumphs and Our NEXTDriving Enterprise Adoption: Tragedies, Triumphs and Our NEXT
Driving Enterprise Adoption: Tragedies, Triumphs and Our NEXT
 

More from HostedbyConfluent

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonHostedbyConfluent
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolHostedbyConfluent
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesHostedbyConfluent
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaHostedbyConfluent
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonHostedbyConfluent
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonHostedbyConfluent
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyHostedbyConfluent
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...HostedbyConfluent
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...HostedbyConfluent
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersHostedbyConfluent
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformHostedbyConfluent
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubHostedbyConfluent
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonHostedbyConfluent
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLHostedbyConfluent
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceHostedbyConfluent
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondHostedbyConfluent
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsHostedbyConfluent
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemHostedbyConfluent
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksHostedbyConfluent
 

More from HostedbyConfluent (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit London
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at Trendyol
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and Kafka
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit London
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit London
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And Why
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka Clusters
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy Pub
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit London
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSL
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and Beyond
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink Apps
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC Ecosystem
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local Disks
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Implementing a Data Mesh with Apache Kafka with Adam Bellemare | Kafka Summit London 2022

  • 1. Implementing a Data Mesh with Apache Kafka Adam Bellemare
  • 2. What’s Covered 1 A Brief Intro to Data Mesh 2 Why Event Streams? 3 Example: Applying Data Mesh 4 Demo: Confluent’s Proof-of-Concept
  • 3. A Brief Intro to Data Mesh
  • 4. Influences DDD Microservices Event Streaming Data Marts DATA MESH Domain Inventory Orders Shipments Data Product ...
  • 5. Domain Ownership Local Autonomy (Organizational Concerns) Data as a First-class Product Product thinking, “Microservice for Data” Federated Governance Interoperability, Network Effects (Organizational Concerns) Self-serve Data Platform Infra Tooling, Across Domains 1 2 3 4
  • 6. Principle 1: Domain Ownership Objective: Data is owned by those that truly understand it Pattern: Data belongs to the team who understands it best Centralized Data Ownership Decentralized Data Ownership Anti-pattern: Centralized team owns all data
  • 7. Data Lake: Ownership rests with a centralized data team Domain Foo Domain Bar Data Domain Connector Connector Clean Up & Remodel Clean Up & Remodel ksqlDB Kafka Streams Renegotiate Domain Ownership Renata Alice Joe Centralized Data
  • 8. Data Mesh: Ownership rests with the domain Domain Foo Domain Bar Connector Connector Clean Up & Remodel Clean Up & Remodel Alice Joe Self-Service Platform Self-Service Platform ksqlDB Kafka Streams End-to-End Ownership Platform Support Renata De-centralized Data
  • 9. Principle 2: Data as a First-Class Product Objective: Make shared data discoverable, addressable, trustworthy, secure, so other teams can make good use of it. ● Data is treated as a true product, not a by-product.
  • 10. Domain Data Product Data Product, a “Microservice for the Data World” ● Data product is a node on the data mesh, situated within a domain. ● Produces—and possibly consumes—high-quality data within the mesh. Infra Code Data Creates, manipulates, serves, etc. that data Powers the data (e.g., storage) and the code (e.g., run, deploy, monitor) “Items About to Expire” Data Product Data and metadata, including history
  • 11. Principle 3: Self-Serve Data Platform Provide discovery, access, and self-service compute and publish tools Objective: Make it easy to both create and use the data products
  • 12. Domain Domain Domain Domain Principle 4: Federated Governance Objective: Standards of Interoperability, Policies, and Support ● Global standards, data product support. “Paved Roads”. Self-Serve Data Platform What is decided locally by a domain? What is globally? (implemented and enforced by platform) Must balance between Decentralization vs. Centralization. No silver bullet!
  • 13. Why Event Streams for Data Mesh?
  • 14. Data Products Base Requirements ● Immutable ○ Consumers across time provided with the same data ● Time-Stamped ○ Support time-bounded queries and operations ● Well-defined (Schemas) ○ Clarity as to what the data means
  • 15. Event Streams Provide An Immutable History Consumer Application Data Product 0 1 2 3 4 5 6 7 8 9 Bug? Error? New Aggregate? Rewind to start of stream, then reprocess. Event Streams let your consumers replay data as needed. Kappa Architecture
  • 16. ● Store all the data you need, for as long as you need it. ● Cheap disk! Compaction! ● Confluent Cloud’s Infinite Storage ● OSS: KIP-405: Kafka Tiered Storage (Targetting Kafka 3.3) Event Streams: Massively Scalable
  • 17. Events are Well-Defined 0 1 2 3 4 5 6 7 8 9 Key String ID-2910312 Value String itemName String Brand String Construction Float Price Baseball Bat ACME Wood 29.99 Time String 2022-04-07T14:51:44Z Kafka Topic + Schema = REST + json The stream API:
  • 18. Events are Time-Stamped 0 1 2 3 4 5 6 7 8 9 Time-Stamped Data and incremental offsets enable deterministic reprocessing Key String ID-2910312 Value String itemName String Brand String Construction Float Price Baseball Bat ACME Wood 29.99 Time String 2022-04-07T14:51:44Z
  • 19. Event Streams Power Realtime & Batch Processing All Data (current and historic) Streaming Operational App Streaming Analytics Connector Connector Batch-Computed Analytics Traditional R/R Operational App Millisecond end-to-end latency Both operational and analytical workloads!
  • 21. Learn a Language Application ● Lesson types: Written, Audio, Video, Stories, Flashcards 1. What lessons do students fail to complete (24h)? (Analytical) 2. Can we push them lessons based on what they’ve failed? (Operational) 3. Expand the domains to account for paid users (Both)
  • 22. ● Serves content to users ● Collects metrics on users completing and failing lessons ● User Accounts ● Includes private details, PII, Payment Info USERS SERVING ● Lessons, including written, video, audio, and flashcards LESSONS Alice Joe Maria Simplification! Could have many more domains Masters of Their Domains
  • 23. USERS User Account Data Alice Users DP key: UserId-6384291 Name: Adam Bellemare Address: Canada Email: k2hd9@9fd9s.com Timestamp: 2022-04-07T15:19:47Z Event Schema API Isolates internal model Format-preserving Encryption User Accounts Maintained Within a Single Domain
  • 24. Joe SERVING key: UserId-6384291 LessonId: AID-2729 Type: Audio Status: Completed Content Serving Domain - Source-Aligned Data Product DP Source-Aligned Data Product
  • 25. Joe SERVING key: UserId-6384291 LessonId: AID-2729 Type: Audio Status: Completed Content Serving Domain - Source and Aggregate DP Source-Aligned Data Product key: UserId-6384291 Completed: <List of Lessons> Failed: <List of Lessons> StartDate: 2022-02-02 UTC-0 EndDate: 2022-02-03 UTC-0 Aggregate-Aligned Data Product DP
  • 26. Lessons Domain - Source Aligned Data Product LESSONS Maria Lessons DP key: LessonID-623 assets: S3://…. medium: Written subject: Verbs difficulty: Intermediate Source-Aligned Data Product
  • 27. 1) What Lessons do Students Fail to Complete? Compute 24h course completion and failure rates: - Could created our own aggregate using: OR - Could use the pre-built aggregate-aligned data product key: UserId-6384291 Completed: <List of Lessons> Failed: <List of Lessons> StartDate: 2022-02-02 UTC-0 EndDate: 2022-02-03 UTC-0 Aggregate-Aligned Data Product key: UserId-6384291 LessonId: AID-2729 Type: Audio Status: Failed Source-Aligned Data Product SERVING SERVING
  • 28. 1) Select the Data Products Joe LESSONS Maria key: UserId-6384291 Completed: <List of Lessons> Failed: <List of Lessons> StartDate: 2022-02-02 UTC-0 EndDate: 2022-02-03 UTC-0 Aggregate-Aligned Data Product key: LessonID-623 assets: S3://…. medium: Written subject: Verbs difficulty: Intermediate Source-Aligned Data Product Join the List of Failed Lessons with the Lesson Content SERVING
  • 29. 1) Create a New Processor and Emit Results ksqlDB ANALYTICS BI Tool Joe Content Serving Domain LESSONS Maria key: UserId-6384291 Completed: <List of Lessons> Failed: <List of Lessons> StartDate: 2022-02-02 UTC-0 EndDate: 2022-02-03 UTC-0 key: LessonID-623 assets: S3://…. medium: Written subject: Verbs difficulty: Intermediate SERVING
  • 30. 1) OR use Connectors to Integrate with Batch Data Joe Content Serving Domain LESSONS Maria Batch Analytics Engine ANALYTICS BI Tool Connect Connect Cloud Storage Cloud Storage SERVING
  • 31. 2) Push New Lessons to User Based on Failures Joe Content Serving Domain LESSONS Maria key: LessonID-623 assets: S3://…. medium: Written subject: Verbs difficulty: Intermediate key: UserId-6384291 LessonId: LessonID-623 Type: Audio Status: Failed User failed lesson? - Find them a new one based on subject, medium, and difficulty User passed lesson? - Offer them a more challenging one Source-Aligned Data Products Operational Use-Case SERVING
  • 32. Materialize Data to Tables Handle Client REST Requests 2) Push New Lessons to User Based on Failures Joe Content Serving Domain LESSONS Maria key: LessonID-623 assets: S3://…. medium: Written subject: Verbs difficulty: Intermediate key: UserId-6384291 LessonId: LessonID-623 Type: Audio Status: Failed Operational Use-Case Using lesson-completion events for both operational and analytical use-cases SERVING SERVING
  • 33. 3) Expanding the Business Domain: Premium Content USERS Alice LESSONS Maria key: LessonID-623 Assets: S3://…. Medium: Written Subject: Verbs Difficulty: Intermediate Status: Premium key: UserId-6384291 Name: Adam Bellemare Address: Canada Email: k2hd9@9fd9s.com Status: Premium Add special content that is only available for premium (paid) users a) Evolve the User event to contain a status enum: (Premium / Normal) b) Add new content that is only available for premium users c) Governance requirement: a standard definition of premium across the whole business.
  • 34. 3) Expanding the Business Domain: Premium Content USERS Alice LESSONS Maria key: LessonID-623 Assets: S3://…. Medium: Written Subject: Verbs Difficulty: Intermediate Status: Premium key: UserId-6384291 Name: Adam Bellemare Address: Canada Email: k2hd9@9fd9s.com Status: Premium SERVING Materialize Data to Tables Handle Client REST Requests Update Business Logic to show paid users the Premium Content
  • 35. ksqlDB ANALYTICS BI Tool 3) Build new Analytics off Premium LESSONS Maria key: LessonID-623 Assets: S3://…. Medium: Written Subject: Verbs Difficulty: Intermediate Status: Premium Joe Content Serving Domain key: UserId-6384291 LessonId: LessonID-623 Type: Audio Status: Completed Source-Aligned Data Products CONTENT
  • 36. Confluent’s Proof of Concept (not a product) Data Mesh Demo github.com/confluentinc/data-mesh-demo
  • 37.
  • 38. Your Apache Kafka® journey begins here developer.confluent.io @AdamBellemare