SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Global NoSQL Benchmark Framework:
Embracing Real-World Performance
Filipe Oliveira
Jan 10, 2024
Filipe Oliveira
Principal Performance Engineer at Redis
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Agenda
Latency is the new outgage
Market Expectations for Low-Latency Services
Benchmarking Real-World Scenarios
Market Expectations vs. Real-World Performance: A Reality Check
KEY TAKEAWAYS
Latency is the new outage!
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
What latency rates are actually
required to support near-term and
long-term use cases?
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
The market
demands!
Source:
5G Unlocks a World of Opportunities, HUAWEI
“Not only will operators need
to provide services (... )
efficiently,
but they will need to
commercialize those
services rapidly and
effectively.”
Click or Scan for full story
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
The market
demands!
Source:
5G Unlocks a World of Opportunities, HUAWEI
“Not only will operators need
to provide services (... )
efficiently,
but they will need to
commercialize those
services rapidly and
effectively.”
Click or Scan for full story
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
The market
demands!
Source:
5G Unlocks a World of Opportunities, HUAWEI
“Not only will operators need
to provide services (... )
efficiently,
but they will need to
commercialize those
services rapidly and
effectively.”
Click or Scan for full story
Market Expectations for Low-Latency
Services
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
The market
demands!
Source:
“Cutting Through the
Edge Computing Hype” interview data of 150
enterprises in North America, STL
Click or Scan for full story
Enterprises are
emphasizing…
CONSISTENCY OF
LATENCY
…as the most important SLA.
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Latency corridors distribution
Single-digit latency is now a thing!
Benchmarking real world scenarios!
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Our common benchmark scenarios
Heavily rely on
single-region
or
single-zone
abstractions…
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Benchmarking Real-World* Scenarios
EU (Paris)
eu-west-3
SA (São Paulo)
sa-east-1
US West (N. California)
us-west-1
Asia Pacific (Sidney)
ap-southeast-2
Asia Pacific (Tokyo)
ap-northeast-1
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Benchmarking Real-World* Scenarios
EU (Paris)
eu-west-3
SA (São Paulo)
sa-east-1
US West (N. California)
us-west-1
Asia Pacific (Sidney)
ap-southeast-2
Asia Pacific (Tokyo)
ap-northeast-1
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Operations
● You can easily add a DB
● Designed to map the ycsb
Read/Insert Signatures
● Control on Read
Preference
● Control on Write
Replication
// DB is the layer to access the database to be benchmarked.
type DB interface {
// Read reads a record from the database and returns a map of each field/value pair.
// table: The name of the table.
// key: The record key of the record to read.
// readPreference: route read operations to the primaries (0) or to the secondaries/replicas (1)
// fields: The list of fields to read, nil|empty for reading all.
Read(ctx context.Context, table string, key string, readPreference int64, fields []string)
(map[string][]byte, error)
// Insert inserts a record in the database. Any field/value pairs will be written into the
// database.
// table: The name of the table.
// key: The record key of the record to insert.
// numReplicas: number of replicas that acknowledged the insert.
// numReplicasTimeout: timeout in milliseconds to ack.
// values: A map of field/value pairs to insert in the record.
Insert(ctx context.Context, table string, key string, numReplicas int64, numReplicasTimeout
int64, values map[string][]byte) error
}
Click or Scan for benchmark repo
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Operations
● You can easily add a DB
● Designed to map the ycsb
Read/Insert Signatures
● Control on Read
Preference
● Control on Write
Replication
PRIMARY
EU (Paris)
eu-west-3
US West (N. Cal.)
us-west-1
REPLICA
EU (Paris)
eu-west-3
CLIENT EU
WRITE
READ
Case 1: route read operations to
the primaries (0)
Click or Scan for benchmark repo
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Operations
● You can easily add a DB
● Designed to map the ycsb
Read/Insert Signatures
● Control on Read
Preference
● Control on Write
Replication
PRIMARY
EU (Paris)
eu-west-3
US West (N. Cal.)
us-west-1
REPLICA
EU (Paris)
eu-west-3
CLIENT EU
WRITE
READ
Case 2: route read operations to
the replicas (1)
Click or Scan for benchmark repo
ASYNC
REPLICATION
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Operations
● You can easily add a DB
● Designed to map the ycsb
Read/Insert Signatures
● Control on Read
Preference
● Control on Write
Replication
PRIMARY
EU (Paris)
eu-west-3
US West (N. Cal.)
us-west-1
REPLICA
EU (Paris)
eu-west-3
CLIENT EU
WRITE
READ
Case 2: route read operations to
the replicas (1)
Click or Scan for benchmark repo
ASYNC
REPLICATION
HAS LAG!
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Operations
● You can easily add a DB
● Designed to map the ycsb
Read/Insert Signatures
● Control on Read
Preference
● Control on Write
Replication
PRIMARY
EU (Paris)
eu-west-3
US West (N. Cal.)
us-west-1
REPLICA
EU (Paris)
eu-west-3
CLIENT EU
1 WRITE
READ
Case 2: Control number of
replicas that acknowledged the
insert
DEFAULT: NO REPLICA ACK
Click or Scan for benchmark repo
2 WRITE ACK
ASYNC
REPLICATION
HAS LAG!
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Operations
● You can easily add a DB
● Designed to map the ycsb
Read/Insert Signatures
● Control on Read
Preference
● Control on Write
Replication
PRIMARY
EU (Paris)
eu-west-3
US West (N. Cal.)
us-west-1
REPLICA
EU (Paris)
eu-west-3
CLIENT EU
1 WRITE
READ
2 REPLICATION
Click or Scan for benchmark repo
3 REPL ACK
4 WRITE ACK
Case 3: Control number of
replicas that acknowledged the
insert
1 REPLICA ACK
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Setup
5 DB Locations
● Primary: US West (California)
● 4 Replicas: Paris, Sao Paulo,
Sidney, Tokyo
● OSS Redis version 7.2.4
5 Benchmark Locations
● California, Paris, Sao Paulo,
Sidney, Tokyo
Traffic always stays on the global AWS
backbone and never traverses the
public internet.
Click or Scan for benchmark repo
Deploy Infrastructure:
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Setup
5 DB Locations
● Primary: US West (California)
● 4 Replicas: Paris, Sao Paulo,
Sidney, Tokyo
● OSS Redis version 7.2.4
5 Benchmark Locations
● California, Paris, Sao Paulo,
Sidney, Tokyo
Traffic always stays on the global AWS
backbone and never traverses the
public internet.
Click or Scan for benchmark repo
Benchmark utility installation:
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Setup
5 DB Locations
● Primary: US West (California)
● 4 Replicas: Paris, Sao Paulo,
Sidney, Tokyo
● OSS Redis version 7.2.4
5 Benchmark Locations
● California, Paris, Sao Paulo,
Sidney, Tokyo
Traffic always stays on the global AWS
backbone and never traverses the
public internet.
Click or Scan for benchmark repo
Benchmark utility prebuilt bins:
OS Arch Link
Linux amd64 (64-bit X86) global-nosql-benchmark-linux-amd64
Linux arm64 (64-bit ARM) global-nosql-benchmark-linux-arm64
Darwin amd64 (64-bit X86) global-nosql-benchmark-darwin-amd64
Darwin arm64 (64-bit ARM) global-nosql-benchmark-darwin-arm64
Windows amd64 (64-bit X86) global-nosql-benchmark-darwin-amd64
Windows arm64 (64-bit ARM) global-nosql-benchmark-darwin-arm64
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Setup
5 DB Locations
● Primary: US West (California)
● 4 Replicas: Paris, Sao Paulo,
Sidney, Tokyo
● OSS Redis version 7.2.4
5 Benchmark Locations
● California, Paris, Sao Paulo,
Sidney, Tokyo
Traffic always stays on the global AWS
backbone and never traverses the
public internet.
Click or Scan for benchmark repo
5x Benchmark Agents:
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Setup
5 DB Locations
● Primary: US West (California)
● 4 Replicas: Paris, São Paulo,
Sidney, Tokyo
● OSS Redis version 7.2.4
5 Benchmark Locations
● California, Paris, São Paulo,
Sidney, Tokyo
Traffic always stays on the global AWS
backbone and never traverses the
public internet.
Click or Scan for benchmark repo
1x Benchmark Coordinator:
Expectations vs Real World
Measurements: A Reality Check
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 1: route
read operations
to the primaries
● Latencies on primary are
single digit
● Primary vs Replica Regions
> 130X difference
○ ON global AWS
backbone
● P50 46% variance even on
Replica Regions
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 1: route
read operations
to the primaries
● Latencies on primary are
single digit
● Primary vs Replica Regions
> 130X difference
○ ON global AWS
backbone
● P50 46% variance even on
Replica Regions
● Physical distance does
NOT explain all 141.55 ms 173.74 ms 138.96 ms 108.55 ms
1 Month p50 Latency between
N.California Regio and..
Physical distance between
N.California and… 8,892 km 10,141 km 12,118 km 8,551 km
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 1: route
read operations
to the primaries
● Latencies on primary are
single digit
● Primary vs Replica Regions
> 130X difference
○ ON global AWS
backbone
● P50 46% variance even on
Replica Regions
● P99 14% variance even on
Replica Regions
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 1: route
read operations
to the primaries
● Latencies on primary are
single digit
● Primary vs Replica Regions
> 130X difference
○ ON global AWS
backbone
● P50 46% variance even on
Replica Regions
● P99 14% variance even on
Replica Regions
● READS similar to WRITES
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
46%
P50 variance
solely between Replica Regions
130x
Diff Primary vs Replica
Regions even on AWS
only backbones
READS =
WRITES
Case 1 by the numbers
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 2: route
read operations
to the replicas
● Reads Latencies are single
digit (*might be stall)
● READ vs WRITE > 130X
difference
○ ON global AWS
backbone
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Single Digit
Latency on
Local Reads
130x
Diff READ vs WRITE
even on AWS only
backbones
STALLED
READS
Case 2 by the numbers
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 3: route
read operations
to the replicas
and ACK Inserts
● Reads Latencies are single
digit (*might be stall)
● 0 ACK is same as case 2
● 1 ACK
○ we get 87% Insert
latency Increase
○ Primary WRITE
Latency == Replica
WRITE Latency
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Case 3: route
read operations
to the replicas
and ACK Inserts
● Reads Latencies are single
digit (*might be stall)
● 0 ACK is same as case 2
● 3 ACK
○ we get 2.2x Insert
latency Increase
○ Write Latencies
converge to worst
link performance
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Consistent**
READS
>500x
Diff READ vs WRITE
even on AWS only
backbones
WORST LINK
DICTATES
WRITE
PERFORMANCE
Case 3 by the numbers
KEY TAKEAWAYS…
Is this a problem?
It depends…
Goal: Planet wide performance…
Read Consistency
vs Write Performance
READ:WRITE
patterns
Writes need
to be local?
We’ve discussed Planet wide Primary-Replica
performance…
Read Consistency
vs Write Performance
READ:WRITE
patterns
Writes need
to be local?
There are others
Planet wide
Consensus
Primary
Replica
Multi-Master
(with conflict
resolution)
NO DIVERGENCE ON PERFORMANCE but
towards worst case
Reads and Writes are Local but can be
divergence
In Summary
In Summary
Reliable world scale systems… require
trade-offs between consistency and
availability… and deeply affect
performance
Follow up links
● CRDTs and Redis
● Diving into CRDTs
● Active-Active Geo-Distribution
Now Generally Available in Azure
Cache for Redis Enterprise
Thank you.

Contenu connexe

Similaire à Global NOSQL Benchmark :: DB Community Meetup Jan 10, 2024

2008-12-2 System z Partners Field Call
2008-12-2 System z Partners Field Call2008-12-2 System z Partners Field Call
2008-12-2 System z Partners Field CallShawn Wells
 
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...Andrei Kholodnyi
 
A Single Platform to Run All The Things - Kubernetes for the Enterprise - London
A Single Platform to Run All The Things - Kubernetes for the Enterprise - LondonA Single Platform to Run All The Things - Kubernetes for the Enterprise - London
A Single Platform to Run All The Things - Kubernetes for the Enterprise - LondonVMware Tanzu
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinarAerospike, Inc.
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOpsShaun Smith
 
Red Hat for Power Systems IBM Enterprise2014 Las Vegas
Red Hat for Power Systems IBM Enterprise2014 Las VegasRed Hat for Power Systems IBM Enterprise2014 Las Vegas
Red Hat for Power Systems IBM Enterprise2014 Las VegasFilipe Miranda
 
CMG 2024 - Performance Testing, Profiling, and Analysis at Redis
CMG 2024 - Performance Testing, Profiling, and Analysis at RedisCMG 2024 - Performance Testing, Profiling, and Analysis at Redis
CMG 2024 - Performance Testing, Profiling, and Analysis at RedisFilipe Oliveira
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksAmazon Web Services
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...Docker, Inc.
 
The role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsThe role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsAerospike, Inc.
 
Перехват функций (хуки) под Windows в приложениях с помощью C/C++
Перехват функций (хуки) под Windows в приложениях с помощью C/C++Перехват функций (хуки) под Windows в приложениях с помощью C/C++
Перехват функций (хуки) под Windows в приложениях с помощью C/C++corehard_by
 
Red Hat for IBM System z IBM Enterprise2014 Las Vegas
Red Hat for IBM System z IBM Enterprise2014 Las Vegas Red Hat for IBM System z IBM Enterprise2014 Las Vegas
Red Hat for IBM System z IBM Enterprise2014 Las Vegas Filipe Miranda
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentEDB
 
z/OS V2R2 Communications Server Overview
z/OS V2R2 Communications Server Overviewz/OS V2R2 Communications Server Overview
z/OS V2R2 Communications Server OverviewzOSCommserver
 
Software Define your Current Storage with Opensource
Software Define your Current Storage with OpensourceSoftware Define your Current Storage with Opensource
Software Define your Current Storage with OpensourceAntonio Romeo
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2Amazon Web Services
 
From Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the UnexpectedFrom Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the UnexpectedDataCore Software
 

Similaire à Global NOSQL Benchmark :: DB Community Meetup Jan 10, 2024 (20)

U2 Replication for HADR
U2 Replication for HADRU2 Replication for HADR
U2 Replication for HADR
 
2008-12-2 System z Partners Field Call
2008-12-2 System z Partners Field Call2008-12-2 System z Partners Field Call
2008-12-2 System z Partners Field Call
 
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
 
A Single Platform to Run All The Things - Kubernetes for the Enterprise - London
A Single Platform to Run All The Things - Kubernetes for the Enterprise - LondonA Single Platform to Run All The Things - Kubernetes for the Enterprise - London
A Single Platform to Run All The Things - Kubernetes for the Enterprise - London
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOps
 
Red Hat for Power Systems IBM Enterprise2014 Las Vegas
Red Hat for Power Systems IBM Enterprise2014 Las VegasRed Hat for Power Systems IBM Enterprise2014 Las Vegas
Red Hat for Power Systems IBM Enterprise2014 Las Vegas
 
CMG 2024 - Performance Testing, Profiling, and Analysis at Redis
CMG 2024 - Performance Testing, Profiling, and Analysis at RedisCMG 2024 - Performance Testing, Profiling, and Analysis at Redis
CMG 2024 - Performance Testing, Profiling, and Analysis at Redis
 
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech TalksRunning Kubernetes with Amazon EKS - AWS Online Tech Talks
Running Kubernetes with Amazon EKS - AWS Online Tech Talks
 
Open j9 jdk on RISC-V
Open j9 jdk on RISC-VOpen j9 jdk on RISC-V
Open j9 jdk on RISC-V
 
AWS re:Invent recap
AWS re:Invent recapAWS re:Invent recap
AWS re:Invent recap
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
 
The role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsThe role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial Informatics
 
Перехват функций (хуки) под Windows в приложениях с помощью C/C++
Перехват функций (хуки) под Windows в приложениях с помощью C/C++Перехват функций (хуки) под Windows в приложениях с помощью C/C++
Перехват функций (хуки) под Windows в приложениях с помощью C/C++
 
Red Hat for IBM System z IBM Enterprise2014 Las Vegas
Red Hat for IBM System z IBM Enterprise2014 Las Vegas Red Hat for IBM System z IBM Enterprise2014 Las Vegas
Red Hat for IBM System z IBM Enterprise2014 Las Vegas
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres Deployment
 
z/OS V2R2 Communications Server Overview
z/OS V2R2 Communications Server Overviewz/OS V2R2 Communications Server Overview
z/OS V2R2 Communications Server Overview
 
Software Define your Current Storage with Opensource
Software Define your Current Storage with OpensourceSoftware Define your Current Storage with Opensource
Software Define your Current Storage with Opensource
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2
 
From Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the UnexpectedFrom Disaster to Recovery: Preparing Your IT for the Unexpected
From Disaster to Recovery: Preparing Your IT for the Unexpected
 

Dernier

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Dernier (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Global NOSQL Benchmark :: DB Community Meetup Jan 10, 2024

  • 1. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Global NoSQL Benchmark Framework: Embracing Real-World Performance Filipe Oliveira Jan 10, 2024
  • 3. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Agenda Latency is the new outgage Market Expectations for Low-Latency Services Benchmarking Real-World Scenarios Market Expectations vs. Real-World Performance: A Reality Check KEY TAKEAWAYS
  • 4. Latency is the new outage!
  • 5. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) What latency rates are actually required to support near-term and long-term use cases?
  • 6. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) The market demands! Source: 5G Unlocks a World of Opportunities, HUAWEI “Not only will operators need to provide services (... ) efficiently, but they will need to commercialize those services rapidly and effectively.” Click or Scan for full story
  • 7. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) The market demands! Source: 5G Unlocks a World of Opportunities, HUAWEI “Not only will operators need to provide services (... ) efficiently, but they will need to commercialize those services rapidly and effectively.” Click or Scan for full story
  • 8. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) The market demands! Source: 5G Unlocks a World of Opportunities, HUAWEI “Not only will operators need to provide services (... ) efficiently, but they will need to commercialize those services rapidly and effectively.” Click or Scan for full story
  • 9. Market Expectations for Low-Latency Services
  • 10. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) The market demands! Source: “Cutting Through the Edge Computing Hype” interview data of 150 enterprises in North America, STL Click or Scan for full story Enterprises are emphasizing… CONSISTENCY OF LATENCY …as the most important SLA.
  • 11. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Latency corridors distribution Single-digit latency is now a thing!
  • 13. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Our common benchmark scenarios Heavily rely on single-region or single-zone abstractions…
  • 14. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Benchmarking Real-World* Scenarios EU (Paris) eu-west-3 SA (São Paulo) sa-east-1 US West (N. California) us-west-1 Asia Pacific (Sidney) ap-southeast-2 Asia Pacific (Tokyo) ap-northeast-1
  • 15. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Benchmarking Real-World* Scenarios EU (Paris) eu-west-3 SA (São Paulo) sa-east-1 US West (N. California) us-west-1 Asia Pacific (Sidney) ap-southeast-2 Asia Pacific (Tokyo) ap-northeast-1
  • 16. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Operations ● You can easily add a DB ● Designed to map the ycsb Read/Insert Signatures ● Control on Read Preference ● Control on Write Replication // DB is the layer to access the database to be benchmarked. type DB interface { // Read reads a record from the database and returns a map of each field/value pair. // table: The name of the table. // key: The record key of the record to read. // readPreference: route read operations to the primaries (0) or to the secondaries/replicas (1) // fields: The list of fields to read, nil|empty for reading all. Read(ctx context.Context, table string, key string, readPreference int64, fields []string) (map[string][]byte, error) // Insert inserts a record in the database. Any field/value pairs will be written into the // database. // table: The name of the table. // key: The record key of the record to insert. // numReplicas: number of replicas that acknowledged the insert. // numReplicasTimeout: timeout in milliseconds to ack. // values: A map of field/value pairs to insert in the record. Insert(ctx context.Context, table string, key string, numReplicas int64, numReplicasTimeout int64, values map[string][]byte) error } Click or Scan for benchmark repo
  • 17. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Operations ● You can easily add a DB ● Designed to map the ycsb Read/Insert Signatures ● Control on Read Preference ● Control on Write Replication PRIMARY EU (Paris) eu-west-3 US West (N. Cal.) us-west-1 REPLICA EU (Paris) eu-west-3 CLIENT EU WRITE READ Case 1: route read operations to the primaries (0) Click or Scan for benchmark repo
  • 18. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Operations ● You can easily add a DB ● Designed to map the ycsb Read/Insert Signatures ● Control on Read Preference ● Control on Write Replication PRIMARY EU (Paris) eu-west-3 US West (N. Cal.) us-west-1 REPLICA EU (Paris) eu-west-3 CLIENT EU WRITE READ Case 2: route read operations to the replicas (1) Click or Scan for benchmark repo ASYNC REPLICATION
  • 19. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Operations ● You can easily add a DB ● Designed to map the ycsb Read/Insert Signatures ● Control on Read Preference ● Control on Write Replication PRIMARY EU (Paris) eu-west-3 US West (N. Cal.) us-west-1 REPLICA EU (Paris) eu-west-3 CLIENT EU WRITE READ Case 2: route read operations to the replicas (1) Click or Scan for benchmark repo ASYNC REPLICATION HAS LAG!
  • 20. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Operations ● You can easily add a DB ● Designed to map the ycsb Read/Insert Signatures ● Control on Read Preference ● Control on Write Replication PRIMARY EU (Paris) eu-west-3 US West (N. Cal.) us-west-1 REPLICA EU (Paris) eu-west-3 CLIENT EU 1 WRITE READ Case 2: Control number of replicas that acknowledged the insert DEFAULT: NO REPLICA ACK Click or Scan for benchmark repo 2 WRITE ACK ASYNC REPLICATION HAS LAG!
  • 21. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Operations ● You can easily add a DB ● Designed to map the ycsb Read/Insert Signatures ● Control on Read Preference ● Control on Write Replication PRIMARY EU (Paris) eu-west-3 US West (N. Cal.) us-west-1 REPLICA EU (Paris) eu-west-3 CLIENT EU 1 WRITE READ 2 REPLICATION Click or Scan for benchmark repo 3 REPL ACK 4 WRITE ACK Case 3: Control number of replicas that acknowledged the insert 1 REPLICA ACK
  • 22. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Setup 5 DB Locations ● Primary: US West (California) ● 4 Replicas: Paris, Sao Paulo, Sidney, Tokyo ● OSS Redis version 7.2.4 5 Benchmark Locations ● California, Paris, Sao Paulo, Sidney, Tokyo Traffic always stays on the global AWS backbone and never traverses the public internet. Click or Scan for benchmark repo Deploy Infrastructure:
  • 23. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Setup 5 DB Locations ● Primary: US West (California) ● 4 Replicas: Paris, Sao Paulo, Sidney, Tokyo ● OSS Redis version 7.2.4 5 Benchmark Locations ● California, Paris, Sao Paulo, Sidney, Tokyo Traffic always stays on the global AWS backbone and never traverses the public internet. Click or Scan for benchmark repo Benchmark utility installation:
  • 24. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Setup 5 DB Locations ● Primary: US West (California) ● 4 Replicas: Paris, Sao Paulo, Sidney, Tokyo ● OSS Redis version 7.2.4 5 Benchmark Locations ● California, Paris, Sao Paulo, Sidney, Tokyo Traffic always stays on the global AWS backbone and never traverses the public internet. Click or Scan for benchmark repo Benchmark utility prebuilt bins: OS Arch Link Linux amd64 (64-bit X86) global-nosql-benchmark-linux-amd64 Linux arm64 (64-bit ARM) global-nosql-benchmark-linux-arm64 Darwin amd64 (64-bit X86) global-nosql-benchmark-darwin-amd64 Darwin arm64 (64-bit ARM) global-nosql-benchmark-darwin-arm64 Windows amd64 (64-bit X86) global-nosql-benchmark-darwin-amd64 Windows arm64 (64-bit ARM) global-nosql-benchmark-darwin-arm64
  • 25. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Setup 5 DB Locations ● Primary: US West (California) ● 4 Replicas: Paris, Sao Paulo, Sidney, Tokyo ● OSS Redis version 7.2.4 5 Benchmark Locations ● California, Paris, Sao Paulo, Sidney, Tokyo Traffic always stays on the global AWS backbone and never traverses the public internet. Click or Scan for benchmark repo 5x Benchmark Agents:
  • 26. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Setup 5 DB Locations ● Primary: US West (California) ● 4 Replicas: Paris, São Paulo, Sidney, Tokyo ● OSS Redis version 7.2.4 5 Benchmark Locations ● California, Paris, São Paulo, Sidney, Tokyo Traffic always stays on the global AWS backbone and never traverses the public internet. Click or Scan for benchmark repo 1x Benchmark Coordinator:
  • 27. Expectations vs Real World Measurements: A Reality Check
  • 28. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 1: route read operations to the primaries ● Latencies on primary are single digit ● Primary vs Replica Regions > 130X difference ○ ON global AWS backbone ● P50 46% variance even on Replica Regions
  • 29. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 1: route read operations to the primaries ● Latencies on primary are single digit ● Primary vs Replica Regions > 130X difference ○ ON global AWS backbone ● P50 46% variance even on Replica Regions ● Physical distance does NOT explain all 141.55 ms 173.74 ms 138.96 ms 108.55 ms 1 Month p50 Latency between N.California Regio and.. Physical distance between N.California and… 8,892 km 10,141 km 12,118 km 8,551 km
  • 30. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 1: route read operations to the primaries ● Latencies on primary are single digit ● Primary vs Replica Regions > 130X difference ○ ON global AWS backbone ● P50 46% variance even on Replica Regions ● P99 14% variance even on Replica Regions
  • 31. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 1: route read operations to the primaries ● Latencies on primary are single digit ● Primary vs Replica Regions > 130X difference ○ ON global AWS backbone ● P50 46% variance even on Replica Regions ● P99 14% variance even on Replica Regions ● READS similar to WRITES
  • 32. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) 46% P50 variance solely between Replica Regions 130x Diff Primary vs Replica Regions even on AWS only backbones READS = WRITES Case 1 by the numbers
  • 33. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 2: route read operations to the replicas ● Reads Latencies are single digit (*might be stall) ● READ vs WRITE > 130X difference ○ ON global AWS backbone
  • 34. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Single Digit Latency on Local Reads 130x Diff READ vs WRITE even on AWS only backbones STALLED READS Case 2 by the numbers
  • 35. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 3: route read operations to the replicas and ACK Inserts ● Reads Latencies are single digit (*might be stall) ● 0 ACK is same as case 2 ● 1 ACK ○ we get 87% Insert latency Increase ○ Primary WRITE Latency == Replica WRITE Latency
  • 36. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Case 3: route read operations to the replicas and ACK Inserts ● Reads Latencies are single digit (*might be stall) ● 0 ACK is same as case 2 ● 3 ACK ○ we get 2.2x Insert latency Increase ○ Write Latencies converge to worst link performance
  • 37. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Consistent** READS >500x Diff READ vs WRITE even on AWS only backbones WORST LINK DICTATES WRITE PERFORMANCE Case 3 by the numbers
  • 39. Is this a problem?
  • 41. Goal: Planet wide performance… Read Consistency vs Write Performance READ:WRITE patterns Writes need to be local?
  • 42. We’ve discussed Planet wide Primary-Replica performance… Read Consistency vs Write Performance READ:WRITE patterns Writes need to be local?
  • 43. There are others Planet wide Consensus Primary Replica Multi-Master (with conflict resolution) NO DIVERGENCE ON PERFORMANCE but towards worst case Reads and Writes are Local but can be divergence
  • 45. In Summary Reliable world scale systems… require trade-offs between consistency and availability… and deeply affect performance
  • 46. Follow up links ● CRDTs and Redis ● Diving into CRDTs ● Active-Active Geo-Distribution Now Generally Available in Azure Cache for Redis Enterprise