SlideShare a Scribd company logo
Building Active-Active Geo-Distributed Apps with
Redis using CRDTs (conflict free replicated data-types)
DEC 2017
Cihan Biyikoglu
VP. Product Management at Redis Labs
• Quick Intro to Redis and Redis Enterprise
• Redis Enterprise Replication Architecture
• Redis CRDTs
–Introductions to Redis CRDTs
• CAP Theorem and Redis CRDTs
• Redis CRDT Use Cases
–Under the hood - Redis CRDTs
–How to develop apps with Redis CRDTs
–Demo! Redis Enterprise 5.0
• Q&A
Agenda
Who We Are
Open source. The leading in-memory database platform,
supporting any high performance operational, analytics or
hybrid use case.
The open source home and commercial provider of Redis
Enterprise (Redise) technology, platform, products & services.
3
Why Redis?
4
Simplicity ExtensibilityPerformance
Low latency at High Throughput
1
Redis Data Structures
2 3
Redis Modules
Lists
Hashes
Bitmaps
Strings
Bit field
Streams
Hyperloglog
Sorted Sets
Sets
Geospatial Indexes
5
Why Redis Enterprise?
Integrated
ModulesAutomation
& Support
Redise Flash +
More Savings
Performance
at Scale
Built-in
Search
Active-Active
Geo
Distribution
(CRDTs) Robust
Security
HA, Durability,
DR
Fast Growing Business
6
DBaaS
• Available since mid 2013
• 7,500+ enterprise customers
Software
• Available since early 2015
• 200+ enterprise customers
550K+ databases
managed worldwide
• 6 of top Fortune 10 companies
• 3 of top 5 communications companies
Customers
• 3 of top 4 credit card issuers
• 3 of top 5 healthcare companies
Redis is Uniquely Suited to Modern Apps
A full range of capabilities that simplify and accelerate next generation applications
Graph
Machine
Learning
CachingHigh-Speed
Transactions
Fast Data
Ingest
Time Series Geo-Spatial
Indexing
MessagingAnalytics
Job &
Queue
7
Search
Redis Enterprise Architecture
8
Redis Enterprise – Cluster Architecture
Cluster
Management
Path
Proxies
Node Watchdog
Cluster Watchdog
Node 1 Node 2 Node N
Redise ShardsData Path
9
Redise Cluster
Low Replication Lag & High Replication Throughput
• Local Replication: Built for LAN
• Higher bandwidth
• Lower latency
• High quality links susceptible to fewer failures and retransmits
• Cross-Geo Replication: Built for WAN
• Lower bandwidth
• Higher latency
• “Noisier” network quality susceptible to more failures and retransmits
Replication Architecture with Redis Enterprise
• Unidirectional Replication
• Replica Of – Data Movement between Source to Destination DB
• Content Distribution to Various Geographies for low latency, local reads
• Continuous Data Transfer to and from Other Redis or Redise Databases
• Bi-Directional Replication
• Redis CRDTs (Conflict-free Replicated Data Tpes) - Active-Active Writes & Reads
• Advanced Protection against Regional Failures
• Geo-Distributed Apps for Concurrent Active-Active Writes & Reads
Cross-Geo Replication
Geo-Distributed Clusters
Introducing Redis CRDTs
(Conflict-free Replicated Data Types)
• Consensus Driven Protocols – 2 Phase Commit
– Very chatty over LAN and WAN with very low throughput
– Strictly “Consistent” thus not “Available” by nature
– Products: Relational Databases
• Quorum Based Writes and Reads
– Very chatty over LAN and WAN with very low throughput
– Strictly “Consistent” thus not “Available” by nature
– Products: Cassandra
Active-Active Geo-Distributed Applications Are Hard!
13
Consistent
Available Partition
Tolerance
ConsistentbutNOTAvailable
• Consensus Driven Protocols – 2 Phase Commit
– Very chatty over LAN and WAN with very low throughput
– Strictly “Consistent” thus not “Available” by nature
– Products: Relational Databases
• Quorum Based Writes and Reads
– Very chatty over LAN and WAN with very low throughput
– Strictly “Consistent” thus not “Available” by nature
– Products: Cassandra
• LWW - Last Writer Wins Conflict Resolution
– Inaccurate and Insufficient for many apps (see next slide…)
– Products: Couchbase
• MVCC - Multi Version Concurrency Control
– High overhead and slow throughput due to large metadata
– Complex to program against
– Products: CouchDB
Active-Active Geo-Distributed Applications Are Hard!
14
Consistent
Available Partition
Tolerance
ConsistentbutNOTAvailableAvailablebutNOTConsistent
• Consistency: Strong eventual consistency
– Consistent: Any two nodes that receive same but unordered updates will be in the same states
• Availability: Based on consensus-free protocol
– Available: Local cluster availability is sufficient
– No expensive multi-step consensus communication
• Smart conflict resolution with complex data types
– Each Redis “type + method” expresses developer intent in resolving conflicts
• Based on proven Mathematical Models
– Eric Brewer “CAP Twelve Years Later: How the "Rules" Have Changed”
– Marc Shapiro “Strong Eventual Consistency and Conflict-free Replicated Data Types”
Introducing CRDTs (Conflict-Free Replicated Data Types)
15
Consistent
Available Partition
Tolerance
• Geo-Replicated Active-Active Deployments
• Smart & Transparent Conflict Resolution
• Based on CRDT Technology (conflict free
replicated data types)
Active - Active Geo Distributed Apps with Redis CRDTs
16
Redis App
Redis App
Redis App
Redis CRDTs
Active-Active Geo-Distributed Redis Apps with
Smart Auto-Conflict Resolution and Simplified Development
• Geo-Replicated Active-Active Deployments
• Global Database distributed across clusters in
multiple regions
• Fast bi-directional replication across data-centers
• Low latency local reads & writes: sub-millisecond
latencies
Redis CRDTs
Redis App
Redis App
Redis App
• Smart & Transparent Conflict Resolution
• CRDBs power concurrent writes across
geographies
• CRDBs handle failover conflicts safely!
Redis CRDTs
time US Data Center EU Data Center
t1 SADD cart1 “costume”
t2 US Data Center Fails – Sync Fails
t3 SADD cart1 “mask”
t4 US Data Center Recovers – Resume Sync
t5 SMEMBERS cart1
“costume”
“mask”
SMEMBERS cart1
“costume”
“mask”
Redis App
Redis App
• Smart & Transparent Conflict Resolution
• CRDBs power concurrent writes across
geographies
• CRDBs handle failover conflicts safely!
Redis CRDTs
time US Data Center EU Data Center
t1 SADD cart1 “costume”
t2 US Data Center Fails – Sync Fails
t3 SADD cart1 “mask”
t4 US Data Center Recovers – Resume Sync
t5 SMEMBERS cart1
“costume”
“mask”
SMEMBERS cart1
“costume”
“mask”
Redis App
Redis App
• Smart & Transparent Conflict Resolution
• CRDBs power concurrent writes across
geographies
• CRDBs handle failover conflicts safely!
Redis CRDTs
time US Data Center EU Data Center
t1 SADD cart1 “costume”
t2 US Data Center Fails – Sync Fails
t3 SADD cart1 “mask”
t4 US Data Center Recovers – Resume Sync
t5 SMEMBERS cart1
“costume”
“mask”
SMEMBERS cart1
“costume”
“mask”
Redis App
Redis App
• Smart & Transparent Conflict Resolution
• CRDBs power concurrent writes across
geographies
• CRDBs handle failover conflicts safely!
Redis CRDTs
time US Data Center EU Data Center
t1 SADD cart1 “costume”
t2 US Data Center Fails – Sync Fails
t3 SADD cart1 “mask”
t4 US Data Center Recovers – Resume Sync
t5 SMEMBERS cart1
“costume”
“mask”
SMEMBERS cart1
“costume”
“mask”
Redis App
Redis App
• Smart & Transparent Conflict Resolution
• CRDBs power concurrent writes across
geographies
• CRDBs handle failover conflicts safely!
Redis CRDTs
time US Data Center EU Data Center
t1 SADD cart1 “costume”
t2 US Data Center Fails – Sync Fails
t3 SADD cart1 “mask”
t4 US Data Center Recovers – Resume Sync
t5 SMEMBERS cart1
“costume”
“mask”
SMEMBERS cart1
“costume”
“mask”
Redis App
Redis App
• Based on CRDT Technology
• Simple to develop with Redis Commands
• Smarter-conflict resolution based on
“developers intent”
Redis CRDTs
time US Data Center EU Data Center
t1 INCR TxCounter1
t2 INCR TxCounter1
t3 INCR TxCounter1
t4 Sync
t5 GET TxCounter1
3
GET TxCounter1
3
Redis App
Redis App
Redis App
• Based on CRDT Technology
• Simple to develop with Redis Commands
• Smarter-conflict resolution based on
“developers intent”
Redis CRDTs
time US Data Center EU Data Center
t1 INCR TxCounter1
t2 INCR TxCounter1
t3 INCR TxCounter1
t4 Sync
t5 GET TxCounter1
3
GET TxCounter1
3
Redis App
Redis App
Redis App
• Based on CRDT Technology
• Simple to develop with Redis Commands
• Smarter-conflict resolution based on
“developers intent”
Redis CRDTs
time US Data Center EU Data Center
t1 INCR TxCounter1
t2 INCR TxCounter1
t3 INCR TxCounter1
t4 Sync
t5 GET TxCounter1
3
GET TxCounter1
3
Redis App
Redis App
Redis App
• Based on CRDT Technology
• Simple to develop with Redis Commands
• Smarter-conflict resolution based on
“developers intent”
Redis CRDTs
time US Data Center EU Data Center
t1 INCR TxCounter1
t2 INCR TxCounter1
t3 INCR TxCounter1
t4 Sync
t5 GET TxCounter1
3
GET TxCounter1
3
Redis App
Redis App
Redis App
• Based on CRDT Technology
• Simple to develop with Redis Commands
• Smarter-conflict resolution based on
“developers intent”
Redis CRDTs
time US Data Center EU Data Center
t1 INCR TxCounter1
t2 INCR TxCounter1
t3 INCR TxCounter1
t4 Sync
t5 GET TxCounter1
3
GET TxCounter1
3
Redis App
Redis App
Redis App
How Does Redis CRDTs Work?
• CREATING a CRDB
–Set global CRDB options
–Initialize member CRDB on each participating
cluster
• In case of Error, Rollback
–Establish bi-directional replication among all
members
Redis CRDTs == CRDBs (Conflict free replicated databases)
Redis App
Redis App
Redis App
Bi-directional Replication
• Syncer uses slave-replicas to replicate operations in a streaming fashion
• Resume-able replication under failures but may resync if a participating
cluster goes stale (long duration of absence by a member)
CRDB Architecture
Compressed Stream
Syncer
Syncer
Participating Cluster 1
Participating Cluster 2
How to Develop Applications with CRDBs?
• DEVELOPING APPS with a CRDB
–All apps connect to the local member CRDB in the
participating cluster
–Reads/Writes occur on local member CRDB
• Outcome of concurrent writes are predictable and
based on a set of rules
–Bi-directional replication automatically syncs
changes
• No application code required to resolve conflicts
CRDBs (Conflict free replicated databases)
Redis App
Redis App
Redis App
• Simply use Redis with Redis Client SDKs!
• Conflict Resolution is smart and automatic
–Counters - using INCR or INCRBY, INCRBYFLOAT and so on
–Sets – SADD/SREM and so on
–Hash – HSET/HDEL and so on
–Strings - using SET/APPEND and so on
• Conflict Resolution is specific to data type + commands used
–Total increments since last sync for Counters
–Add wins with observed remove for Sets
–Last writer wins for Strings
–Counter or String semantics for Hash
–And so on.
Developing Applications with CRDBs
33
Redis App
Redis App
Redis App
Demo!REDIS CRDTS IN ACTION!
34
Recap
Redis Enterprise with Redis CRDTs (Conflict Free Replicated Data-types)
Build Fast Active-Active Geo-Distributed Redis Apps
with Smart Auto-Conflict Resolution
• Geo-Replicated Active-Active Deployments
–Fast bi-directional across data-centers
–Low latency local reads & writes : sub-millisecond latencies
• Smart & Transparent Conflict Resolution
–Build safe regional failover and geo-distributed apps
–Each Redis Data Type have smart conflict resolution based on “developer intent”
• Based on CRDT Technology (conflict free replicated data types)
–Simplifies development
Active - Active Geo Distribution
36
Get Started with Redis CRDTs Today!
Redislabs.com
–Download Redis Enterprise 5.0
–Visit Docker Hub: redislabs/redis:latest
37
Building Active-Active Geo-Distributed Apps with
Redis using CRDTs (conflict free replicated data-types)
DEC 2017
Cihan Biyikoglu
VP. Products Management at Redis Labs

More Related Content

What's hot

왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
Sage Weil
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
NexThoughts Technologies
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud
PgDay.Seoul
 
Redhat ha cluster with pacemaker
Redhat ha cluster with pacemakerRedhat ha cluster with pacemaker
Redhat ha cluster with pacemaker
Indika Dias
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
Folio3 Software
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
NoSQLmatters
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
SeungYong Oh
 
What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?
DataWorks Summit
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheUnleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache
Amazon Web Services
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
Arawn Park
 
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon Web Services
 
A simple introduction to redis
A simple introduction to redisA simple introduction to redis
A simple introduction to redis
Zhichao Liang
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
Aparna Pillai
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
confluent
 
Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain
confluent
 
Building a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache KafkaBuilding a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache Kafka
Guozhang Wang
 
Monitoring IO performance with iostat and pt-diskstats
Monitoring IO performance with iostat and pt-diskstatsMonitoring IO performance with iostat and pt-diskstats
Monitoring IO performance with iostat and pt-diskstats
Ben Mildren
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Mydbops
 
The Art of Monitoring (2016).pdf
The Art of Monitoring (2016).pdfThe Art of Monitoring (2016).pdf
The Art of Monitoring (2016).pdf
OpenWorld
 

What's hot (20)

왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud
 
Redhat ha cluster with pacemaker
Redhat ha cluster with pacemakerRedhat ha cluster with pacemaker
Redhat ha cluster with pacemaker
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheUnleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
 
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
 
A simple introduction to redis
A simple introduction to redisA simple introduction to redis
A simple introduction to redis
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain Kafka streams windowing behind the curtain
Kafka streams windowing behind the curtain
 
Building a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache KafkaBuilding a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache Kafka
 
Monitoring IO performance with iostat and pt-diskstats
Monitoring IO performance with iostat and pt-diskstatsMonitoring IO performance with iostat and pt-diskstats
Monitoring IO performance with iostat and pt-diskstats
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
 
The Art of Monitoring (2016).pdf
The Art of Monitoring (2016).pdfThe Art of Monitoring (2016).pdf
The Art of Monitoring (2016).pdf
 

Similar to Developing Active-Active Geo-Distributed Apps with Redis

RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...
RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...
RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...
Redis Labs
 
Add Redis to Postgres to Make Your Microservices Go Boom!
Add Redis to Postgres to Make Your Microservices Go Boom!Add Redis to Postgres to Make Your Microservices Go Boom!
Add Redis to Postgres to Make Your Microservices Go Boom!
Dave Nielsen
 
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Redis Labs
 
Presentacion redislabs-ihub
Presentacion redislabs-ihubPresentacion redislabs-ihub
Presentacion redislabs-ihub
ssuser9d7c90
 
Redis for Fast Data Ingest
Redis for Fast Data IngestRedis for Fast Data Ingest
Redis for Fast Data Ingest
Redis Labs
 
Redis Day TLV 2018 - 10 Reasons why Redis should be your Primary Database
Redis Day TLV 2018 - 10 Reasons why Redis should be your Primary DatabaseRedis Day TLV 2018 - 10 Reasons why Redis should be your Primary Database
Redis Day TLV 2018 - 10 Reasons why Redis should be your Primary Database
Redis Labs
 
Graphs for Enterprise Architects
Graphs for Enterprise ArchitectsGraphs for Enterprise Architects
Graphs for Enterprise Architects
Neo4j
 
Microservices - Is it time to breakup?
Microservices - Is it time to breakup? Microservices - Is it time to breakup?
Microservices - Is it time to breakup?
Dave Nielsen
 
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
Redis Labs
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
MongoDB
 
Big Data LDN 2017: Delivering Instant Experience with Redid Enterprise
Big Data LDN 2017: Delivering Instant Experience with Redid EnterpriseBig Data LDN 2017: Delivering Instant Experience with Redid Enterprise
Big Data LDN 2017: Delivering Instant Experience with Redid Enterprise
Matt Stubbs
 
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
Jeff Hung
 
MapR Product Update - Spring 2017
MapR Product Update - Spring 2017MapR Product Update - Spring 2017
MapR Product Update - Spring 2017
MapR Technologies
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...eswcsummerschool
 
MongoDB: What, why, when
MongoDB: What, why, whenMongoDB: What, why, when
MongoDB: What, why, when
Eugenio Minardi
 
quasardb: right to data
quasardb: right to dataquasardb: right to data
quasardb: right to data
Edouard Alligand
 
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc..."An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
Maya Lumbroso
 
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc..."An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
Dataconomy Media
 
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
Amazon Web Services
 
The Crown Jewels: Is Enterprise Data Ready for the Cloud?
The Crown Jewels: Is Enterprise Data Ready for the Cloud?The Crown Jewels: Is Enterprise Data Ready for the Cloud?
The Crown Jewels: Is Enterprise Data Ready for the Cloud?
Inside Analysis
 

Similar to Developing Active-Active Geo-Distributed Apps with Redis (20)

RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...
RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...
RedisConf18 - Active-Active Geo-Distributed Apps with Redis CRDTs (conflict f...
 
Add Redis to Postgres to Make Your Microservices Go Boom!
Add Redis to Postgres to Make Your Microservices Go Boom!Add Redis to Postgres to Make Your Microservices Go Boom!
Add Redis to Postgres to Make Your Microservices Go Boom!
 
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
 
Presentacion redislabs-ihub
Presentacion redislabs-ihubPresentacion redislabs-ihub
Presentacion redislabs-ihub
 
Redis for Fast Data Ingest
Redis for Fast Data IngestRedis for Fast Data Ingest
Redis for Fast Data Ingest
 
Redis Day TLV 2018 - 10 Reasons why Redis should be your Primary Database
Redis Day TLV 2018 - 10 Reasons why Redis should be your Primary DatabaseRedis Day TLV 2018 - 10 Reasons why Redis should be your Primary Database
Redis Day TLV 2018 - 10 Reasons why Redis should be your Primary Database
 
Graphs for Enterprise Architects
Graphs for Enterprise ArchitectsGraphs for Enterprise Architects
Graphs for Enterprise Architects
 
Microservices - Is it time to breakup?
Microservices - Is it time to breakup? Microservices - Is it time to breakup?
Microservices - Is it time to breakup?
 
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
RedisConf17 - Redis Enterprise: Continuous Availability, Unlimited Scaling, S...
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
Big Data LDN 2017: Delivering Instant Experience with Redid Enterprise
Big Data LDN 2017: Delivering Instant Experience with Redid EnterpriseBig Data LDN 2017: Delivering Instant Experience with Redid Enterprise
Big Data LDN 2017: Delivering Instant Experience with Redid Enterprise
 
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
 
MapR Product Update - Spring 2017
MapR Product Update - Spring 2017MapR Product Update - Spring 2017
MapR Product Update - Spring 2017
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
 
MongoDB: What, why, when
MongoDB: What, why, whenMongoDB: What, why, when
MongoDB: What, why, when
 
quasardb: right to data
quasardb: right to dataquasardb: right to data
quasardb: right to data
 
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc..."An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
 
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc..."An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
 
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
 
The Crown Jewels: Is Enterprise Data Ready for the Cloud?
The Crown Jewels: Is Enterprise Data Ready for the Cloud?The Crown Jewels: Is Enterprise Data Ready for the Cloud?
The Crown Jewels: Is Enterprise Data Ready for the Cloud?
 

More from Cihan Biyikoglu

Securing Redis
Securing RedisSecuring Redis
Securing Redis
Cihan Biyikoglu
 
Real-time Analytics with Redis
Real-time Analytics with RedisReal-time Analytics with Redis
Real-time Analytics with Redis
Cihan Biyikoglu
 
Tuning N1QL Query Performance with Couchbase Server 4.0
Tuning N1QL Query Performance with Couchbase Server 4.0Tuning N1QL Query Performance with Couchbase Server 4.0
Tuning N1QL Query Performance with Couchbase Server 4.0
Cihan Biyikoglu
 
Under the Hood - Couchbase Server Architecture - June 2015
Under the Hood - Couchbase Server Architecture - June 2015Under the Hood - Couchbase Server Architecture - June 2015
Under the Hood - Couchbase Server Architecture - June 2015
Cihan Biyikoglu
 
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Cihan Biyikoglu
 
SQL gene in NoSQL
SQL gene in NoSQLSQL gene in NoSQL
SQL gene in NoSQL
Cihan Biyikoglu
 
Document Data Modelling with Couchbase Server 4.0
Document Data Modelling with Couchbase Server 4.0Document Data Modelling with Couchbase Server 4.0
Document Data Modelling with Couchbase Server 4.0
Cihan Biyikoglu
 
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
Deploying couchbaseserverazure cihanbiyikoglu_microsoftDeploying couchbaseserverazure cihanbiyikoglu_microsoft
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
Cihan Biyikoglu
 
Inside Sql Azure - Cihan Biyikoglu - SQL Azure
Inside Sql Azure - Cihan Biyikoglu - SQL AzureInside Sql Azure - Cihan Biyikoglu - SQL Azure
Inside Sql Azure - Cihan Biyikoglu - SQL Azure
Cihan Biyikoglu
 

More from Cihan Biyikoglu (9)

Securing Redis
Securing RedisSecuring Redis
Securing Redis
 
Real-time Analytics with Redis
Real-time Analytics with RedisReal-time Analytics with Redis
Real-time Analytics with Redis
 
Tuning N1QL Query Performance with Couchbase Server 4.0
Tuning N1QL Query Performance with Couchbase Server 4.0Tuning N1QL Query Performance with Couchbase Server 4.0
Tuning N1QL Query Performance with Couchbase Server 4.0
 
Under the Hood - Couchbase Server Architecture - June 2015
Under the Hood - Couchbase Server Architecture - June 2015Under the Hood - Couchbase Server Architecture - June 2015
Under the Hood - Couchbase Server Architecture - June 2015
 
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
 
SQL gene in NoSQL
SQL gene in NoSQLSQL gene in NoSQL
SQL gene in NoSQL
 
Document Data Modelling with Couchbase Server 4.0
Document Data Modelling with Couchbase Server 4.0Document Data Modelling with Couchbase Server 4.0
Document Data Modelling with Couchbase Server 4.0
 
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
Deploying couchbaseserverazure cihanbiyikoglu_microsoftDeploying couchbaseserverazure cihanbiyikoglu_microsoft
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
 
Inside Sql Azure - Cihan Biyikoglu - SQL Azure
Inside Sql Azure - Cihan Biyikoglu - SQL AzureInside Sql Azure - Cihan Biyikoglu - SQL Azure
Inside Sql Azure - Cihan Biyikoglu - SQL Azure
 

Recently uploaded

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 

Recently uploaded (20)

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 

Developing Active-Active Geo-Distributed Apps with Redis

  • 1. Building Active-Active Geo-Distributed Apps with Redis using CRDTs (conflict free replicated data-types) DEC 2017 Cihan Biyikoglu VP. Product Management at Redis Labs
  • 2. • Quick Intro to Redis and Redis Enterprise • Redis Enterprise Replication Architecture • Redis CRDTs –Introductions to Redis CRDTs • CAP Theorem and Redis CRDTs • Redis CRDT Use Cases –Under the hood - Redis CRDTs –How to develop apps with Redis CRDTs –Demo! Redis Enterprise 5.0 • Q&A Agenda
  • 3. Who We Are Open source. The leading in-memory database platform, supporting any high performance operational, analytics or hybrid use case. The open source home and commercial provider of Redis Enterprise (Redise) technology, platform, products & services. 3
  • 4. Why Redis? 4 Simplicity ExtensibilityPerformance Low latency at High Throughput 1 Redis Data Structures 2 3 Redis Modules Lists Hashes Bitmaps Strings Bit field Streams Hyperloglog Sorted Sets Sets Geospatial Indexes
  • 5. 5 Why Redis Enterprise? Integrated ModulesAutomation & Support Redise Flash + More Savings Performance at Scale Built-in Search Active-Active Geo Distribution (CRDTs) Robust Security HA, Durability, DR
  • 6. Fast Growing Business 6 DBaaS • Available since mid 2013 • 7,500+ enterprise customers Software • Available since early 2015 • 200+ enterprise customers 550K+ databases managed worldwide • 6 of top Fortune 10 companies • 3 of top 5 communications companies Customers • 3 of top 4 credit card issuers • 3 of top 5 healthcare companies
  • 7. Redis is Uniquely Suited to Modern Apps A full range of capabilities that simplify and accelerate next generation applications Graph Machine Learning CachingHigh-Speed Transactions Fast Data Ingest Time Series Geo-Spatial Indexing MessagingAnalytics Job & Queue 7 Search
  • 9. Redis Enterprise – Cluster Architecture Cluster Management Path Proxies Node Watchdog Cluster Watchdog Node 1 Node 2 Node N Redise ShardsData Path 9 Redise Cluster
  • 10. Low Replication Lag & High Replication Throughput • Local Replication: Built for LAN • Higher bandwidth • Lower latency • High quality links susceptible to fewer failures and retransmits • Cross-Geo Replication: Built for WAN • Lower bandwidth • Higher latency • “Noisier” network quality susceptible to more failures and retransmits Replication Architecture with Redis Enterprise
  • 11. • Unidirectional Replication • Replica Of – Data Movement between Source to Destination DB • Content Distribution to Various Geographies for low latency, local reads • Continuous Data Transfer to and from Other Redis or Redise Databases • Bi-Directional Replication • Redis CRDTs (Conflict-free Replicated Data Tpes) - Active-Active Writes & Reads • Advanced Protection against Regional Failures • Geo-Distributed Apps for Concurrent Active-Active Writes & Reads Cross-Geo Replication Geo-Distributed Clusters
  • 12. Introducing Redis CRDTs (Conflict-free Replicated Data Types)
  • 13. • Consensus Driven Protocols – 2 Phase Commit – Very chatty over LAN and WAN with very low throughput – Strictly “Consistent” thus not “Available” by nature – Products: Relational Databases • Quorum Based Writes and Reads – Very chatty over LAN and WAN with very low throughput – Strictly “Consistent” thus not “Available” by nature – Products: Cassandra Active-Active Geo-Distributed Applications Are Hard! 13 Consistent Available Partition Tolerance ConsistentbutNOTAvailable
  • 14. • Consensus Driven Protocols – 2 Phase Commit – Very chatty over LAN and WAN with very low throughput – Strictly “Consistent” thus not “Available” by nature – Products: Relational Databases • Quorum Based Writes and Reads – Very chatty over LAN and WAN with very low throughput – Strictly “Consistent” thus not “Available” by nature – Products: Cassandra • LWW - Last Writer Wins Conflict Resolution – Inaccurate and Insufficient for many apps (see next slide…) – Products: Couchbase • MVCC - Multi Version Concurrency Control – High overhead and slow throughput due to large metadata – Complex to program against – Products: CouchDB Active-Active Geo-Distributed Applications Are Hard! 14 Consistent Available Partition Tolerance ConsistentbutNOTAvailableAvailablebutNOTConsistent
  • 15. • Consistency: Strong eventual consistency – Consistent: Any two nodes that receive same but unordered updates will be in the same states • Availability: Based on consensus-free protocol – Available: Local cluster availability is sufficient – No expensive multi-step consensus communication • Smart conflict resolution with complex data types – Each Redis “type + method” expresses developer intent in resolving conflicts • Based on proven Mathematical Models – Eric Brewer “CAP Twelve Years Later: How the "Rules" Have Changed” – Marc Shapiro “Strong Eventual Consistency and Conflict-free Replicated Data Types” Introducing CRDTs (Conflict-Free Replicated Data Types) 15 Consistent Available Partition Tolerance
  • 16. • Geo-Replicated Active-Active Deployments • Smart & Transparent Conflict Resolution • Based on CRDT Technology (conflict free replicated data types) Active - Active Geo Distributed Apps with Redis CRDTs 16 Redis App Redis App Redis App Redis CRDTs Active-Active Geo-Distributed Redis Apps with Smart Auto-Conflict Resolution and Simplified Development
  • 17. • Geo-Replicated Active-Active Deployments • Global Database distributed across clusters in multiple regions • Fast bi-directional replication across data-centers • Low latency local reads & writes: sub-millisecond latencies Redis CRDTs Redis App Redis App Redis App
  • 18. • Smart & Transparent Conflict Resolution • CRDBs power concurrent writes across geographies • CRDBs handle failover conflicts safely! Redis CRDTs time US Data Center EU Data Center t1 SADD cart1 “costume” t2 US Data Center Fails – Sync Fails t3 SADD cart1 “mask” t4 US Data Center Recovers – Resume Sync t5 SMEMBERS cart1 “costume” “mask” SMEMBERS cart1 “costume” “mask” Redis App Redis App
  • 19. • Smart & Transparent Conflict Resolution • CRDBs power concurrent writes across geographies • CRDBs handle failover conflicts safely! Redis CRDTs time US Data Center EU Data Center t1 SADD cart1 “costume” t2 US Data Center Fails – Sync Fails t3 SADD cart1 “mask” t4 US Data Center Recovers – Resume Sync t5 SMEMBERS cart1 “costume” “mask” SMEMBERS cart1 “costume” “mask” Redis App Redis App
  • 20. • Smart & Transparent Conflict Resolution • CRDBs power concurrent writes across geographies • CRDBs handle failover conflicts safely! Redis CRDTs time US Data Center EU Data Center t1 SADD cart1 “costume” t2 US Data Center Fails – Sync Fails t3 SADD cart1 “mask” t4 US Data Center Recovers – Resume Sync t5 SMEMBERS cart1 “costume” “mask” SMEMBERS cart1 “costume” “mask” Redis App Redis App
  • 21. • Smart & Transparent Conflict Resolution • CRDBs power concurrent writes across geographies • CRDBs handle failover conflicts safely! Redis CRDTs time US Data Center EU Data Center t1 SADD cart1 “costume” t2 US Data Center Fails – Sync Fails t3 SADD cart1 “mask” t4 US Data Center Recovers – Resume Sync t5 SMEMBERS cart1 “costume” “mask” SMEMBERS cart1 “costume” “mask” Redis App Redis App
  • 22. • Smart & Transparent Conflict Resolution • CRDBs power concurrent writes across geographies • CRDBs handle failover conflicts safely! Redis CRDTs time US Data Center EU Data Center t1 SADD cart1 “costume” t2 US Data Center Fails – Sync Fails t3 SADD cart1 “mask” t4 US Data Center Recovers – Resume Sync t5 SMEMBERS cart1 “costume” “mask” SMEMBERS cart1 “costume” “mask” Redis App Redis App
  • 23. • Based on CRDT Technology • Simple to develop with Redis Commands • Smarter-conflict resolution based on “developers intent” Redis CRDTs time US Data Center EU Data Center t1 INCR TxCounter1 t2 INCR TxCounter1 t3 INCR TxCounter1 t4 Sync t5 GET TxCounter1 3 GET TxCounter1 3 Redis App Redis App Redis App
  • 24. • Based on CRDT Technology • Simple to develop with Redis Commands • Smarter-conflict resolution based on “developers intent” Redis CRDTs time US Data Center EU Data Center t1 INCR TxCounter1 t2 INCR TxCounter1 t3 INCR TxCounter1 t4 Sync t5 GET TxCounter1 3 GET TxCounter1 3 Redis App Redis App Redis App
  • 25. • Based on CRDT Technology • Simple to develop with Redis Commands • Smarter-conflict resolution based on “developers intent” Redis CRDTs time US Data Center EU Data Center t1 INCR TxCounter1 t2 INCR TxCounter1 t3 INCR TxCounter1 t4 Sync t5 GET TxCounter1 3 GET TxCounter1 3 Redis App Redis App Redis App
  • 26. • Based on CRDT Technology • Simple to develop with Redis Commands • Smarter-conflict resolution based on “developers intent” Redis CRDTs time US Data Center EU Data Center t1 INCR TxCounter1 t2 INCR TxCounter1 t3 INCR TxCounter1 t4 Sync t5 GET TxCounter1 3 GET TxCounter1 3 Redis App Redis App Redis App
  • 27. • Based on CRDT Technology • Simple to develop with Redis Commands • Smarter-conflict resolution based on “developers intent” Redis CRDTs time US Data Center EU Data Center t1 INCR TxCounter1 t2 INCR TxCounter1 t3 INCR TxCounter1 t4 Sync t5 GET TxCounter1 3 GET TxCounter1 3 Redis App Redis App Redis App
  • 28. How Does Redis CRDTs Work?
  • 29. • CREATING a CRDB –Set global CRDB options –Initialize member CRDB on each participating cluster • In case of Error, Rollback –Establish bi-directional replication among all members Redis CRDTs == CRDBs (Conflict free replicated databases) Redis App Redis App Redis App
  • 30. Bi-directional Replication • Syncer uses slave-replicas to replicate operations in a streaming fashion • Resume-able replication under failures but may resync if a participating cluster goes stale (long duration of absence by a member) CRDB Architecture Compressed Stream Syncer Syncer Participating Cluster 1 Participating Cluster 2
  • 31. How to Develop Applications with CRDBs?
  • 32. • DEVELOPING APPS with a CRDB –All apps connect to the local member CRDB in the participating cluster –Reads/Writes occur on local member CRDB • Outcome of concurrent writes are predictable and based on a set of rules –Bi-directional replication automatically syncs changes • No application code required to resolve conflicts CRDBs (Conflict free replicated databases) Redis App Redis App Redis App
  • 33. • Simply use Redis with Redis Client SDKs! • Conflict Resolution is smart and automatic –Counters - using INCR or INCRBY, INCRBYFLOAT and so on –Sets – SADD/SREM and so on –Hash – HSET/HDEL and so on –Strings - using SET/APPEND and so on • Conflict Resolution is specific to data type + commands used –Total increments since last sync for Counters –Add wins with observed remove for Sets –Last writer wins for Strings –Counter or String semantics for Hash –And so on. Developing Applications with CRDBs 33 Redis App Redis App Redis App
  • 34. Demo!REDIS CRDTS IN ACTION! 34
  • 35. Recap
  • 36. Redis Enterprise with Redis CRDTs (Conflict Free Replicated Data-types) Build Fast Active-Active Geo-Distributed Redis Apps with Smart Auto-Conflict Resolution • Geo-Replicated Active-Active Deployments –Fast bi-directional across data-centers –Low latency local reads & writes : sub-millisecond latencies • Smart & Transparent Conflict Resolution –Build safe regional failover and geo-distributed apps –Each Redis Data Type have smart conflict resolution based on “developer intent” • Based on CRDT Technology (conflict free replicated data types) –Simplifies development Active - Active Geo Distribution 36
  • 37. Get Started with Redis CRDTs Today! Redislabs.com –Download Redis Enterprise 5.0 –Visit Docker Hub: redislabs/redis:latest 37
  • 38. Building Active-Active Geo-Distributed Apps with Redis using CRDTs (conflict free replicated data-types) DEC 2017 Cihan Biyikoglu VP. Products Management at Redis Labs

Editor's Notes

  1. Insert Version Number Here
  2. Firebase and cosmosdb, hana
  3. Firebase and cosmosdb, hana
  4. Shopping cart example – picture of a shopping cart
  5. Shopping cart example – picture of a shopping cart
  6. Shopping cart example – picture of a shopping cart
  7. Shopping cart example – picture of a shopping cart
  8. Shopping cart example – picture of a shopping cart
  9. Simply counting transactions, credit card transactions on a given account for fraud detection.
  10. Simply counting transactions, credit card transactions on a given account for fraud detection.
  11. Simply counting transactions, credit card transactions on a given account for fraud detection.
  12. Simply counting transactions, credit card transactions on a given account for fraud detection.
  13. Simply counting transactions, credit card transactions on a given account for fraud detection.