SlideShare a Scribd company logo
1 of 71
Download to read offline
1© 2019 All rights reserved.
Distributed SQL Databases
Deconstructed
Understanding Amazon Aurora, Google Spanner & the Spanner Derivatives
2© 2019 All rights reserved.
Introduction

Amey Banarse
Principal Data Architect, YugabyteDB
♦ Pivotal ♦ FINRA
University of Pennsylvania
@ameybanarse
http://about.me/amey
3© 2019 All rights reserved.
Types of Data Stores
Today’s Focus
OLAP OLTP
Write once, Read many
Few concurrent sessions
Long running, ad-hoc queries
Large table scans
Petabyte-scale data storage
Mixed reads & writes
Many concurrent sessions
Single-digit ms query latency
Point reads & short-range scans
Terabyte-scale data storage
4© 2019 All rights reserved.
Today’s Focus
Types of Data Stores
Open Source
Proprietary
OLAP OLTP
NoSQL SQL SQLNoSQL
Google
BigTable
Amazon
Aurora
Google
Spanner
Google
BigQuery
5© 2019 All rights reserved.
Why Devs 😍 SQL?
1. Query Flexibility 💪
– Model data once, change queries as business changes
– Balance modeling richness with performance needs
2. Rich Ecosystem 🔌
– Data modeling & query examples
– Developer IDEs & data visualization tools
– Easy to reuse & build integrations
3. Universal Standard for Data Access 😇
– Learn once, use forever
6© 2019 All rights reserved.
Why Devs 😡 SQL?
1. Large Dataset? 📈
– No horizontal write scalability
– Use manually sharded SQL or non-transactional NoSQL
2. Infrastructure Failures? 🚨
– No native failover & repair, SPOF w/ Single Node DB
– Use complex replication schemes
3. Multi-Region/Geo-Distributed App? 🌏
– Multi-master deployment is the only option
– Data inconsistency w/ Last Writer Wins (LWW) conflict
resolution
7© 2019 All rights reserved.
Distributed SQL = Keep 😍 & Remove 😡
1. SQL Features
– ACID, JOINs, foreign keys, serializable isolation
2. Horizontal Write Scalability
– Scale write throughput by adding/removing nodes
3. Fault Tolerance With High Availability
– Native failover & repair
4. Globally Consistent Writes
– Lower end user latency and tolerate region failures
5. Low Read Latency
– Strongly consistent (aka correct) reads
8© 2019 All rights reserved.
What’s the fastest growing
service in AWS?
9© 2019 All rights reserved.
Amazon Aurora
https://www.allthingsdistributed.com/2019/03/Amazon-Aurora-design-cloud-native-relational-database.html
10© 2019 All rights reserved.
Excerpts from Vogels blog post
https://www.allthingsdistributed.com/2019/03/Amazon-Aurora-design-cloud-native-relational-database.html
11© 2019 All rights reserved.
What database powers
Google AdWords and Google Play?
12© 2019 All rights reserved.
“At Google, Spanner supports tens of millions of queries per
second and runs some of our most critical services, including
AdWords and Google Play.”
https://ai.google/research/pubs/pub39966
Google Cloud Spanner
13© 2019 All rights reserved.
Distributed SQL Architectures - Aurora vs Spanner
Amazon Aurora Google Cloud Spanner
“A highly available MySQL and
PostgreSQL-compatible relational database service”
Available on AWS since 2015
“The first horizontally scalable, strongly consistent,
relational database service”
Available on Google Cloud since 2017
Shared Storage Shared Nothing
14© 2019 All rights reserved.
#1 SQL Features and
Completeness
15© 2019 All rights reserved.
Depth of SQL Support
✓ MySQL and PostgreSQL-compatible Subset of MySQL/PostgreSQL features
Amazon Aurora
Google Cloud
Spanner
https://cloud.google.com/spanner/docs/migrating-p
ostgres-spanner
16© 2019 All rights reserved.
Aurora vs Spanner
Feature Amazon Aurora Google Spanner
SQL Features ✓
Horizontal Write Scalability ✓
Fault Tolerance with HA ✓
Globally Consistent Writes ✓
Low Read Latency
17© 2019 All rights reserved.
#2 Horizontal Write Scalability
18© 2019 All rights reserved.
Amazon Aurora
Single Node SQL on Multi-Zone Distributed Storage
SQL APP
INSERT ROW
❌ Add Primary Instances for Write Scaling
✓ Add Read Replicas for Read Scaling
19© 2019 All rights reserved.
Google Spanner
Multi-Node SQL on Multi-Region Distributed Storage
SQL APP
INSERT ROW3
✓ Add Primary Instances for Write Scaling
✓ Add Read Replicas for Read Scaling
INSERT ROW1
20© 2019 All rights reserved.
Aurora vs Spanner
Feature Amazon Aurora Google Spanner
SQL Features ✓
Horizontal Write Scalability ❌ ✓
Fault Tolerance with HA
Globally Consistent Writes
Low Read Latency
21© 2019 All rights reserved.
#3 Fault Tolerance with HA
22© 2019 All rights reserved.
Amazon Aurora
Native Failover & Repair Through Primary Auto Election
SQL APP
✓ HA When Primary Instance
Fails
✓ HA When Read Replica Fails
INSERT ROW
23© 2019 All rights reserved.
Google Spanner
Native Failover & Repair Through Shard Leader Auto Election
SQL APP
INSERT ROW1
✓ HA When Any Primary Node
Fails
✓ HA When Read Replica Fails
INSERT ROW3
24© 2019 All rights reserved.
Aurora vs Spanner
Feature Amazon Aurora Google Spanner
SQL Features ✓
Horizontal Write Scalability ❌ ✓
Fault Tolerance with HA ✓ ✓
Globally Consistent Writes
Low Read Latency
25© 2019 All rights reserved.
#4 Global Write Consistency
26© 2019 All rights reserved.
Amazon Aurora
Multi-Master Last Writer Wins Conflict Resolution Leads to Inconsistencies
SQL APP
SET BALANCE = BALANCE - 10
SQL APP
SET BALANCE = BALANCE - 100
Asynchronous
Replication
Region 1 Region 2
27© 2019 All rights reserved.
Google Spanner
Purpose-Built for Globally Consistent Writes
SQL APP
SET BALANCE =
BALANCE - 10
SQL APP
SET BALANCE =
BALANCE - 100
28© 2019 All rights reserved.
Aurora vs Spanner
Feature Amazon Aurora Google Spanner
SQL Features ✓
Horizontal Write Scalability ❌ ✓
Fault Tolerance with HA ✓ ✓
Globally Consistent Writes ❌ ✓
Low Read Latency
29© 2019 All rights reserved.
#5 Low Read Latency
30© 2019 All rights reserved.
Amazon Aurora
Strongly Consistent Reads Served By Primary Instance
SQL APP
READ ROW
31© 2019 All rights reserved.
Google Spanner
Strongly Consistent Reads Served By Shard Leaders w/o Read Quorum
SQL APP
READ ROW1
32© 2019 All rights reserved.
Aurora vs Spanner
Feature Amazon Aurora Google Spanner
SQL Features ✓
Horizontal Write Scalability ❌ ✓
Fault Tolerance with HA ✓ ✓
Global Write Consistency ❌ ✓
Low Read Latency ✓ ✓
33© 2019 All rights reserved.
Battle of Architectures - Spanner Beats Aurora
No Performance & Availability Bottlenecks
Scale to Large Clusters while Remaining Highly Available
Built for Geo-Distributed Apps
Future Proofs Data Tier at Global Businesses
Complex to Engineer
Needs Clock Skew Tracking Across Instances
34© 2019 All rights reserved.
Analyzing Open Source
Spanner Inspired
Derivatives
35© 2019 All rights reserved.
Spanner Brought to Life in Open Source
36© 2019 All rights reserved.
YugabyteDB Design Principles
• CP in CAP Theorem
• Consistent
• Partition Tolerant
• HA on failures
(new leader elected in seconds)
• ACID Transactions
• Single-row linearizability
• Multi-row ACID
• Serializable & Snapshot
• No bottlenecks even for geo-distributed rows
• High Performance
• All layers in C++ to ensure high perf
• Run on large memory machines
• Optimized for SSDs
• Deploy Anywhere
• No IaaS specific dependencies
• No atomic clocks
• Bare metal, VM and Kubernetes
37© 2019 All rights reserved.
Design Follows a Layered Approach
tablet 1’
tablet 1’
tablet 1’
Self-Healing, Fault-Tolerant
Auto Sharding & Rebalancing
ACID Transactions
Global Data Distribution
High Throughput, Low Latency
YCQL
SQL-Based Flexible Schema API
YSQL
Globally Distributed Postgres API
38© 2019 All rights reserved.
YugabyteDB Architecture
Design Goals
✓ Highly scalable & resilient
✓ Transactional - strong consistency
✓ All layers in C++ for high performance
✓ No dependencies on external systems
✓ Cloud-native – online re-configuration
API Goals
✓ Multi-model
✓ Start with well known APIs
✓ Extend to fill functionality gaps
✓ APIs supported
● PostgreSQL-compatible YSQL
● Cassandra Query Language-compatible YCQL
41© 2019 All rights reserved.
YugabyteDB Deployment Topologies
42© 2019 All rights reserved.
Distributed SQL = Keep 😍 & Remove 😡
1. SQL Completeness and Features
2. Replication Protocol
3. Clock Skew Tracking
4. Geo-Distributed Transactions
43© 2019 All rights reserved.
Spanner vs. its Open Source Derivatives
Feature Google Spanner YugabyteDB CockroachDB TiDB
Cost Expensive Free Free Free
SQL API Compatibility
Replication Protocol
Clock Skew Tracking
Geo-Distributed Txns
Tunable Read Latency
44© 2019 All rights reserved.
SQL API Compatibility
45© 2019 All rights reserved.
PostgreSQL Transformed into Distributed SQL
46© 2019 All rights reserved.
Depth of SQL Support - YugabyteDB
• SQL Features
• Data Types
• Referential Integrity (Foreign
Keys)
• Built-in Functions
• Expressions
• JSON Column Type
• Secondary Indexes
• JOINs
• Transactions
• Views
• Advanced SQL Features
• Partial Indexes
• Stored Procedures
• Triggers
• PG Extensions
47© 2019 All rights reserved.
Spanner vs. its Open Source Derivatives
Feature Google Spanner YugabyteDB CockroachDB TiDB
Cost Expensive Free Free + Proprietary Free
SQL API Compatibility Proprietary PostgreSQL PostgreSQL
No Stored Procedures
MySQL
No Foreign Keys
Replication Protocol
Clock Skew Tracking
Transaction Manager
Tunable Read Latency
48© 2019 All rights reserved.
Replication Protocol
49© 2019 All rights reserved.
Every Table is Automatically Sharded
tablet 1’
… … …
… … …
… … …
… … …
… … …
SHARDING = AUTOMATIC PARTITIONING OF TABLES
50© 2019 All rights reserved.
Replication Done at Shard Level
tablet 1’
Tablet Peer 1 on Node X
Tablet #1
Tablet Peer 2 on Node Y
Tablet Peer 3 on Node Z
51© 2019 All rights reserved.
Replication uses a Consensus algorithm
tablet 1’
Raft Leader
Uses Raft Algorithm
First elect Tablet Leader
52© 2019 All rights reserved.
Writes in Raft Consensus
tablet 1’
Raft Leader
Writes processed by leader:
Send writes to all peers
Wait for majority to ack
Write
53© 2019 All rights reserved.
Reads in Raft Consensus
tablet 1’
Raft Leader
Reads handled by leader
Uses Leader Leases* for
performance optimization
Read
*Leader Leases: https://blog.yugabyte.com/low-latency-reads-in-geo-distributed-sql-with-raft-leader-leases/
54© 2019 All rights reserved.
Spanner vs. its Open Source Derivatives
Feature Google Spanner YugabyteDB CockroachDB TiDB
Cost Expensive Free Free + Proprietary Free
SQL API Compatibility Proprietary PostgreSQL PostgreSQL
No Stored Procedures
MySQL
No Foreign Keys
Replication Protocol Paxos Raft Raft Raft
Clock Skew Tracking
Geo-Distributed Txns
Tunable Read Latency
55© 2019 All rights reserved.
Transactions and Clock Skew
Tracking
56© 2019 All rights reserved.
Multi-Shard Transactions
tablet 1’
k1 and k2 may belong to different shards
BEGIN TXN
UPDATE k1
UPDATE k2
COMMIT
Belong to different Raft groups on completely different nodes
57© 2019 All rights reserved.
What do Distributed Transactions need?
tablet 1’
Updates should get written at the same physical time
Raft Leader Raft Leader
BEGIN TXN
UPDATE k1
UPDATE k2
COMMIT
But how will nodes agree on time?
58© 2019 All rights reserved.
Use a Physical Clock
tablet 1’
You would need an Atomic Clock or two lying around
Atomic Clocks are highly available,
globally synchronized clocks with tight error bounds
Most of my physical clocks are never synchronized
Jeez! I’m fresh out of those.
59© 2019 All rights reserved.
Hybrid Logical Clock or HLC
tablet 1’
Combine coarsely-synchronized physical clocks with Lamport
Clocks to track causal relationships
(physical component, logical component)
synchronized using NTP a monotonic counter
Nodes update HLC on each Raft exchange for things like
heartbeats, leader election and data replication
60© 2019 All rights reserved.
Spanner vs. its Open Source Derivatives
Feature Google Spanner YugabyteDB CockroachDB TiDB
Cost Expensive Free Free + Proprietary Free
SQL API Compatibility Proprietary PostgreSQL PostgreSQL
No Stored Procedures
MySQL
No Foreign Keys
Replication Protocol Paxos Raft Raft Raft
Clock Skew Tracking
TrueTime Atomic
Clock
Hybrid Logical Clock +
Max Clock Skew
Hybrid Logical Clock
+ Max Clock Skew
Single Timestamp Gen
⇒ No Tracking Needed
Geo-Distributed Txns ✓ ✓ ✓
Not Recommended
Given Single (Region)
Timestamp Generator
Tunable Read Latency
61© 2019 All rights reserved.
Miscellaneous
62© 2019 All rights reserved.
Spanner vs. its Open Source Derivatives
Feature Google Spanner YugabyteDB CockroachDB TiDB
Cost Expensive Free Free + Proprietary Free
SQL API Compatibility Proprietary PostgreSQL PostgreSQL
No Stored Procedures
MySQL
No Foreign Keys
Replication Protocol Paxos Raft Raft Raft
Clock Skew Tracking
TrueTime Atomic
Clock
Hybrid Logical Clock +
Max Clock Skew
Hybrid Logical Clock +
Max Clock Skew
Single Timestamp Gen
⇒ No Tracking
Geo-Distributed Txns ✓ ✓ ✓
Not Recommended
Given Single (Region)
Timestamp Generator
Tunable Read Latency ✓ ✓ ❌ ❌
63© 2019 All rights reserved.
Read more at
blog.yugabyte.com
blog.yugabyte.com/distributed-postgresql-on-a-google-spanner-architecture-storage-layer
Storage Layer
blog.yugabyte.com/distributed-postgresql-on-a-google-spanner-architecture-query-layer
Query Layer
64© 2019 All rights reserved.
tablet 1’
www.distributedsql.org
65© 2019 All rights reserved.
Questions?
Join Slack Discussions
yugabyte.com/slack
Check out on GitHub
https://github.com/YugaByte/yugabyte-db
docs.yugabyte.com/quick-start
66© 2019 All rights reserved.
Relevant Research Publications
● Bigtable:
http://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf
● Spanner:
○ http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi20
12.pdf
● Megastore:
○ http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36971.pdf
● Raft algorithm
○ http://ramcloud.stanford.edu/raft.pdf
○ https://raft.gixthub.io/
○ http://openlife.cc/system/files/3-modifications-for-Raft-consensus.pdf
67© 2019 All rights reserved.
Relevant Research Publications
● David Alves, Todd Lipcon, Vijay Garg. Technical Report: HybridTime - Accessible Global
Consistency with High Clock Uncertainty.
http://pdsl.ece.utexas.edu/david/hybrid-time-tech-report-01.pdf
● Sandeep Kulkarni, Murat Demirbas, Deepak Madeppa, Bharadwaj Avva, and Marcelo Leone. Logical
Physical Clocks and Consistent Snapshots in Globally Distributed Databases.
http://www.cse.buffalo.edu/tech-reports/2014-04.pdf
● Michael J. Cahill, Uwe Röhm, Alan D. Fekete. Serializable Isolation for Snapshot Databases
(2008).
https://courses.cs.washington.edu/courses/cse444/08au/544M/READING-LIST/fekete-sigmod2008.p
df
● Murat Demirbas, Sandeep Kulkarni. Beyond TrueTime: Using AugmentedTime for Improving
Spanner.
http://www.cse.buffalo.edu/~demirbas/publications/augmentedTime.pdf
● Dahlia Malkhi Jean-Philippe Martin. Spanner’s Concurrency Control. (2) Ittay Eyal. Fault Tolerant
Transaction Architectures
https://www.cs.cornell.edu/~ie53/publications/DC-col51-Sep13.pdf
68© 2019 All rights reserved.
Relevant Research Publications
● Coordination Avoidance in Database Systems Peter Bailis, Alan Fekete, Michael J. Franklin, Ali Ghodsi,
Joseph M. Hellerstein, Ion Stoica http://www.bailis.org/papers/ca-vldb2015.pdf
● RocksDB - RocksDB: A High Performance Embedded Key-Value Store for Flash Storage - Data@Scale ,
https://www.youtube.com/watch?v=plqVp_OnSzg
● Schema-Agnostic Indexing with Azure DocumentDB (VLDB paper): paper describes the Microsoft
Azure’s DocumentDB capabilities, including document representation, query language, document
indexing approach, core index support, and early production experiences
● MergeOperator on RocksDB - https://github.com/facebook/rocksdb/wiki/Merge-Operator-Implementation
● Cluster scheduling blog post from cambridge:
http://www.cl.cam.ac.uk/research/srg/netos/camsas/blog/2016-03-09-scheduler-architectures.html
69© 2019 All rights reserved.
Questions?
Join Slack Discussions
yugabyte.com/slack
Check out on GitHub
https://github.com/YugaByte/yugabyte-db
docs.yugabyte.com/quick-start
70© 2019 All rights reserved.
Jepsen.io Testing
Jepsen is an effort to improve the safety of distributed
databases, queues, consensus systems, etc. led by
Kyle Kingsbury
“YugabyteDB now passes tests for snapshot isolation,
linearizable counters, sets, registers, and systems of
registers, as long as clocks are well-synchronized”
Jepsen YugaByteDB Analysis:
https://jepsen.io/analyses/yugabyte-db-1.1.9
71© 2019 All rights reserved.
Functional Architecture
DOCDB
Spanner-Inspired Distributed Document Store
CLOUD NEUTRAL
No Specialized Hardware Needed
YSQL
PostgreSQL-Compatible Distributed SQL API
tablet 1’
tablet 1’

More Related Content

What's hot

Introduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureIntroduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureDatabricks
 
Cloudera Impala Source Code Explanation and Analysis
Cloudera Impala Source Code Explanation and AnalysisCloudera Impala Source Code Explanation and Analysis
Cloudera Impala Source Code Explanation and AnalysisYue Chen
 
Making Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta LakeMaking Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta LakeDatabricks
 
Stl meetup cloudera platform - january 2020
Stl meetup   cloudera platform  - january 2020Stl meetup   cloudera platform  - january 2020
Stl meetup cloudera platform - january 2020Adam Doyle
 
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...Databricks
 
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar ZecevicDataScienceConferenc1
 
A Deep Dive into Kafka Controller
A Deep Dive into Kafka ControllerA Deep Dive into Kafka Controller
A Deep Dive into Kafka Controllerconfluent
 
Hadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the FieldHadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the FieldDataWorks Summit
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Oracle GoldenGate Roadmap Oracle OpenWorld 2020 Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Oracle GoldenGate Roadmap Oracle OpenWorld 2020 Oracle
 
Intro to Delta Lake
Intro to Delta LakeIntro to Delta Lake
Intro to Delta LakeDatabricks
 
Using Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series WorkloadsUsing Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series WorkloadsJeff Jirsa
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsAlluxio, Inc.
 
Building robust CDC pipeline with Apache Hudi and Debezium
Building robust CDC pipeline with Apache Hudi and DebeziumBuilding robust CDC pipeline with Apache Hudi and Debezium
Building robust CDC pipeline with Apache Hudi and DebeziumTathastu.ai
 
Streaming SQL with Apache Calcite
Streaming SQL with Apache CalciteStreaming SQL with Apache Calcite
Streaming SQL with Apache CalciteJulian Hyde
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
 
Databricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks
 
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
How to build a streaming Lakehouse with Flink, Kafka, and HudiHow to build a streaming Lakehouse with Flink, Kafka, and Hudi
How to build a streaming Lakehouse with Flink, Kafka, and HudiFlink Forward
 

What's hot (20)

Introduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureIntroduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse Architecture
 
Cloudera Impala Source Code Explanation and Analysis
Cloudera Impala Source Code Explanation and AnalysisCloudera Impala Source Code Explanation and Analysis
Cloudera Impala Source Code Explanation and Analysis
 
Making Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta LakeMaking Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta Lake
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Rds data lake @ Robinhood
Rds data lake @ Robinhood Rds data lake @ Robinhood
Rds data lake @ Robinhood
 
Stl meetup cloudera platform - january 2020
Stl meetup   cloudera platform  - january 2020Stl meetup   cloudera platform  - january 2020
Stl meetup cloudera platform - january 2020
 
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
 
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
[DSC Europe 22] Overview of the Databricks Platform - Petar Zecevic
 
A Deep Dive into Kafka Controller
A Deep Dive into Kafka ControllerA Deep Dive into Kafka Controller
A Deep Dive into Kafka Controller
 
Hadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the FieldHadoop Operations - Best Practices from the Field
Hadoop Operations - Best Practices from the Field
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Oracle GoldenGate Roadmap Oracle OpenWorld 2020 Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
 
Intro to Delta Lake
Intro to Delta LakeIntro to Delta Lake
Intro to Delta Lake
 
Using Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series WorkloadsUsing Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series Workloads
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic Datasets
 
Building robust CDC pipeline with Apache Hudi and Debezium
Building robust CDC pipeline with Apache Hudi and DebeziumBuilding robust CDC pipeline with Apache Hudi and Debezium
Building robust CDC pipeline with Apache Hudi and Debezium
 
Streaming SQL with Apache Calcite
Streaming SQL with Apache CalciteStreaming SQL with Apache Calcite
Streaming SQL with Apache Calcite
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 
Databricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks Delta Lake and Its Benefits
Databricks Delta Lake and Its Benefits
 
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
How to build a streaming Lakehouse with Flink, Kafka, and HudiHow to build a streaming Lakehouse with Flink, Kafka, and Hudi
How to build a streaming Lakehouse with Flink, Kafka, and Hudi
 

Similar to Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB

Serverless Databases - Amazon DynamoDB and Amazon Aurora Serverless - Demo
Serverless Databases - Amazon DynamoDB and Amazon Aurora Serverless - DemoServerless Databases - Amazon DynamoDB and Amazon Aurora Serverless - Demo
Serverless Databases - Amazon DynamoDB and Amazon Aurora Serverless - DemoAmazon Web Services
 
Migrate and Modernize Your Database
Migrate and Modernize Your DatabaseMigrate and Modernize Your Database
Migrate and Modernize Your DatabaseAmazon Web Services
 
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...Amazon Web Services
 
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...Amazon Web Services LATAM
 
Accelerate database development and testing with Amazon Aurora - ADB208 - New...
Accelerate database development and testing with Amazon Aurora - ADB208 - New...Accelerate database development and testing with Amazon Aurora - ADB208 - New...
Accelerate database development and testing with Amazon Aurora - ADB208 - New...Amazon Web Services
 
What's new in Amazon Aurora - ADB203 - Chicago AWS Summit
What's new in Amazon Aurora - ADB203 - Chicago AWS SummitWhat's new in Amazon Aurora - ADB203 - Chicago AWS Summit
What's new in Amazon Aurora - ADB203 - Chicago AWS SummitAmazon Web Services
 
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &MLAWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &MLAmazon Web Services
 
Build data-driven, high-performance, internet-scale applications with AWS dat...
Build data-driven, high-performance, internet-scale applications with AWS dat...Build data-driven, high-performance, internet-scale applications with AWS dat...
Build data-driven, high-performance, internet-scale applications with AWS dat...Amazon Web Services
 
Amazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration ServiceAmazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration ServiceAmazon Web Services
 
Advanced Database Patterns for Kubernetes
Advanced Database Patterns for KubernetesAdvanced Database Patterns for Kubernetes
Advanced Database Patterns for KubernetesEDB
 
Scale Up and Modernize Your Database with Amazon Relational Database Service ...
Scale Up and Modernize Your Database with Amazon Relational Database Service ...Scale Up and Modernize Your Database with Amazon Relational Database Service ...
Scale Up and Modernize Your Database with Amazon Relational Database Service ...Amazon Web Services
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February markghiasy
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016AdobeMarketingCloud
 
MySQL Technology Overview
MySQL Technology OverviewMySQL Technology Overview
MySQL Technology OverviewKeith Hollman
 
MongoDB @ Fiverr: The Road to Atlas
MongoDB @ Fiverr: The Road to AtlasMongoDB @ Fiverr: The Road to Atlas
MongoDB @ Fiverr: The Road to AtlasMongoDB
 
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018Amazon Web Services
 
What's new in Amazon Aurora - ADB207 - New York AWS Summit
What's new in Amazon Aurora - ADB207 - New York AWS SummitWhat's new in Amazon Aurora - ADB207 - New York AWS Summit
What's new in Amazon Aurora - ADB207 - New York AWS SummitAmazon Web Services
 

Similar to Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB (20)

Serverless Databases - Amazon DynamoDB and Amazon Aurora Serverless - Demo
Serverless Databases - Amazon DynamoDB and Amazon Aurora Serverless - DemoServerless Databases - Amazon DynamoDB and Amazon Aurora Serverless - Demo
Serverless Databases - Amazon DynamoDB and Amazon Aurora Serverless - Demo
 
Migrate and Modernize Your Database
Migrate and Modernize Your DatabaseMigrate and Modernize Your Database
Migrate and Modernize Your Database
 
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...
How-to-Choose-the-Right-Database-to-Build-High-Performance-Internet-Scale-App...
 
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
 
Accelerate database development and testing with Amazon Aurora - ADB208 - New...
Accelerate database development and testing with Amazon Aurora - ADB208 - New...Accelerate database development and testing with Amazon Aurora - ADB208 - New...
Accelerate database development and testing with Amazon Aurora - ADB208 - New...
 
What's new in Amazon Aurora - ADB203 - Chicago AWS Summit
What's new in Amazon Aurora - ADB203 - Chicago AWS SummitWhat's new in Amazon Aurora - ADB203 - Chicago AWS Summit
What's new in Amazon Aurora - ADB203 - Chicago AWS Summit
 
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &MLAWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
AWS re:Invent Comes to London 2019 - Database, Analytics, AI &ML
 
Build data-driven, high-performance, internet-scale applications with AWS dat...
Build data-driven, high-performance, internet-scale applications with AWS dat...Build data-driven, high-performance, internet-scale applications with AWS dat...
Build data-driven, high-performance, internet-scale applications with AWS dat...
 
Amazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration ServiceAmazon Aurora and AWS Database Migration Service
Amazon Aurora and AWS Database Migration Service
 
AWS Database Services @ Scale
AWS Database Services @ ScaleAWS Database Services @ Scale
AWS Database Services @ Scale
 
Advanced Database Patterns for Kubernetes
Advanced Database Patterns for KubernetesAdvanced Database Patterns for Kubernetes
Advanced Database Patterns for Kubernetes
 
Scale Up and Modernize Your Database with Amazon Relational Database Service ...
Scale Up and Modernize Your Database with Amazon Relational Database Service ...Scale Up and Modernize Your Database with Amazon Relational Database Service ...
Scale Up and Modernize Your Database with Amazon Relational Database Service ...
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
 
Amazon Aurora: Database Week SF
Amazon Aurora: Database Week SFAmazon Aurora: Database Week SF
Amazon Aurora: Database Week SF
 
MySQL Technology Overview
MySQL Technology OverviewMySQL Technology Overview
MySQL Technology Overview
 
MongoDB @ Fiverr: The Road to Atlas
MongoDB @ Fiverr: The Road to AtlasMongoDB @ Fiverr: The Road to Atlas
MongoDB @ Fiverr: The Road to Atlas
 
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
 
What's new in Amazon Aurora - ADB207 - New York AWS Summit
What's new in Amazon Aurora - ADB207 - New York AWS SummitWhat's new in Amazon Aurora - ADB207 - New York AWS Summit
What's new in Amazon Aurora - ADB207 - New York AWS Summit
 
Ibm db2 big sql
Ibm db2 big sqlIbm db2 big sql
Ibm db2 big sql
 

Recently uploaded

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsMonica Sydney
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptxAsmae Rabhi
 

Recently uploaded (20)

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 

Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB

  • 1. 1© 2019 All rights reserved. Distributed SQL Databases Deconstructed Understanding Amazon Aurora, Google Spanner & the Spanner Derivatives
  • 2. 2© 2019 All rights reserved. Introduction  Amey Banarse Principal Data Architect, YugabyteDB ♦ Pivotal ♦ FINRA University of Pennsylvania @ameybanarse http://about.me/amey
  • 3. 3© 2019 All rights reserved. Types of Data Stores Today’s Focus OLAP OLTP Write once, Read many Few concurrent sessions Long running, ad-hoc queries Large table scans Petabyte-scale data storage Mixed reads & writes Many concurrent sessions Single-digit ms query latency Point reads & short-range scans Terabyte-scale data storage
  • 4. 4© 2019 All rights reserved. Today’s Focus Types of Data Stores Open Source Proprietary OLAP OLTP NoSQL SQL SQLNoSQL Google BigTable Amazon Aurora Google Spanner Google BigQuery
  • 5. 5© 2019 All rights reserved. Why Devs 😍 SQL? 1. Query Flexibility 💪 – Model data once, change queries as business changes – Balance modeling richness with performance needs 2. Rich Ecosystem 🔌 – Data modeling & query examples – Developer IDEs & data visualization tools – Easy to reuse & build integrations 3. Universal Standard for Data Access 😇 – Learn once, use forever
  • 6. 6© 2019 All rights reserved. Why Devs 😡 SQL? 1. Large Dataset? 📈 – No horizontal write scalability – Use manually sharded SQL or non-transactional NoSQL 2. Infrastructure Failures? 🚨 – No native failover & repair, SPOF w/ Single Node DB – Use complex replication schemes 3. Multi-Region/Geo-Distributed App? 🌏 – Multi-master deployment is the only option – Data inconsistency w/ Last Writer Wins (LWW) conflict resolution
  • 7. 7© 2019 All rights reserved. Distributed SQL = Keep 😍 & Remove 😡 1. SQL Features – ACID, JOINs, foreign keys, serializable isolation 2. Horizontal Write Scalability – Scale write throughput by adding/removing nodes 3. Fault Tolerance With High Availability – Native failover & repair 4. Globally Consistent Writes – Lower end user latency and tolerate region failures 5. Low Read Latency – Strongly consistent (aka correct) reads
  • 8. 8© 2019 All rights reserved. What’s the fastest growing service in AWS?
  • 9. 9© 2019 All rights reserved. Amazon Aurora https://www.allthingsdistributed.com/2019/03/Amazon-Aurora-design-cloud-native-relational-database.html
  • 10. 10© 2019 All rights reserved. Excerpts from Vogels blog post https://www.allthingsdistributed.com/2019/03/Amazon-Aurora-design-cloud-native-relational-database.html
  • 11. 11© 2019 All rights reserved. What database powers Google AdWords and Google Play?
  • 12. 12© 2019 All rights reserved. “At Google, Spanner supports tens of millions of queries per second and runs some of our most critical services, including AdWords and Google Play.” https://ai.google/research/pubs/pub39966 Google Cloud Spanner
  • 13. 13© 2019 All rights reserved. Distributed SQL Architectures - Aurora vs Spanner Amazon Aurora Google Cloud Spanner “A highly available MySQL and PostgreSQL-compatible relational database service” Available on AWS since 2015 “The first horizontally scalable, strongly consistent, relational database service” Available on Google Cloud since 2017 Shared Storage Shared Nothing
  • 14. 14© 2019 All rights reserved. #1 SQL Features and Completeness
  • 15. 15© 2019 All rights reserved. Depth of SQL Support ✓ MySQL and PostgreSQL-compatible Subset of MySQL/PostgreSQL features Amazon Aurora Google Cloud Spanner https://cloud.google.com/spanner/docs/migrating-p ostgres-spanner
  • 16. 16© 2019 All rights reserved. Aurora vs Spanner Feature Amazon Aurora Google Spanner SQL Features ✓ Horizontal Write Scalability ✓ Fault Tolerance with HA ✓ Globally Consistent Writes ✓ Low Read Latency
  • 17. 17© 2019 All rights reserved. #2 Horizontal Write Scalability
  • 18. 18© 2019 All rights reserved. Amazon Aurora Single Node SQL on Multi-Zone Distributed Storage SQL APP INSERT ROW ❌ Add Primary Instances for Write Scaling ✓ Add Read Replicas for Read Scaling
  • 19. 19© 2019 All rights reserved. Google Spanner Multi-Node SQL on Multi-Region Distributed Storage SQL APP INSERT ROW3 ✓ Add Primary Instances for Write Scaling ✓ Add Read Replicas for Read Scaling INSERT ROW1
  • 20. 20© 2019 All rights reserved. Aurora vs Spanner Feature Amazon Aurora Google Spanner SQL Features ✓ Horizontal Write Scalability ❌ ✓ Fault Tolerance with HA Globally Consistent Writes Low Read Latency
  • 21. 21© 2019 All rights reserved. #3 Fault Tolerance with HA
  • 22. 22© 2019 All rights reserved. Amazon Aurora Native Failover & Repair Through Primary Auto Election SQL APP ✓ HA When Primary Instance Fails ✓ HA When Read Replica Fails INSERT ROW
  • 23. 23© 2019 All rights reserved. Google Spanner Native Failover & Repair Through Shard Leader Auto Election SQL APP INSERT ROW1 ✓ HA When Any Primary Node Fails ✓ HA When Read Replica Fails INSERT ROW3
  • 24. 24© 2019 All rights reserved. Aurora vs Spanner Feature Amazon Aurora Google Spanner SQL Features ✓ Horizontal Write Scalability ❌ ✓ Fault Tolerance with HA ✓ ✓ Globally Consistent Writes Low Read Latency
  • 25. 25© 2019 All rights reserved. #4 Global Write Consistency
  • 26. 26© 2019 All rights reserved. Amazon Aurora Multi-Master Last Writer Wins Conflict Resolution Leads to Inconsistencies SQL APP SET BALANCE = BALANCE - 10 SQL APP SET BALANCE = BALANCE - 100 Asynchronous Replication Region 1 Region 2
  • 27. 27© 2019 All rights reserved. Google Spanner Purpose-Built for Globally Consistent Writes SQL APP SET BALANCE = BALANCE - 10 SQL APP SET BALANCE = BALANCE - 100
  • 28. 28© 2019 All rights reserved. Aurora vs Spanner Feature Amazon Aurora Google Spanner SQL Features ✓ Horizontal Write Scalability ❌ ✓ Fault Tolerance with HA ✓ ✓ Globally Consistent Writes ❌ ✓ Low Read Latency
  • 29. 29© 2019 All rights reserved. #5 Low Read Latency
  • 30. 30© 2019 All rights reserved. Amazon Aurora Strongly Consistent Reads Served By Primary Instance SQL APP READ ROW
  • 31. 31© 2019 All rights reserved. Google Spanner Strongly Consistent Reads Served By Shard Leaders w/o Read Quorum SQL APP READ ROW1
  • 32. 32© 2019 All rights reserved. Aurora vs Spanner Feature Amazon Aurora Google Spanner SQL Features ✓ Horizontal Write Scalability ❌ ✓ Fault Tolerance with HA ✓ ✓ Global Write Consistency ❌ ✓ Low Read Latency ✓ ✓
  • 33. 33© 2019 All rights reserved. Battle of Architectures - Spanner Beats Aurora No Performance & Availability Bottlenecks Scale to Large Clusters while Remaining Highly Available Built for Geo-Distributed Apps Future Proofs Data Tier at Global Businesses Complex to Engineer Needs Clock Skew Tracking Across Instances
  • 34. 34© 2019 All rights reserved. Analyzing Open Source Spanner Inspired Derivatives
  • 35. 35© 2019 All rights reserved. Spanner Brought to Life in Open Source
  • 36. 36© 2019 All rights reserved. YugabyteDB Design Principles • CP in CAP Theorem • Consistent • Partition Tolerant • HA on failures (new leader elected in seconds) • ACID Transactions • Single-row linearizability • Multi-row ACID • Serializable & Snapshot • No bottlenecks even for geo-distributed rows • High Performance • All layers in C++ to ensure high perf • Run on large memory machines • Optimized for SSDs • Deploy Anywhere • No IaaS specific dependencies • No atomic clocks • Bare metal, VM and Kubernetes
  • 37. 37© 2019 All rights reserved. Design Follows a Layered Approach tablet 1’ tablet 1’ tablet 1’ Self-Healing, Fault-Tolerant Auto Sharding & Rebalancing ACID Transactions Global Data Distribution High Throughput, Low Latency YCQL SQL-Based Flexible Schema API YSQL Globally Distributed Postgres API
  • 38. 38© 2019 All rights reserved. YugabyteDB Architecture
  • 39. Design Goals ✓ Highly scalable & resilient ✓ Transactional - strong consistency ✓ All layers in C++ for high performance ✓ No dependencies on external systems ✓ Cloud-native – online re-configuration
  • 40. API Goals ✓ Multi-model ✓ Start with well known APIs ✓ Extend to fill functionality gaps ✓ APIs supported ● PostgreSQL-compatible YSQL ● Cassandra Query Language-compatible YCQL
  • 41. 41© 2019 All rights reserved. YugabyteDB Deployment Topologies
  • 42. 42© 2019 All rights reserved. Distributed SQL = Keep 😍 & Remove 😡 1. SQL Completeness and Features 2. Replication Protocol 3. Clock Skew Tracking 4. Geo-Distributed Transactions
  • 43. 43© 2019 All rights reserved. Spanner vs. its Open Source Derivatives Feature Google Spanner YugabyteDB CockroachDB TiDB Cost Expensive Free Free Free SQL API Compatibility Replication Protocol Clock Skew Tracking Geo-Distributed Txns Tunable Read Latency
  • 44. 44© 2019 All rights reserved. SQL API Compatibility
  • 45. 45© 2019 All rights reserved. PostgreSQL Transformed into Distributed SQL
  • 46. 46© 2019 All rights reserved. Depth of SQL Support - YugabyteDB • SQL Features • Data Types • Referential Integrity (Foreign Keys) • Built-in Functions • Expressions • JSON Column Type • Secondary Indexes • JOINs • Transactions • Views • Advanced SQL Features • Partial Indexes • Stored Procedures • Triggers • PG Extensions
  • 47. 47© 2019 All rights reserved. Spanner vs. its Open Source Derivatives Feature Google Spanner YugabyteDB CockroachDB TiDB Cost Expensive Free Free + Proprietary Free SQL API Compatibility Proprietary PostgreSQL PostgreSQL No Stored Procedures MySQL No Foreign Keys Replication Protocol Clock Skew Tracking Transaction Manager Tunable Read Latency
  • 48. 48© 2019 All rights reserved. Replication Protocol
  • 49. 49© 2019 All rights reserved. Every Table is Automatically Sharded tablet 1’ … … … … … … … … … … … … … … … SHARDING = AUTOMATIC PARTITIONING OF TABLES
  • 50. 50© 2019 All rights reserved. Replication Done at Shard Level tablet 1’ Tablet Peer 1 on Node X Tablet #1 Tablet Peer 2 on Node Y Tablet Peer 3 on Node Z
  • 51. 51© 2019 All rights reserved. Replication uses a Consensus algorithm tablet 1’ Raft Leader Uses Raft Algorithm First elect Tablet Leader
  • 52. 52© 2019 All rights reserved. Writes in Raft Consensus tablet 1’ Raft Leader Writes processed by leader: Send writes to all peers Wait for majority to ack Write
  • 53. 53© 2019 All rights reserved. Reads in Raft Consensus tablet 1’ Raft Leader Reads handled by leader Uses Leader Leases* for performance optimization Read *Leader Leases: https://blog.yugabyte.com/low-latency-reads-in-geo-distributed-sql-with-raft-leader-leases/
  • 54. 54© 2019 All rights reserved. Spanner vs. its Open Source Derivatives Feature Google Spanner YugabyteDB CockroachDB TiDB Cost Expensive Free Free + Proprietary Free SQL API Compatibility Proprietary PostgreSQL PostgreSQL No Stored Procedures MySQL No Foreign Keys Replication Protocol Paxos Raft Raft Raft Clock Skew Tracking Geo-Distributed Txns Tunable Read Latency
  • 55. 55© 2019 All rights reserved. Transactions and Clock Skew Tracking
  • 56. 56© 2019 All rights reserved. Multi-Shard Transactions tablet 1’ k1 and k2 may belong to different shards BEGIN TXN UPDATE k1 UPDATE k2 COMMIT Belong to different Raft groups on completely different nodes
  • 57. 57© 2019 All rights reserved. What do Distributed Transactions need? tablet 1’ Updates should get written at the same physical time Raft Leader Raft Leader BEGIN TXN UPDATE k1 UPDATE k2 COMMIT But how will nodes agree on time?
  • 58. 58© 2019 All rights reserved. Use a Physical Clock tablet 1’ You would need an Atomic Clock or two lying around Atomic Clocks are highly available, globally synchronized clocks with tight error bounds Most of my physical clocks are never synchronized Jeez! I’m fresh out of those.
  • 59. 59© 2019 All rights reserved. Hybrid Logical Clock or HLC tablet 1’ Combine coarsely-synchronized physical clocks with Lamport Clocks to track causal relationships (physical component, logical component) synchronized using NTP a monotonic counter Nodes update HLC on each Raft exchange for things like heartbeats, leader election and data replication
  • 60. 60© 2019 All rights reserved. Spanner vs. its Open Source Derivatives Feature Google Spanner YugabyteDB CockroachDB TiDB Cost Expensive Free Free + Proprietary Free SQL API Compatibility Proprietary PostgreSQL PostgreSQL No Stored Procedures MySQL No Foreign Keys Replication Protocol Paxos Raft Raft Raft Clock Skew Tracking TrueTime Atomic Clock Hybrid Logical Clock + Max Clock Skew Hybrid Logical Clock + Max Clock Skew Single Timestamp Gen ⇒ No Tracking Needed Geo-Distributed Txns ✓ ✓ ✓ Not Recommended Given Single (Region) Timestamp Generator Tunable Read Latency
  • 61. 61© 2019 All rights reserved. Miscellaneous
  • 62. 62© 2019 All rights reserved. Spanner vs. its Open Source Derivatives Feature Google Spanner YugabyteDB CockroachDB TiDB Cost Expensive Free Free + Proprietary Free SQL API Compatibility Proprietary PostgreSQL PostgreSQL No Stored Procedures MySQL No Foreign Keys Replication Protocol Paxos Raft Raft Raft Clock Skew Tracking TrueTime Atomic Clock Hybrid Logical Clock + Max Clock Skew Hybrid Logical Clock + Max Clock Skew Single Timestamp Gen ⇒ No Tracking Geo-Distributed Txns ✓ ✓ ✓ Not Recommended Given Single (Region) Timestamp Generator Tunable Read Latency ✓ ✓ ❌ ❌
  • 63. 63© 2019 All rights reserved. Read more at blog.yugabyte.com blog.yugabyte.com/distributed-postgresql-on-a-google-spanner-architecture-storage-layer Storage Layer blog.yugabyte.com/distributed-postgresql-on-a-google-spanner-architecture-query-layer Query Layer
  • 64. 64© 2019 All rights reserved. tablet 1’ www.distributedsql.org
  • 65. 65© 2019 All rights reserved. Questions? Join Slack Discussions yugabyte.com/slack Check out on GitHub https://github.com/YugaByte/yugabyte-db docs.yugabyte.com/quick-start
  • 66. 66© 2019 All rights reserved. Relevant Research Publications ● Bigtable: http://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf ● Spanner: ○ http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi20 12.pdf ● Megastore: ○ http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36971.pdf ● Raft algorithm ○ http://ramcloud.stanford.edu/raft.pdf ○ https://raft.gixthub.io/ ○ http://openlife.cc/system/files/3-modifications-for-Raft-consensus.pdf
  • 67. 67© 2019 All rights reserved. Relevant Research Publications ● David Alves, Todd Lipcon, Vijay Garg. Technical Report: HybridTime - Accessible Global Consistency with High Clock Uncertainty. http://pdsl.ece.utexas.edu/david/hybrid-time-tech-report-01.pdf ● Sandeep Kulkarni, Murat Demirbas, Deepak Madeppa, Bharadwaj Avva, and Marcelo Leone. Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases. http://www.cse.buffalo.edu/tech-reports/2014-04.pdf ● Michael J. Cahill, Uwe Röhm, Alan D. Fekete. Serializable Isolation for Snapshot Databases (2008). https://courses.cs.washington.edu/courses/cse444/08au/544M/READING-LIST/fekete-sigmod2008.p df ● Murat Demirbas, Sandeep Kulkarni. Beyond TrueTime: Using AugmentedTime for Improving Spanner. http://www.cse.buffalo.edu/~demirbas/publications/augmentedTime.pdf ● Dahlia Malkhi Jean-Philippe Martin. Spanner’s Concurrency Control. (2) Ittay Eyal. Fault Tolerant Transaction Architectures https://www.cs.cornell.edu/~ie53/publications/DC-col51-Sep13.pdf
  • 68. 68© 2019 All rights reserved. Relevant Research Publications ● Coordination Avoidance in Database Systems Peter Bailis, Alan Fekete, Michael J. Franklin, Ali Ghodsi, Joseph M. Hellerstein, Ion Stoica http://www.bailis.org/papers/ca-vldb2015.pdf ● RocksDB - RocksDB: A High Performance Embedded Key-Value Store for Flash Storage - Data@Scale , https://www.youtube.com/watch?v=plqVp_OnSzg ● Schema-Agnostic Indexing with Azure DocumentDB (VLDB paper): paper describes the Microsoft Azure’s DocumentDB capabilities, including document representation, query language, document indexing approach, core index support, and early production experiences ● MergeOperator on RocksDB - https://github.com/facebook/rocksdb/wiki/Merge-Operator-Implementation ● Cluster scheduling blog post from cambridge: http://www.cl.cam.ac.uk/research/srg/netos/camsas/blog/2016-03-09-scheduler-architectures.html
  • 69. 69© 2019 All rights reserved. Questions? Join Slack Discussions yugabyte.com/slack Check out on GitHub https://github.com/YugaByte/yugabyte-db docs.yugabyte.com/quick-start
  • 70. 70© 2019 All rights reserved. Jepsen.io Testing Jepsen is an effort to improve the safety of distributed databases, queues, consensus systems, etc. led by Kyle Kingsbury “YugabyteDB now passes tests for snapshot isolation, linearizable counters, sets, registers, and systems of registers, as long as clocks are well-synchronized” Jepsen YugaByteDB Analysis: https://jepsen.io/analyses/yugabyte-db-1.1.9
  • 71. 71© 2019 All rights reserved. Functional Architecture DOCDB Spanner-Inspired Distributed Document Store CLOUD NEUTRAL No Specialized Hardware Needed YSQL PostgreSQL-Compatible Distributed SQL API tablet 1’ tablet 1’