SlideShare une entreprise Scribd logo
1  sur  75
Scaling Dropbox
P R E S L AV L E , N O V E M B E R 7 T H , 2 0 1 6
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
dropbox-infrastructure
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
block.dropbox.com
Zone
(west)
Zone
(east)
Zone
(central)
block.dropbox.com
Zone
(west)
Zone
(east)
Zone
(central)
block.dropbox.com
Zone
(west)
Zone
(east)
Zone
(central)
Fear of the unknown
M E M O R Y L E A K
S Y N C H O R N I Z AT I O N E V E N T
Success story
TO DAY ’ S TA L K
• 2012
• SCALING CHALLENGES
• 2016
• Q&A
P R E S L AV L E
• At Dropbox since 2013
• Projects: Magic Pocket,
Infrastructure Performance,
Traffic team
F I L E , S Y N C & S H A R E
5 0 0 M I L L I O N U S E R S
2 0 1 2
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacenters
B LO C K DATA I N S 3
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacenters AWS
M E TA DATA I N M Y S Q L
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacentersDropbox’s datacenters
1 . F E TC H M E TA DATA
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacenters
metaserver
DB
LB
clients
Memcached
2 . D OW N LOA D B LO C K S
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacenters
blockserver
S3
LB
LB
clients
3 . WA I T F O R N OT I F I C AT I O N S
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacenters
notification
server
clients
metaserver
P Y T H O N E V E R Y W H E R E
metaserver
metaserver
metaserver
blockserver
blockserver
blockserver
S3DB
DB
DB
Memcached
Memcached
Memcached
nginx
nginx
LB
notification
server
clients
nginx
nginx
LB
async
processingasync
processingasync
processing
AWSDropbox’s datacenters
Dropbox’s datacenters
meta-client
meta-client
meta-client
meta-client
meta-client
meta-web
meta-api
meta-api
meta-api
meta-mobile
meta-mobile
meta-mobile
C LU S T E R I S O L AT I O N
Scaling Databases Scaling as Organization
Scaling Software Managing Complexity
S C A L I N G DATA BA S E S
mysql
master
mysql
replica
mysql
replica
metaserverMemcached
Memcached
Memcached
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
H O R I ZO N TA L S C A L I N G
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaservermetaserver metaserver
CO N N E C T I O N S
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaservermetaserver metaserver
S Q L P R OX Y
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaservermetaserver metaserver
SQL Proxy SQL Proxy SQL Proxy
Scaling as Organization
Scaling Software Managing Complexity
Scaling Databases
G LO BA L DATA BA S E
AVA I L A B I L I T Y I S S U E S
P L AY B O O K
1. Check for ongoing deployments or newly enabled features
P L AY B O O K
1. Check for ongoing deployments or newly enabled features
2. Check for recently started background jobs
1. Check for ongoing deployments or newly enabled features
2. Check for recently started background jobs
3. DBA oncall, please help!
P L AY B O O K
Dropbox grew from 100 to 500 employees
• Slow queries would adversely impact performance across the board
• Slow queries would adversely impact performance across the board
• More features => Managing more independent MySQL
• Slow queries would adversely impact performance across the board
• More features => Managing more independent MySQL
• Reactively (re)sharding individual databases as they hit capacity
• Slow queries would adversely impact performance across the board
• More features => Managing more independent MySQL
• Reactively (re)sharding individual databases as they hit capacity
• Impacted developer productivity
S C A L A B L E M E TA DATA S TO R E
D E S I G N E D F O R M U LT I -T E N A N C Y
2013 — Present
S H A R D I N G A N D C AC H I N G
B E H I N D T H E S C E N E S
E N T I T I E S A N D A S S O C I AT I O N S
F I R S T G O S E R V I C E
Scaling Software
Scaling as Organization
Managing Complexity
Scaling Databases
P E R F E C T S TO R M
S H A R D I N G
P H OTO A L B U M S
T E A M A D M I N CO N S O L E
R E Q U E S T FA N O U T
request
Colocation ID Counter
8 bytes 8 bytes
G LO BA L I D
• Colocation ID: Identifies a shard
• Counter: Unique ID within the shard
Lack of colocation also hurts performance
N E W S E R V I C E : F I L E J O U R N A L
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaserver
File Journal File Journal File Journal…
metaserver metaserver
S H A R D FA I LU R E
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaserver
File Journal File Journal File Journal…
metaserver metaserver
shard1
master
S H A R D I N G ( PA R T I I )
LO N G T I M E O U T S
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaserver
File Journal File Journal File Journal…
metaserver metaserver
shard1
master
R U N O U T O F W O R K E R S
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaserver
File Journal File Journal File Journal…
metaserver metaserver
shard1
master
File JournalFile Journal File Journal
C A S C A D I N G FA I LU R E
shard1
master
shard1
replica
shard1
replica
shard0
master
shard0
replica
shard0
replica
shardN
master
shardN
replica
shrardN
replica
…
……metaserver metaserver metaserver metaserver
File Journal File Journal File Journal…
metaserver metaserver
shard1
master
File JournalFile Journal File Journal
metaserver metaserver metaserver metaservermetaserver metaserver
Limit resources dedicated to processing a single shard
S H A R D I S O L AT I O N
Managing Complexity
Scaling as Organization
Scaling Software
Scaling Databases
500PB+ user block data
3+ geographic regions
500+ million users
M AG I C P O C K E T
B LO C K S TO R AG E S Y S T E M
Zone
(west)
Zone
(east)
Zone
(central)
put
put put
get get
get
complicated!
☹
☺
simple
complicated!
☹
complicated!
☹
complicated!
☹
complicated!
☹
complicated!
☹
P Y T H O N , G O & R U S T
https://blogs.dropbox.com/tech/
2 0 1 6
meta-client
meta-client
meta-client
meta-client
meta-client
meta-web
meta-api
meta-api
meta-api
meta-mobile
meta-mobile
meta-mobile
File Journal
File Journal
File Journal
Search
Search
Search
Auth
AuthAuth
service
Block
RoutingBlock
RoutingBlock
Routing
Auth
Auth
Edgestore
Auth
AuthPresence
&Notications
File Journal
File Journal
Cape
…
blockserver
blockserver
blockserver
Magic
PocketMagic
PocketMagic
Pocket
Blockservice
Riviera
RivieraThumbnail
service
H OW TO P R E V E N T C A S C A D I N G FA I LU R E ?
meta-client
meta-client
meta-client
meta-client
meta-client
meta-web
meta-api
meta-api
meta-api
meta-mobile
meta-mobile
meta-mobile
File Journal
File Journal
File Journal
Search
Search
Search
Auth
AuthAuth
service
Block
RoutingBlock
RoutingBlock
Routing
Auth
Auth
Edgestore
Auth
AuthPresence
&Notications
File Journal
File Journal
Cape
…
blockserver
blockserver
blockserver
Magic
PocketMagic
PocketMagic
Pocket
Blockservice
Riviera
RivieraThumbnail
service
Search
BA N DA I D : P E R R O U T E I S O L AT I O N
Q U E U E P R I O R I T I Z AT I O N
Partition & Isolate
(data or services)
cluster isolation:
data model isolation:
shard isolation:
region isolation:
route isolation:
Metaserver
Edgestore
File Journal
Magic Pocket
Bandaid
Isolation
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
dropbox-infrastructure

Contenu connexe

En vedette

Integration blueprint-short-en
Integration blueprint-short-enIntegration blueprint-short-en
Integration blueprint-short-enGuido Schmutz
 
The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox
The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox
The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox Argyle Executive Forum
 
Elastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @DatadogElastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @DatadogC4Media
 
Dropbox - Architecture and Business Prospective
Dropbox - Architecture and Business ProspectiveDropbox - Architecture and Business Prospective
Dropbox - Architecture and Business ProspectiveChiara Cilardo
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Ontico
 
Проектная деятельность учащихся на уроках информатики
Проектная деятельность учащихся на уроках информатики Проектная деятельность учащихся на уроках информатики
Проектная деятельность учащихся на уроках информатики Diana Der
 
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者Yi Xu
 
Ejercicio tecnica vocal
Ejercicio tecnica vocalEjercicio tecnica vocal
Ejercicio tecnica vocalANAIS TIPAN
 
Locking down a Hitachi ID Management Suite server
Locking down a Hitachi ID Management Suite serverLocking down a Hitachi ID Management Suite server
Locking down a Hitachi ID Management Suite serverHitachi ID Systems, Inc.
 
Value Proposition Of Thomas Jackson
Value Proposition Of Thomas JacksonValue Proposition Of Thomas Jackson
Value Proposition Of Thomas JacksonThomas Jackson
 
BelalOssamaAbuLabanResume2016 - Copy
BelalOssamaAbuLabanResume2016 - CopyBelalOssamaAbuLabanResume2016 - Copy
BelalOssamaAbuLabanResume2016 - Copybelal abulaban
 
網站首頁比較
網站首頁比較網站首頁比較
網站首頁比較心瑜 楊
 
Inmigración Armenia
Inmigración ArmeniaInmigración Armenia
Inmigración ArmeniaLadesergio
 
Using Social Media for Ministry
Using Social Media for MinistryUsing Social Media for Ministry
Using Social Media for MinistryJason Caston
 
黃晴與彭立人醫師的對話錄
黃晴與彭立人醫師的對話錄黃晴與彭立人醫師的對話錄
黃晴與彭立人醫師的對話錄honan4108
 
Strategic consulting sm_es_green_water_navin_agarwal
Strategic consulting sm_es_green_water_navin_agarwalStrategic consulting sm_es_green_water_navin_agarwal
Strategic consulting sm_es_green_water_navin_agarwalNavin Agarwal
 

En vedette (20)

Integration blueprint-short-en
Integration blueprint-short-enIntegration blueprint-short-en
Integration blueprint-short-en
 
The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox
The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox
The Future of Work: Ross Piper, Vice President, Enterprise Strategy, Dropbox
 
Elastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @DatadogElastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @Datadog
 
Dropbox - Architecture and Business Prospective
Dropbox - Architecture and Business ProspectiveDropbox - Architecture and Business Prospective
Dropbox - Architecture and Business Prospective
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
 
Проектная деятельность учащихся на уроках информатики
Проектная деятельность учащихся на уроках информатики Проектная деятельность учащихся на уроках информатики
Проектная деятельность учащихся на уроках информатики
 
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者
 
Ejercicio tecnica vocal
Ejercicio tecnica vocalEjercicio tecnica vocal
Ejercicio tecnica vocal
 
5° básico b semana 18 al 22 abril
 5° básico b  semana 18  al 22 abril 5° básico b  semana 18  al 22 abril
5° básico b semana 18 al 22 abril
 
Locking down a Hitachi ID Management Suite server
Locking down a Hitachi ID Management Suite serverLocking down a Hitachi ID Management Suite server
Locking down a Hitachi ID Management Suite server
 
Value Proposition Of Thomas Jackson
Value Proposition Of Thomas JacksonValue Proposition Of Thomas Jackson
Value Proposition Of Thomas Jackson
 
BelalOssamaAbuLabanResume2016 - Copy
BelalOssamaAbuLabanResume2016 - CopyBelalOssamaAbuLabanResume2016 - Copy
BelalOssamaAbuLabanResume2016 - Copy
 
網站首頁比較
網站首頁比較網站首頁比較
網站首頁比較
 
Inmigración Armenia
Inmigración ArmeniaInmigración Armenia
Inmigración Armenia
 
Using Social Media for Ministry
Using Social Media for MinistryUsing Social Media for Ministry
Using Social Media for Ministry
 
Guns (v.m.)
Guns (v.m.)Guns (v.m.)
Guns (v.m.)
 
黃晴與彭立人醫師的對話錄
黃晴與彭立人醫師的對話錄黃晴與彭立人醫師的對話錄
黃晴與彭立人醫師的對話錄
 
Strategic consulting sm_es_green_water_navin_agarwal
Strategic consulting sm_es_green_water_navin_agarwalStrategic consulting sm_es_green_water_navin_agarwal
Strategic consulting sm_es_green_water_navin_agarwal
 
Teleconferencias
TeleconferenciasTeleconferencias
Teleconferencias
 
What's all about this ....
What's all about this ....What's all about this ....
What's all about this ....
 

Similaire à Scaling Dropbox

HPCC Systems vs Hadoop
HPCC Systems vs HadoopHPCC Systems vs Hadoop
HPCC Systems vs HadoopFujio Turner
 
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the JobAkka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the JobLightbend
 
NoSQL Couchbase Lite & BigData HPCC Systems
NoSQL Couchbase Lite & BigData HPCC SystemsNoSQL Couchbase Lite & BigData HPCC Systems
NoSQL Couchbase Lite & BigData HPCC SystemsFujio Turner
 
POLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudPOLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudoysteing
 
TenMax Data Pipeline Experience Sharing
TenMax Data Pipeline Experience SharingTenMax Data Pipeline Experience Sharing
TenMax Data Pipeline Experience SharingChen-en Lu
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend
 
Sink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any ScaleSink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any ScaleTimothy Spann
 
Sink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any ScaleSink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any ScaleScyllaDB
 
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...MongoDB
 
Apache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetupApache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetupNed Shawa
 
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Andre Essing
 
Headaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous ApplicationsHeadaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous ApplicationsDatabricks
 
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...Landon Robinson
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
Ensuring Quality in Data Lakes (D&D Meetup Feb 22)
Ensuring Quality in Data Lakes  (D&D Meetup Feb 22)Ensuring Quality in Data Lakes  (D&D Meetup Feb 22)
Ensuring Quality in Data Lakes (D&D Meetup Feb 22)lakeFS
 
Vancouver part 1 intro to elasticsearch and kibana-beginner's crash course ...
Vancouver   part 1 intro to elasticsearch and kibana-beginner's crash course ...Vancouver   part 1 intro to elasticsearch and kibana-beginner's crash course ...
Vancouver part 1 intro to elasticsearch and kibana-beginner's crash course ...UllyCarolinneSampaio
 
POLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudPOLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudoysteing
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Charley Hanania
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part isqlserver.co.il
 

Similaire à Scaling Dropbox (20)

HPCC Systems vs Hadoop
HPCC Systems vs HadoopHPCC Systems vs Hadoop
HPCC Systems vs Hadoop
 
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the JobAkka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
 
Data Science
Data ScienceData Science
Data Science
 
NoSQL Couchbase Lite & BigData HPCC Systems
NoSQL Couchbase Lite & BigData HPCC SystemsNoSQL Couchbase Lite & BigData HPCC Systems
NoSQL Couchbase Lite & BigData HPCC Systems
 
POLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudPOLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloud
 
TenMax Data Pipeline Experience Sharing
TenMax Data Pipeline Experience SharingTenMax Data Pipeline Experience Sharing
TenMax Data Pipeline Experience Sharing
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
 
Sink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any ScaleSink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any Scale
 
Sink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any ScaleSink Your Teeth into Streaming at Any Scale
Sink Your Teeth into Streaming at Any Scale
 
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
 
Apache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetupApache spark-melbourne-april-2015-meetup
Apache spark-melbourne-april-2015-meetup
 
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
 
Headaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous ApplicationsHeadaches and Breakthroughs in Building Continuous Applications
Headaches and Breakthroughs in Building Continuous Applications
 
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
Spark + AI Summit 2019: Headaches and Breakthroughs in Building Continuous Ap...
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Ensuring Quality in Data Lakes (D&D Meetup Feb 22)
Ensuring Quality in Data Lakes  (D&D Meetup Feb 22)Ensuring Quality in Data Lakes  (D&D Meetup Feb 22)
Ensuring Quality in Data Lakes (D&D Meetup Feb 22)
 
Vancouver part 1 intro to elasticsearch and kibana-beginner's crash course ...
Vancouver   part 1 intro to elasticsearch and kibana-beginner's crash course ...Vancouver   part 1 intro to elasticsearch and kibana-beginner's crash course ...
Vancouver part 1 intro to elasticsearch and kibana-beginner's crash course ...
 
POLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudPOLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloud
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
 

Plus de C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

Plus de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Dernier

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Scaling Dropbox

  • 1. Scaling Dropbox P R E S L AV L E , N O V E M B E R 7 T H , 2 0 1 6
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ dropbox-infrastructure
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  • 4.
  • 5.
  • 9. Fear of the unknown
  • 10. M E M O R Y L E A K
  • 11. S Y N C H O R N I Z AT I O N E V E N T
  • 13. TO DAY ’ S TA L K • 2012 • SCALING CHALLENGES • 2016 • Q&A
  • 14. P R E S L AV L E • At Dropbox since 2013 • Projects: Magic Pocket, Infrastructure Performance, Traffic team
  • 15. F I L E , S Y N C & S H A R E
  • 16. 5 0 0 M I L L I O N U S E R S
  • 17. 2 0 1 2 metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacenters
  • 18. B LO C K DATA I N S 3 metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacenters AWS
  • 19. M E TA DATA I N M Y S Q L metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacentersDropbox’s datacenters
  • 20. 1 . F E TC H M E TA DATA metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacenters metaserver DB LB clients Memcached
  • 21. 2 . D OW N LOA D B LO C K S metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacenters blockserver S3 LB LB clients
  • 22. 3 . WA I T F O R N OT I F I C AT I O N S metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacenters notification server clients metaserver
  • 23. P Y T H O N E V E R Y W H E R E metaserver metaserver metaserver blockserver blockserver blockserver S3DB DB DB Memcached Memcached Memcached nginx nginx LB notification server clients nginx nginx LB async processingasync processingasync processing AWSDropbox’s datacenters
  • 25. Scaling Databases Scaling as Organization Scaling Software Managing Complexity
  • 26. S C A L I N G DATA BA S E S mysql master mysql replica mysql replica metaserverMemcached Memcached Memcached shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica …
  • 27. H O R I ZO N TA L S C A L I N G shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaservermetaserver metaserver
  • 28. CO N N E C T I O N S shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaservermetaserver metaserver
  • 29. S Q L P R OX Y shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaservermetaserver metaserver SQL Proxy SQL Proxy SQL Proxy
  • 30. Scaling as Organization Scaling Software Managing Complexity Scaling Databases
  • 31. G LO BA L DATA BA S E
  • 32. AVA I L A B I L I T Y I S S U E S
  • 33. P L AY B O O K 1. Check for ongoing deployments or newly enabled features
  • 34. P L AY B O O K 1. Check for ongoing deployments or newly enabled features 2. Check for recently started background jobs
  • 35. 1. Check for ongoing deployments or newly enabled features 2. Check for recently started background jobs 3. DBA oncall, please help! P L AY B O O K
  • 36. Dropbox grew from 100 to 500 employees
  • 37. • Slow queries would adversely impact performance across the board
  • 38. • Slow queries would adversely impact performance across the board • More features => Managing more independent MySQL
  • 39. • Slow queries would adversely impact performance across the board • More features => Managing more independent MySQL • Reactively (re)sharding individual databases as they hit capacity
  • 40. • Slow queries would adversely impact performance across the board • More features => Managing more independent MySQL • Reactively (re)sharding individual databases as they hit capacity • Impacted developer productivity
  • 41. S C A L A B L E M E TA DATA S TO R E D E S I G N E D F O R M U LT I -T E N A N C Y 2013 — Present
  • 42. S H A R D I N G A N D C AC H I N G B E H I N D T H E S C E N E S
  • 43. E N T I T I E S A N D A S S O C I AT I O N S
  • 44. F I R S T G O S E R V I C E
  • 45. Scaling Software Scaling as Organization Managing Complexity Scaling Databases
  • 46.
  • 47. P E R F E C T S TO R M
  • 48. S H A R D I N G
  • 49. P H OTO A L B U M S
  • 50. T E A M A D M I N CO N S O L E
  • 51. R E Q U E S T FA N O U T request
  • 52. Colocation ID Counter 8 bytes 8 bytes G LO BA L I D • Colocation ID: Identifies a shard • Counter: Unique ID within the shard
  • 53. Lack of colocation also hurts performance
  • 54. N E W S E R V I C E : F I L E J O U R N A L shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaserver File Journal File Journal File Journal… metaserver metaserver
  • 55. S H A R D FA I LU R E shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaserver File Journal File Journal File Journal… metaserver metaserver shard1 master
  • 56. S H A R D I N G ( PA R T I I )
  • 57. LO N G T I M E O U T S shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaserver File Journal File Journal File Journal… metaserver metaserver shard1 master
  • 58. R U N O U T O F W O R K E R S shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaserver File Journal File Journal File Journal… metaserver metaserver shard1 master File JournalFile Journal File Journal
  • 59. C A S C A D I N G FA I LU R E shard1 master shard1 replica shard1 replica shard0 master shard0 replica shard0 replica shardN master shardN replica shrardN replica … ……metaserver metaserver metaserver metaserver File Journal File Journal File Journal… metaserver metaserver shard1 master File JournalFile Journal File Journal metaserver metaserver metaserver metaservermetaserver metaserver
  • 60. Limit resources dedicated to processing a single shard S H A R D I S O L AT I O N
  • 61. Managing Complexity Scaling as Organization Scaling Software Scaling Databases
  • 62. 500PB+ user block data 3+ geographic regions 500+ million users M AG I C P O C K E T B LO C K S TO R AG E S Y S T E M
  • 65. P Y T H O N , G O & R U S T
  • 67. 2 0 1 6 meta-client meta-client meta-client meta-client meta-client meta-web meta-api meta-api meta-api meta-mobile meta-mobile meta-mobile File Journal File Journal File Journal Search Search Search Auth AuthAuth service Block RoutingBlock RoutingBlock Routing Auth Auth Edgestore Auth AuthPresence &Notications File Journal File Journal Cape … blockserver blockserver blockserver Magic PocketMagic PocketMagic Pocket Blockservice Riviera RivieraThumbnail service
  • 68. H OW TO P R E V E N T C A S C A D I N G FA I LU R E ? meta-client meta-client meta-client meta-client meta-client meta-web meta-api meta-api meta-api meta-mobile meta-mobile meta-mobile File Journal File Journal File Journal Search Search Search Auth AuthAuth service Block RoutingBlock RoutingBlock Routing Auth Auth Edgestore Auth AuthPresence &Notications File Journal File Journal Cape … blockserver blockserver blockserver Magic PocketMagic PocketMagic Pocket Blockservice Riviera RivieraThumbnail service Search
  • 69. BA N DA I D : P E R R O U T E I S O L AT I O N
  • 70. Q U E U E P R I O R I T I Z AT I O N
  • 72. cluster isolation: data model isolation: shard isolation: region isolation: route isolation: Metaserver Edgestore File Journal Magic Pocket Bandaid
  • 74.
  • 75. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ dropbox-infrastructure