SlideShare a Scribd company logo
2016.03.09
Where does Geode fit in
modern system architectures?
2
Eitan Suez
• Eitan Suez
• Pivotal Consultant Instructor
• Teach GemFire, Cloud Native, PCF
• Prior to joining Pivotal, was Principal Consultant with ThoughtWorks
• Long-time software developer, based in Austin, TX
3
About Me
• Over the years have worked on many enterprise projects for a number of
customers
• First hands-on experience with Geode when consulting at SouthWest
Airlines..
• ..in the role of technical lead on a multi-team project, where Geode played a
prominent role in the system architecture
4
Relationship with Geode
• gfsh
• OQL and the data browser
• PDX serialization
• Spring Data GemFire
• Learn how to do automated functional testing with it
5
My Journey
• At first, we were so focused on building features
• Regions were already defined by solutions architects, treated them as
tables
• Didn’t pay too close attention to the fact that we had:
• near-linear scale-out capabilities built-in with partitioned regions
• fault-tolerance with redundant data copies
• locators adding indirection, clients isolated from cluster specifics
6
Don’t immediately realize what you’ve got
7
Example: Queries against partitioned regions
Client
Geode Distributed System
Query against partitioned region
Server
Query Executor
Partitioned
Region
Server
Partitioned
Region
Server
Partitioned
Region
Can go further with server-side functions
• A Database, but in-memory?
• Can also double as a simple cache?
• A key-value store, but supports queries?
• Supports transactions
• Events?
8
Unique Combination of Features
• Briefly reviewed the traits of Apache Geode
• It takes time to “wrap one’s head around” the whole of this
product
9
Impressive feature set
So, what can you do with it?
• Specific to Java stack: O/RM and Hibernate
• can plug in as Hibernate L2 Cache
• Peer-to-peer configuration
10
Use Cases “in the Small”
• Can be an out-of-process cache server, like Redis, or memcached
➡ gemcached
• These are fine, but does not take advantage of the full feature set
11
Use Cases “in the Small”
12
Canonical Architecture
Geode Distributed System
RegionsFunctions
Locator
Backing Store
Client Client
Events, Continuous Queries
RegionsFunctions
CacheLoader AsyncEventListener
Server
RegionsFunctions
Client
Queries, Transactions, Function Executions
• On a couple of projects over the last couple of years, have been
exposed to CQRS
• At first it seemed strange, or overly complex. Didn't get it
• Kept asking myself:
• Why not start out simpler?
• Seems rather complicated
• It’s more work
13
Switching Gears
• Stands for Command Query Responsibility Segregation
• A Pattern
• deliberately not prescriptive regarding how you implement this
separation
• Separation all the way down to the database
• Germ of the idea came from Bertrand Mayer (of Eiffel fame), with
concept of CQS
• Introduced, proposed by Greg Young
• Active .NET community, Udi Dahan among others
14
What is CQRS?
15
CQRS..
..tells you what,
not how,
but to answer why,
we are asked to look at what happens when you “go there”
16
When reads and writes are separate..
• With a single schema, you’re forced to optimize for one at the
expense of the other
• With two schemas, one can be optimized for reads and the
other for writes (have your cake and eat it too)
• relational model for writes
• denormalized views for reads
17
..can optimize reads and writes
Read-Optimized Write-Optimized
Data-Representation Spectrum
3rd normal formdenormalized views
18
Reading when your data is normalized
Request
Services
Repositories
multiple queries,
lots of joins
results
transformations
views
Relational
Database
Controller
compositions
Constantly reassembling views
• no joins necessary
• no transformations
• no need to reconstruct a view model for each
request
19
With a denormalized schema
Apache Geode
Region:
Customers
Region:
Orders
Region:
Products
. . .
• Can scale reads and writes independently
• many systems have a profile where reads outnumber writes at 100:1
ratio
• Read and write sides can be implemented with entirely different tools and
technologies
• Read-side can stay up when write-side is temporarily down
20
..more benefits
• Commands are semantic, in the language of the business, not
REST CRUD:
AddToCart, AddPaymentMethod, ChangeAddress
• Command handling can be asynchronous
• enqueue commands
• can scale command handling
21
Command Side
See: Udi Dahan
Clarified CQRS
• The LOG
• Append-only, no mutation
• Immutable storage, doesn't destroy history
• Activity just a stream of events
• tables are projections, can be derived entirely from log
• views can be recreated at will
• multiple views
22
Event Sourcing
See: Martin Kleppmann
Stream processing, Event sourcing, Reactive, CEP … and making sense of it all
• Data in Motion vs Data at Rest
• Entire History vs Snapshot in time
• Source of truth vs derived information
• materialized views, caches, indexes,
aggregations
23
The Log / Table Duality
See: Jay Kreps
The Log: What every software engineer should know about
real-time data's unifying abstraction
See: Martin Kleppmann
Stream processing, Event sourcing, Reactive, CEP … and making sense of it all
• ..in test environments to reproduce bugs
• ..in dev environments to test an upcoming release
• ..in production to “undo” a bug
• ..in production for blue-green type deployments
• Can transition to a new schema/representation of data in your regions
because you've come up with a radically different user interface for navigating
that information.
24
Replaying the Log
See: Greg Young
CQRS and Event Sourcing
25
Diagram by

“Exploring CQRS and Event Sourcing”, msdn
26
✓ update caches when new events come in
✓ invalidate caches proactively - ensure data
in caches remain fresh
✓ inverts the cache loader concept
✓ serving data from fast, in-memory caches
✓ regions contain “ViewModel” objects
Events
Projection Updates
Views in Regions
Geode Distributed System
Regions
containing
View Models
Read Side
- relay view models to ui
- little to no transformations
Events, Continuous Queries
Queries
• Apache Geode as the read store in a CQRS system is a
particularly good fit:
• eager cache invalidation
• scalable and fast reads via..
• regions store denormalized views
• partitioned regions enable linear scale-out
• in-memory data supports low-latency reads
• Curious to learn how Geode is being applied in your work
27
Summary
• Martin Kleppmann
Stream processing, Event sourcing, Reactive, CEP … and making sense of it all
• Rx, Erik Meijer
Your Mouse is a Database
• Greg Young
CQRS and Event Sourcing
• Jay Kreps
The Log: What every software engineer should know about real-time data's unifying
abstraction
• Udi Dahan
Clarified CQRS
• Dominic Betts, Julian Dominguez, Grigori Melnik, Fernando Simonazzi, Mani
Subramanian
CQRS Journey
• Dannielle Burrow
Four Real World Use Cases For An In-Memory Data Grid
28
References & Attributions
29
Join the Apache Geode Community!
• Check out http://geode.incubator.apache.org
• Subscribe: user-subscribe@geode.incubator.apache.org
• Download: http://geode.incubator.apache.org/releases/
Thank you!

More Related Content

PDF
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
PDF
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
PDF
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
PDF
#GeodeSummit - Design Tradeoffs in Distributed Systems
PDF
#GeodeSummit - Redis to Geode Adaptor
PDF
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
PDF
Building Apps with Distributed In-Memory Computing Using Apache Geode
PPTX
Preventative Maintenance of Robots in Automotive Industry
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
#GeodeSummit - Design Tradeoffs in Distributed Systems
#GeodeSummit - Redis to Geode Adaptor
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
Building Apps with Distributed In-Memory Computing Using Apache Geode
Preventative Maintenance of Robots in Automotive Industry

What's hot (20)

PPTX
Transform your DBMS to drive engagement innovation with Big Data
PDF
Docker. Does it matter for Java developer ?
PDF
DataEngConf SF16 - Unifying Real Time and Historical Analytics with the Lambd...
KEY
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
PPTX
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
PDF
Interactive Visualization of Streaming Data Powered by Spark
PDF
Spark as part of a Hybrid RDBMS Architecture-John Leach Cofounder Splice Machine
PPTX
Monitoring and Troubleshooting a Real Time Pipeline
PPTX
HBaseConAsia2018: Track2-5: JanusGraph-Distributed graph database with HBase
PDF
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
ODP
Lambda Architecture with Spark
PDF
Portable UDFs: Write Once, Run Anywhere
PDF
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
PDF
Spark meetup - Zoomdata Streaming
PPTX
Building Efficient Pipelines in Apache Spark
PDF
Archiving, E-Discovery, and Supervision with Spark and Hadoop with Jordan Volz
PDF
Semi-Supervised Learning In An Adversarial Environment
PDF
Kafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
PPTX
Time-oriented event search. A new level of scale
PPTX
Cloud native data platform
Transform your DBMS to drive engagement innovation with Big Data
Docker. Does it matter for Java developer ?
DataEngConf SF16 - Unifying Real Time and Historical Analytics with the Lambd...
How does Riak compare to Cassandra? [Cassandra London User Group July 2011]
xPatterns ... beyond Hadoop (Spark, Shark, Mesos, Tachyon)
Interactive Visualization of Streaming Data Powered by Spark
Spark as part of a Hybrid RDBMS Architecture-John Leach Cofounder Splice Machine
Monitoring and Troubleshooting a Real Time Pipeline
HBaseConAsia2018: Track2-5: JanusGraph-Distributed graph database with HBase
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
Lambda Architecture with Spark
Portable UDFs: Write Once, Run Anywhere
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
Spark meetup - Zoomdata Streaming
Building Efficient Pipelines in Apache Spark
Archiving, E-Discovery, and Supervision with Spark and Hadoop with Jordan Volz
Semi-Supervised Learning In An Adversarial Environment
Kafka Summit SF 2017 - Riot's Journey to Global Kafka Aggregation
Time-oriented event search. A new level of scale
Cloud native data platform
Ad

Viewers also liked (18)

PPTX
#GeodeSummit - Spring Data GemFire API Current and Future
PDF
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
PDF
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
PDF
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
PDF
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
PDF
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
PPTX
#GeodeSummit - Off-Heap Storage Current and Future Design
PDF
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
PDF
Design Tradeoffs in Distributed Systems- How Southwest Airlines Uses Geode
PDF
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
PDF
OQL querying and indexes with Apache Geode (incubating)
PDF
Wall Street Derivative Risk Solutions Using Geode
PPTX
An Introduction to Apache Geode (incubating)
PPTX
Individual and societal risk
PPTX
REDES NEURONALES
PDF
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
PPT
Presentación de Moodle
PDF
Data flow vs. procedural programming: How to put your algorithms into Flink
#GeodeSummit - Spring Data GemFire API Current and Future
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
#GeodeSummit - Off-Heap Storage Current and Future Design
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
Design Tradeoffs in Distributed Systems- How Southwest Airlines Uses Geode
Scale Out Your Big Data Apps: The Latest on Pivotal GemFire and GemFire XD
OQL querying and indexes with Apache Geode (incubating)
Wall Street Derivative Risk Solutions Using Geode
An Introduction to Apache Geode (incubating)
Individual and societal risk
REDES NEURONALES
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Presentación de Moodle
Data flow vs. procedural programming: How to put your algorithms into Flink
Ad

Similar to #GeodeSummit - Where Does Geode Fit in Modern System Architectures (20)

PDF
PPTX
Geode introduction
PDF
Scalable IoT platform
PDF
Unite 2017 - CQRS - Jens Gheerardyn
PPTX
The Big Data Stack
PDF
Hpc lunch and learn
PDF
Introduction to Apache Geode (Cork, Ireland)
PDF
Domain-Driven Data at the O'Reilly Software Architecture Conference
PDF
CQRS and Event Sourcing for Java Developers
PDF
Java EE 6 and NoSQL Workshop DevFest Austria
PDF
Large-Scale Real-Time Data Management for Engagement and Monetization
PDF
Apache Geode Meetup, Cork, Ireland at CIT
PPTX
Geode Meetup Apachecon
PDF
DDD - 4 - Domain Driven Design_ Architectural patterns.pdf
PDF
Java(ee) mongo db applications in the cloud
PPTX
Building Highly Scalable Spring Applications using In-Memory Data Grids
PPTX
PDF
Microservice Architecture with CQRS and Event Sourcing
PDF
NoSQL Basics - A Quick Tour
PDF
Datastores
Geode introduction
Scalable IoT platform
Unite 2017 - CQRS - Jens Gheerardyn
The Big Data Stack
Hpc lunch and learn
Introduction to Apache Geode (Cork, Ireland)
Domain-Driven Data at the O'Reilly Software Architecture Conference
CQRS and Event Sourcing for Java Developers
Java EE 6 and NoSQL Workshop DevFest Austria
Large-Scale Real-Time Data Management for Engagement and Monetization
Apache Geode Meetup, Cork, Ireland at CIT
Geode Meetup Apachecon
DDD - 4 - Domain Driven Design_ Architectural patterns.pdf
Java(ee) mongo db applications in the cloud
Building Highly Scalable Spring Applications using In-Memory Data Grids
Microservice Architecture with CQRS and Event Sourcing
NoSQL Basics - A Quick Tour
Datastores

More from PivotalOpenSourceHub (14)

PPTX
Zettaset Elastic Big Data Security for Greenplum Database
PPTX
New Security Framework in Apache Geode
PPTX
Apache Geode Clubhouse - WAN-based Replication
PPTX
GPORCA: Query Optimization as a Service
PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PPTX
Apache Geode Offheap Storage
PPTX
Apache Zeppelin Meetup Christian Tzolov 1/21/16
PPTX
Build & test Apache Hawq
PDF
Postgre sql linuxcontainers by Jignesh Shah
PPTX
kafka for db as postgres
PPTX
Geode Transactions by Swapnil Bawaskar
PPTX
Greenplum Database Open Source December 2015
PPTX
MADlib Architecture and Functional Demo on How to Use MADlib/PivotalR
PDF
Data Science Perspective and DS demo
Zettaset Elastic Big Data Security for Greenplum Database
New Security Framework in Apache Geode
Apache Geode Clubhouse - WAN-based Replication
GPORCA: Query Optimization as a Service
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Apache Geode Offheap Storage
Apache Zeppelin Meetup Christian Tzolov 1/21/16
Build & test Apache Hawq
Postgre sql linuxcontainers by Jignesh Shah
kafka for db as postgres
Geode Transactions by Swapnil Bawaskar
Greenplum Database Open Source December 2015
MADlib Architecture and Functional Demo on How to Use MADlib/PivotalR
Data Science Perspective and DS demo

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation theory and applications.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
Building Integrated photovoltaic BIPV_UPV.pdf
A Presentation on Artificial Intelligence
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Cloud computing and distributed systems.
Encapsulation theory and applications.pdf
Review of recent advances in non-invasive hemoglobin estimation
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Understanding_Digital_Forensics_Presentation.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

#GeodeSummit - Where Does Geode Fit in Modern System Architectures

  • 2. Where does Geode fit in modern system architectures? 2 Eitan Suez
  • 3. • Eitan Suez • Pivotal Consultant Instructor • Teach GemFire, Cloud Native, PCF • Prior to joining Pivotal, was Principal Consultant with ThoughtWorks • Long-time software developer, based in Austin, TX 3 About Me
  • 4. • Over the years have worked on many enterprise projects for a number of customers • First hands-on experience with Geode when consulting at SouthWest Airlines.. • ..in the role of technical lead on a multi-team project, where Geode played a prominent role in the system architecture 4 Relationship with Geode
  • 5. • gfsh • OQL and the data browser • PDX serialization • Spring Data GemFire • Learn how to do automated functional testing with it 5 My Journey
  • 6. • At first, we were so focused on building features • Regions were already defined by solutions architects, treated them as tables • Didn’t pay too close attention to the fact that we had: • near-linear scale-out capabilities built-in with partitioned regions • fault-tolerance with redundant data copies • locators adding indirection, clients isolated from cluster specifics 6 Don’t immediately realize what you’ve got
  • 7. 7 Example: Queries against partitioned regions Client Geode Distributed System Query against partitioned region Server Query Executor Partitioned Region Server Partitioned Region Server Partitioned Region Can go further with server-side functions
  • 8. • A Database, but in-memory? • Can also double as a simple cache? • A key-value store, but supports queries? • Supports transactions • Events? 8 Unique Combination of Features
  • 9. • Briefly reviewed the traits of Apache Geode • It takes time to “wrap one’s head around” the whole of this product 9 Impressive feature set So, what can you do with it?
  • 10. • Specific to Java stack: O/RM and Hibernate • can plug in as Hibernate L2 Cache • Peer-to-peer configuration 10 Use Cases “in the Small”
  • 11. • Can be an out-of-process cache server, like Redis, or memcached ➡ gemcached • These are fine, but does not take advantage of the full feature set 11 Use Cases “in the Small”
  • 12. 12 Canonical Architecture Geode Distributed System RegionsFunctions Locator Backing Store Client Client Events, Continuous Queries RegionsFunctions CacheLoader AsyncEventListener Server RegionsFunctions Client Queries, Transactions, Function Executions
  • 13. • On a couple of projects over the last couple of years, have been exposed to CQRS • At first it seemed strange, or overly complex. Didn't get it • Kept asking myself: • Why not start out simpler? • Seems rather complicated • It’s more work 13 Switching Gears
  • 14. • Stands for Command Query Responsibility Segregation • A Pattern • deliberately not prescriptive regarding how you implement this separation • Separation all the way down to the database • Germ of the idea came from Bertrand Mayer (of Eiffel fame), with concept of CQS • Introduced, proposed by Greg Young • Active .NET community, Udi Dahan among others 14 What is CQRS?
  • 15. 15 CQRS.. ..tells you what, not how, but to answer why, we are asked to look at what happens when you “go there”
  • 16. 16 When reads and writes are separate..
  • 17. • With a single schema, you’re forced to optimize for one at the expense of the other • With two schemas, one can be optimized for reads and the other for writes (have your cake and eat it too) • relational model for writes • denormalized views for reads 17 ..can optimize reads and writes Read-Optimized Write-Optimized Data-Representation Spectrum 3rd normal formdenormalized views
  • 18. 18 Reading when your data is normalized Request Services Repositories multiple queries, lots of joins results transformations views Relational Database Controller compositions Constantly reassembling views
  • 19. • no joins necessary • no transformations • no need to reconstruct a view model for each request 19 With a denormalized schema Apache Geode Region: Customers Region: Orders Region: Products . . .
  • 20. • Can scale reads and writes independently • many systems have a profile where reads outnumber writes at 100:1 ratio • Read and write sides can be implemented with entirely different tools and technologies • Read-side can stay up when write-side is temporarily down 20 ..more benefits
  • 21. • Commands are semantic, in the language of the business, not REST CRUD: AddToCart, AddPaymentMethod, ChangeAddress • Command handling can be asynchronous • enqueue commands • can scale command handling 21 Command Side See: Udi Dahan Clarified CQRS
  • 22. • The LOG • Append-only, no mutation • Immutable storage, doesn't destroy history • Activity just a stream of events • tables are projections, can be derived entirely from log • views can be recreated at will • multiple views 22 Event Sourcing See: Martin Kleppmann Stream processing, Event sourcing, Reactive, CEP … and making sense of it all
  • 23. • Data in Motion vs Data at Rest • Entire History vs Snapshot in time • Source of truth vs derived information • materialized views, caches, indexes, aggregations 23 The Log / Table Duality See: Jay Kreps The Log: What every software engineer should know about real-time data's unifying abstraction See: Martin Kleppmann Stream processing, Event sourcing, Reactive, CEP … and making sense of it all
  • 24. • ..in test environments to reproduce bugs • ..in dev environments to test an upcoming release • ..in production to “undo” a bug • ..in production for blue-green type deployments • Can transition to a new schema/representation of data in your regions because you've come up with a radically different user interface for navigating that information. 24 Replaying the Log See: Greg Young CQRS and Event Sourcing
  • 25. 25 Diagram by
 “Exploring CQRS and Event Sourcing”, msdn
  • 26. 26 ✓ update caches when new events come in ✓ invalidate caches proactively - ensure data in caches remain fresh ✓ inverts the cache loader concept ✓ serving data from fast, in-memory caches ✓ regions contain “ViewModel” objects Events Projection Updates Views in Regions Geode Distributed System Regions containing View Models Read Side - relay view models to ui - little to no transformations Events, Continuous Queries Queries
  • 27. • Apache Geode as the read store in a CQRS system is a particularly good fit: • eager cache invalidation • scalable and fast reads via.. • regions store denormalized views • partitioned regions enable linear scale-out • in-memory data supports low-latency reads • Curious to learn how Geode is being applied in your work 27 Summary
  • 28. • Martin Kleppmann Stream processing, Event sourcing, Reactive, CEP … and making sense of it all • Rx, Erik Meijer Your Mouse is a Database • Greg Young CQRS and Event Sourcing • Jay Kreps The Log: What every software engineer should know about real-time data's unifying abstraction • Udi Dahan Clarified CQRS • Dominic Betts, Julian Dominguez, Grigori Melnik, Fernando Simonazzi, Mani Subramanian CQRS Journey • Dannielle Burrow Four Real World Use Cases For An In-Memory Data Grid 28 References & Attributions
  • 29. 29 Join the Apache Geode Community! • Check out http://geode.incubator.apache.org • Subscribe: user-subscribe@geode.incubator.apache.org • Download: http://geode.incubator.apache.org/releases/