Andrew Regner
Production Engineer | MySQL Infrastructure
One System To Fit Them All: Shared MySQL Hosting At Facebook - - PowerPoint PPT Presentation
One System To Fit Them All: Shared MySQL Hosting At Facebook Andrew Regner Production Engineer | MySQL Infrastructure Data choices @Facebook Everyone has data to persist Also have: ZippyDB, ODS, Scuba, HBase, Scribe, RocksDB,
Andrew Regner
Production Engineer | MySQL Infrastructure
"Anything" Database
server
instance instance
shard shard shard shard shard shard shard shard shard shard shard shard shard shard
replication replication
replication replication
tasks burger pong_1 feed videos tags wiki tasks burger pong_1 feed videos tags wiki tasks burger pong_1 feed videos tags wiki
replication replication
Move Fast
Build Stable Infrastructure
xdb.profile_events
xdb.profile_events
xdb.profile_events
xdb.profile_events (master)
Connected Running Lock time
xdb.profile_events
xdb.profile_events
xdb.ticket_processing
xdb.ticket_processing
xdb.ticket_processing
alarm 1 day ago
xdb.ticket_processing
Forgetting some things
What we learned
xdb.analytics
xdb.analytics
IN (SELECT foreign_id FROM table_two WHERE some_random_thing = 'foobar')
xdb.analytics
xdb.analytics
xdb.scheduler / xdb.looks_like
xdb.scheduler / xdb.looks_like
xdb.scheduler / xdb.looks_like
Running Threads History List Length
=============================================================== Instance: xdb0123.prn1:3307 Report UUID: 91a5d53e-2fcf-49e8-8546-26df7fda31d1 Time started: 2016-09-28 08:56:11 Length: 30s Reason: dbstatus disabled instance for lag =============================================================== Total sampled queries: 2753 myservice_data (2750): 2019 LOAD DATA INFILE ? REPLACE INTO TABLE `all_the_data` FIELDS TERMINATED BY ? ENCLOSED BY '?\\?\n? 420 LOAD DATA INFILE ? IGNORE INTO TABLE `some_more_data` FIELDS TERMINATED BY ? ENCLOSED BY '?\\?\n? 127 UPDATE `sig_tw_jobs` t SET t.status = ? WHERE t.shard_id = ? AND t.handle = ? AND t.status = ? 10 UPDATE `sig_model_snapshot` s, `sig_model` m SET s.removed = ?, m.active_snapshot_id = ? WHERE s.model_snapshot_id = ? AND m.model_...70 more bytes 2 UPDATE `sigrid_model_snapshot` SET model_output = ? WHERE model_snapshot_id = ?
finding the cause of lag
$ xdb task xdb.fb_learning_mysql --template size assigned_to=1369320034 tags=[u'dba', u'xdb', u'oncall', u'xdb_enforcement', u'disk_space'] title=XDB xdb.learning_mysql exceeding allowed disk space desc=An xdb that you own ( xdb.learning_mysql ) has exceeded disk space limits. Please cleanup some data immediately (see https://wiki.fb.com/out_of_space ). Instance sizes: https://ods.fb.com/455023229 Table sizes: https://ods.fb.com/455023234 Table sizes (information_schema): Schema Table Size(GB) learning_mysql channels 607.990 learning_mysql workflow_runs 157.080 learning_mysql operator_plans 133.090 learning_mysql retention 60.550 learning_mysql operator_runs 31.510 learning_mysql job_instance_status 28.230 learning_mysql job_instance_status_updates 24.980 learning_mysql operator_run_outputs 19.290
tell someone there's a problem
DB Portal
DB Portal
xdb.myservice_data
Andrew Regner
Production Engineer | MySQL Infrastructure | aregner@fb.com