SlideShare a Scribd company logo
1 of 47
Download to read offline
Solving the Challenges of Big Databases
with MySQL
Bradley C. Kuszmaul
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 1
Challenging Activities
Some of the top challenges I hear:
• Loading a big database takes a long time.
• Adding rows to an existing database is slow.
• Adding or removing a column takes my table
offline for a long time.
• Adding an index takes my table offline for a long
time.
• Backup is difficult. (Not in this talk.)
These activities are painless for small data, but can be
painful for big data.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 2
Storage Engines Can Help MySQL
Storage Engines
Client
MySQL front end
MyISAM InnoDB TokuDB ...
OS file storage
Client ClientClient
Rest of this talk is about what a storage engine can do,
focusing on TokuDB because that’s what I know.
Tokutek sells TokuDB, a closed-source storage engine
for MySQL.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 3
Big Data
• Big data can range from a terabyte to multiple
petabytes.
• The difficulties start showing up when your data
does not fit in main memory.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 4
Is a Gigabyte Big?
• No, since it fits in main memory even on a cheap
server.
• No, since scanning the entire data set off of disk is
on the order of seconds.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 5
Is a Terabyte Big?
• A terabyte fits on a small $500 server with a single
disk drive. But even the small end of a terabyte can
contain billions of rows of data. The little server
probably cannot handle much load.
• This machine has too little memory to hold the
entire dataset.
• It can take hours to scan the data.
So yes, a terabyte can be big.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 6
Is 10 Terabytes Big?
• You might spend $5,000–$20,000 on a server that
can hold ten terabytes on a RAID with with a
battery-backed-up controller.
• Now it’s really tough to fit the data into memory...
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 7
Is a Petabyte Big?
• Yes.
• Some MySQL users have multiple petabytes of
data.
• They typically shard the data up across hundreds or
thousands of servers.
• Each server suffers from big data problems, and the
system as a whole suffers really big data problems.
• Let’s focus on the problems a single server faces.
These problems show up at a terabyte or so.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 8
Challenges
As you move from millions of rows and gigabytes of
data to billions of rows and terabytes of data, these
problems get harder:
Challenge I: Loading data
Challenge II: Maintaining indexes under insertions,
deletions, and updates.
Challenge III: Adding or removing columns.
Challenge IV: Adding an index online.
Challenge V: Replication (slave lag).
Challenge VI: Compression.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 9
Challenge I: Loading Data
• The first problem is loading the data.
• Two reasons for slow performance:
1. Fetching one row at a time from a file.
2. Storing one row at a time onto the database.
• TokuDB speeds up #2, but does not address #1.
• Rich found an 8-fold speedup loading TPCC.
• Perhaps more speedup on more cores (especially if
someone addresses #1).
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 10
Where does the TokuDB Loader Find
Parallelism?
1. Merge sort (especially the in-memory stages)
contains a huge amount of parallelism.
2. Compression offers a huge amount of parallelism.
TokuDB compresses 4MB blocks.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 11
Challenge II: Maintaining Indexes
Setup: A big database with many indexes adds,
removes, or updates thousands of rows per second.
I’ll talk about:
• Why B-trees bottleneck insertion rates.
InnoDB and MyISAM use B-trees.
• How fractal trees improve speed.
TokuDB uses fractal trees.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 12
B-Trees are Everywhere
B-Trees show up in
database indexes (such
as MyISAM and
InnoDB), file systems
(such as XFS), and many
other storage systems.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 13
B-Trees are Fast at Sequential Inserts
In Memory
Insertions are
into this leaf node
BB
B
···
···
• One disk I/O per leaf (which contains many rows).
• Sequential disk I/O.
• Performance is limited by disk bandwidth.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 14
B-Trees are Slow for High-Entropy Inserts
In Memory
BB
B
···
···
• Most nodes are not in main memory.
• Most insertions require a random disk I/O.
• Performance is limited by disk head movement.
• Only 100’s of inserts/s/disk (≤ 0.2% of disk
bandwidth).
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 15
Recipe for a fractal tree
Start with a B-tree:
11 29 61 79
43
47,53,59,61
13,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
Oops, I forgot 17.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 16
Added 17
11 29 61 79
43
47,53,59,61
13,17,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
Maybe needed several disk I/Os to bring blocks in to
store 17.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 17
InnoDB Adds a Buffer
11 29 61 79
43
Not in RAM
Buffer
47,53,59,61
13,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
17
• If a block is on disk (not in RAM) then keep the
row in a buffer.
• Later, move rows from the buffer to the tree nodes.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 18
A Buffer Helps (a Little)
Sometimes an InnoDB-style buffer works great: The
buffer collects several rows for a single tree node, and
for the cost of one I/O, several rows are moved to disk.
Sometimes the buffer fills up, and the system slows
down. Even in these situations, an insertion buffer
helps (but not by much).
43
Buffer
,
85,
103
17,4,39,49,72,
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 19
Fractal Trees Indexes Add Many Buffers
11 29 61 79
43 Buffers
47,53,59,61
13,17,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
insert(17)
• All the internal nodes of the tree include buffers.
• To insert a row, put a message in the root’s buffer.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 20
When a Buffer Overflows
11 29 61 79
43 Buffers
insert(17)
insert(21)
insert(39)
47,53,59,61
13,17,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
• Move messages down the tree when buffers fill.
• When a message arrives at a leaves, apply it.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 21
Deletes are Also Messages
11 29 61 79
43 Buffers
insert(17)
insert(21)
insert(39)
delete(29)
47,53,59,61
13,17,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 22
Comparing Data Structures
Disk I/Os are the important metric. How many does it
take to do an insertion or a query?
Data Insertion cost Query cost
structure (in practice)
B-tree Many I/Os One I/O
LSM tree Fraction of an I/O Many I/Os
Fractal Tree Fraction of an I/O One I/O
• Fractal tree indexes reduce the cost of index
maintenance by two to three orders of magnitude.
• So you can ingest data faster and maintain more
indexes.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 23
Maintaining Indexes on SSD
Inserting one billion rows, maintaining three
secondary indexes. TokuDB’s terminal insertion rate
was 14,532 inserts/s. InnoDB’s was 1,607 inserts/s.
Platform: TokuDB v6.5, Centos 5.6; 2x Xeon L5520; 72GB RAM; LSI MegaRaid 9285; 2x 256GB Samsung
830 in RAID0.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 24
Reducing Wear on SSD
• 161 times fewer write operations.
• 17 times fewer bytes written.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 25
SSDs Wear Out
• Modern SSDs wear out after about 1000 overwrites.
• sysbench achieves 100MB/s on random writes on a
256GB Samsung 830, overwriting in 7 hours, and
wearing out in 300 days.
• In this scenario, the FTL amplifies writes by
another 4x, so it will last only 75 days.
• InnoDB is a little slower than sysbench, and would
wear it out in about 246 days.
• Under the same workload, TokuDB would last 11
years.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 26
Covering Indexes
Arranging for your queries to be index-only can make
huge speedups. For example see this guest blog
posting from Baron Schwartz of Percona:
http://www.tokutek.com/2011/09/
are-you-forcing-mysql-to-do-twice
-as-many-joins-as-necessary/
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 27
Challenge III: Adding a Column
Many DBAS have had the following experience:
• Load a bunch of data into a table and set up the
associated indexes.
• Realize that adding a column would be helpful.
This becomes painful for big data.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 28
A Painful Way to Add a Column
The MyISAM / InnoDB way:
• Lock the table.
• Scan through the table, changing every row to the
new format (adding the column).
• Unlock the table.
This process can take many hours during which time
the system permits no modifications to the table.
The bigger the data the longer the downtime.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 29
A Fast Way to Add a Column
11 29 61 79
43 Buffers
addrow(x)
47,53,59,61
13,17,19,23,29
83,89,97,10131,37,41,43
1,3,5,7,11
67,71,73,79
Send a
“broadcast”
message
into the
fractal tree
index.
• As the message descends tree the message is
replicated.
• When it arrives at a leaf, update the leaf’s rows.
TokuDB can add or delete a column with essentially
no additional I/O.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 30
Q: How Fast is Hot Column Addition?
Zardosht wrote about a (typical) example:
alter table ontime add column totalTime int default 0;
Hot column addition reduced the schema change time
from 17 hours to 3 seconds:
http://www.tokutek.com/2011/03/
hot-column-addition-and-deletion-part-i-performance
A: It’s fast
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 31
Challenge IV: Adding an Index
Adding an index to a big database can be painful.
The problem: What if someone adds a row while we
are building the index? The row might not make it into
the index, so the index is corrupted.
Many storage engines lock the table when adding an
index.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 32
A Fast Way to Add an Index
Scan through the table creating the index.
UnindexedIndexed
2 17 29 3741 7 31 13 5 11 3
Partially constructed index
Table
2 7 31 41
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 33
A Fast Way to Add an Index
Scan through the table creating the index.
UnindexedIndexed
17
2 17 29 3741 7 31 13 5 11 3
Partially constructed index
Table
2 7 31 41
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 34
A Fast Way to Add an Index
Scan through the table creating the index.
UnindexedIndexed
1713
2 17 29 3741 7 31 13 5 11 3
Partially constructed index
Table
2 7 31 41
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 35
Handling Updates I
If another thread updates something that’s been
scanned, then update the index
UnindexedIndexed
2 17 29 3741 7 31 5 11 3
Partially constructed index
Table
2 7 31 41
23
23
13
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 36
Handling Updates II
If another thread updates something that has not been
scanned, then do not update the index, since the
indexer will pick up the value.
UnindexedIndexed
2 17 29 3741 7 31 5 11 3
Partially constructed index
Table
2 7 31 41
23
23
19 13
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 37
Q: How Fast is Hot Index Addition?
Zardosht wrote about a (typical) example:
• InnoDB took 31m 34s.
• TokuDB took 9m 30s.
• But the table was locked for less than 2s.
http://www.tokutek.com/2011/04/hot-indexing-part-i-new-feature
A: It’s fast
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 38
Challenge V: Replication (Slave Lag)
Many systems employ MySQL’s master-slave
replication
• to distribute read workloads
• to build backups, and
• to implement geographically distributed disaster
recovery.
But MySQL slaves often fall behind, since the
replication is single-threaded (even the latest
multithreaded slaves are single threaded in each
database).
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 39
TokuDB Keeps Up
After 60s at 3000TPS, InnoDB was 140s behind, but
TokuDB is still keeping up.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 40
Challenge VI: Compression
Compression can reduce the cost of maintaining your
database.
• For SSD, space costs money, so compression saves
capital costs.
• For rotating disks, compression improves
performance.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 41
Aggressive Compression
Log-style data with stored procedure names, database instance names, begin and ending execution timestamps,
duration row counts, and parameter values.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 42
Compression Speeds Up Loading
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 43
Compression Speeds Up The DB
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 44
Why not Always Use Aggressive
Compression?
• If you have less than six cores in your server, the
extra CPU work from the compression workload
compression work might slow you down: Use
standard compression.
• For modern servers, there are plenty of CPU cycles
to do the compression: Use aggressive
compression.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 45
Big Data Challenges
If you have big data, you will find these challenges
(and others):
• Loading data.
• Inserting, updating, and deleting rows while
maintaining indexes.
• Schema changes.
• Replication (slave lag)
• Compression.
TokuDB 6.5 was announced this week and is available
now.
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 46
More Information
You can download this talk and others at
http://tokutek.com/technology
MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 47

More Related Content

What's hot

A14 Getting Started with Vectorwise by Mark Van de Wiel
A14 Getting Started with Vectorwise by Mark Van de WielA14 Getting Started with Vectorwise by Mark Van de Wiel
A14 Getting Started with Vectorwise by Mark Van de WielInsight Technology, Inc.
 
Microsoft Certifications 70-410 dumps
Microsoft Certifications 70-410 dumps Microsoft Certifications 70-410 dumps
Microsoft Certifications 70-410 dumps lilylucy
 
Cassandra 1.1
Cassandra 1.1Cassandra 1.1
Cassandra 1.1jbellis
 
NoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsNoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsDATAVERSITY
 
Vizuri Exadata East Coast Users Conference
Vizuri Exadata East Coast Users ConferenceVizuri Exadata East Coast Users Conference
Vizuri Exadata East Coast Users ConferenceIsaac Christoffersen
 
Severalnines Training: MySQL Cluster - Part X
Severalnines Training: MySQL Cluster - Part XSeveralnines Training: MySQL Cluster - Part X
Severalnines Training: MySQL Cluster - Part XSeveralnines
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Brasil
 
MySQL Performance Tuning
MySQL Performance TuningMySQL Performance Tuning
MySQL Performance TuningFromDual GmbH
 
How to Modernize Your Database Platform to Realize Consolidation Savings
How to Modernize Your Database Platform to Realize Consolidation SavingsHow to Modernize Your Database Platform to Realize Consolidation Savings
How to Modernize Your Database Platform to Realize Consolidation SavingsIsaac Christoffersen
 
Severalnines Self-Training: MySQL® Cluster - Part VII
Severalnines Self-Training: MySQL® Cluster - Part VIISeveralnines Self-Training: MySQL® Cluster - Part VII
Severalnines Self-Training: MySQL® Cluster - Part VIISeveralnines
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresRobert Treat
 
Severalnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part VSeveralnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part VSeveralnines
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLanandology
 
Severalnines Self-Training: MySQL® Cluster - Part II
Severalnines Self-Training: MySQL® Cluster - Part IISeveralnines Self-Training: MySQL® Cluster - Part II
Severalnines Self-Training: MySQL® Cluster - Part IISeveralnines
 
SanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraSanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraDataStax Academy
 
Severalnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IXSeveralnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IXSeveralnines
 
Severalnines Self-Training: MySQL® Cluster - Part VIII
Severalnines Self-Training: MySQL® Cluster - Part VIIISeveralnines Self-Training: MySQL® Cluster - Part VIII
Severalnines Self-Training: MySQL® Cluster - Part VIIISeveralnines
 
E2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane ThirionE2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane Thirionsthirion
 

What's hot (20)

A14 Getting Started with Vectorwise by Mark Van de Wiel
A14 Getting Started with Vectorwise by Mark Van de WielA14 Getting Started with Vectorwise by Mark Van de Wiel
A14 Getting Started with Vectorwise by Mark Van de Wiel
 
Microsoft Certifications 70-410 dumps
Microsoft Certifications 70-410 dumps Microsoft Certifications 70-410 dumps
Microsoft Certifications 70-410 dumps
 
Cassandra 1.1
Cassandra 1.1Cassandra 1.1
Cassandra 1.1
 
NoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsNoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture Patterns
 
Vizuri Exadata East Coast Users Conference
Vizuri Exadata East Coast Users ConferenceVizuri Exadata East Coast Users Conference
Vizuri Exadata East Coast Users Conference
 
Severalnines Training: MySQL Cluster - Part X
Severalnines Training: MySQL Cluster - Part XSeveralnines Training: MySQL Cluster - Part X
Severalnines Training: MySQL Cluster - Part X
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPal
 
Introduction Mysql
Introduction Mysql Introduction Mysql
Introduction Mysql
 
MySQL Performance Tuning
MySQL Performance TuningMySQL Performance Tuning
MySQL Performance Tuning
 
How to Modernize Your Database Platform to Realize Consolidation Savings
How to Modernize Your Database Platform to Realize Consolidation SavingsHow to Modernize Your Database Platform to Realize Consolidation Savings
How to Modernize Your Database Platform to Realize Consolidation Savings
 
Severalnines Self-Training: MySQL® Cluster - Part VII
Severalnines Self-Training: MySQL® Cluster - Part VIISeveralnines Self-Training: MySQL® Cluster - Part VII
Severalnines Self-Training: MySQL® Cluster - Part VII
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" Postgres
 
Severalnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part VSeveralnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part V
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
 
Severalnines Self-Training: MySQL® Cluster - Part II
Severalnines Self-Training: MySQL® Cluster - Part IISeveralnines Self-Training: MySQL® Cluster - Part II
Severalnines Self-Training: MySQL® Cluster - Part II
 
SanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraSanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and Cassandra
 
Severalnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IXSeveralnines Training: MySQL® Cluster - Part IX
Severalnines Training: MySQL® Cluster - Part IX
 
Mysql all
Mysql allMysql all
Mysql all
 
Severalnines Self-Training: MySQL® Cluster - Part VIII
Severalnines Self-Training: MySQL® Cluster - Part VIIISeveralnines Self-Training: MySQL® Cluster - Part VIII
Severalnines Self-Training: MySQL® Cluster - Part VIII
 
E2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane ThirionE2E PVS Technical Overview Stephane Thirion
E2E PVS Technical Overview Stephane Thirion
 

Similar to Big challenges

My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012sqlhjalp
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesMaynooth University
 
Vote NO for MySQL
Vote NO for MySQLVote NO for MySQL
Vote NO for MySQLUlf Wendel
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive WritesLiran Zelkha
 
http://www.hfadeel.com/Blog/?p=151
http://www.hfadeel.com/Blog/?p=151http://www.hfadeel.com/Blog/?p=151
http://www.hfadeel.com/Blog/?p=151xlight
 
Case Study with Answers.com on Scaling with Memcached and MySQL
Case Study with Answers.com on Scaling with Memcached and MySQLCase Study with Answers.com on Scaling with Memcached and MySQL
Case Study with Answers.com on Scaling with Memcached and MySQLanswers
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Marco Tusa
 
The benefits of My sql
The benefits of My sqlThe benefits of My sql
The benefits of My sqlCacheWorks©
 
Kb 40 kevin_klineukug_reading20070717[1]
Kb 40 kevin_klineukug_reading20070717[1]Kb 40 kevin_klineukug_reading20070717[1]
Kb 40 kevin_klineukug_reading20070717[1]shuwutong
 
Mysql 2007 Tech At Digg V3
Mysql 2007 Tech At Digg V3Mysql 2007 Tech At Digg V3
Mysql 2007 Tech At Digg V3epee
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018Dave Stokes
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabasesAdi Challa
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoDave Stokes
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0Ted Wennmark
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)Gustavo Rene Antunez
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlsqlhjalp
 

Similar to Big challenges (20)

My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choices
 
Vote NO for MySQL
Vote NO for MySQLVote NO for MySQL
Vote NO for MySQL
 
Fudcon talk.ppt
Fudcon talk.pptFudcon talk.ppt
Fudcon talk.ppt
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 
http://www.hfadeel.com/Blog/?p=151
http://www.hfadeel.com/Blog/?p=151http://www.hfadeel.com/Blog/?p=151
http://www.hfadeel.com/Blog/?p=151
 
Running MySQL on Linux
Running MySQL on LinuxRunning MySQL on Linux
Running MySQL on Linux
 
Case Study with Answers.com on Scaling with Memcached and MySQL
Case Study with Answers.com on Scaling with Memcached and MySQLCase Study with Answers.com on Scaling with Memcached and MySQL
Case Study with Answers.com on Scaling with Memcached and MySQL
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2
 
The benefits of My sql
The benefits of My sqlThe benefits of My sql
The benefits of My sql
 
Kb 40 kevin_klineukug_reading20070717[1]
Kb 40 kevin_klineukug_reading20070717[1]Kb 40 kevin_klineukug_reading20070717[1]
Kb 40 kevin_klineukug_reading20070717[1]
 
Mysql 2007 Tech At Digg V3
Mysql 2007 Tech At Digg V3Mysql 2007 Tech At Digg V3
Mysql 2007 Tech At Digg V3
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
 
No sql3 rmoug
No sql3 rmougNo sql3 rmoug
No sql3 rmoug
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)
 
Exchange Server 2013 Database and Store Changes
Exchange Server 2013 Database and Store ChangesExchange Server 2013 Database and Store Changes
Exchange Server 2013 Database and Store Changes
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 

More from Atner Yegorov

Здравоохранение Чувашии 2015
Здравоохранение Чувашии 2015Здравоохранение Чувашии 2015
Здравоохранение Чувашии 2015Atner Yegorov
 
Чувашия. Итоги за 5 лет. 2015
Чувашия. Итоги за 5 лет. 2015Чувашия. Итоги за 5 лет. 2015
Чувашия. Итоги за 5 лет. 2015Atner Yegorov
 
Инвестиционная политика Чувашской Республики 2015
Инвестиционная политика Чувашской Республики 2015Инвестиционная политика Чувашской Республики 2015
Инвестиционная политика Чувашской Республики 2015Atner Yegorov
 
Господдержка малого и среднего бизнеса в Чувашии 2015
Господдержка малого и среднего бизнеса в Чувашии 2015Господдержка малого и среднего бизнеса в Чувашии 2015
Господдержка малого и среднего бизнеса в Чувашии 2015Atner Yegorov
 
ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015
ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015
ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015Atner Yegorov
 
Брендинг Чувашии
Брендинг ЧувашииБрендинг Чувашии
Брендинг ЧувашииAtner Yegorov
 
VIII Экономический форум Чебоксары
VIII Экономический форум ЧебоксарыVIII Экономический форум Чебоксары
VIII Экономический форум ЧебоксарыAtner Yegorov
 
Рейтин инвестклимата в регионах 2015
Рейтин инвестклимата в регионах 2015Рейтин инвестклимата в регионах 2015
Рейтин инвестклимата в регионах 2015Atner Yegorov
 
Аттракционы тематического парка, Татарстан
Аттракционы тематического парка, ТатарстанАттракционы тематического парка, Татарстан
Аттракционы тематического парка, ТатарстанAtner Yegorov
 
Тематический парк, Татарстан
Тематический парк, ТатарстанТематический парк, Татарстан
Тематический парк, ТатарстанAtner Yegorov
 
Будущее журналистики
Будущее журналистикиБудущее журналистики
Будущее журналистикиAtner Yegorov
 
Будущее нишевых СМИ
Будущее нишевых СМИБудущее нишевых СМИ
Будущее нишевых СМИAtner Yegorov
 
Будущее онлайн СМИ в регионах
Будущее онлайн СМИ в регионах Будущее онлайн СМИ в регионах
Будущее онлайн СМИ в регионах Atner Yegorov
 
Война форматов. Как люди читают новости
Война форматов. Как люди читают новости Война форматов. Как люди читают новости
Война форматов. Как люди читают новости Atner Yegorov
 
Национальная технологическая инициатива
Национальная технологическая инициативаНациональная технологическая инициатива
Национальная технологическая инициативаAtner Yegorov
 
О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ
О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ  ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ  ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ
О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ Atner Yegorov
 
Участники заседания по модернизации
Участники заседания по модернизацииУчастники заседания по модернизации
Участники заседания по модернизацииAtner Yegorov
 
Город Innopolis
Город InnopolisГород Innopolis
Город InnopolisAtner Yegorov
 
презентация1
презентация1презентация1
презентация1Atner Yegorov
 

More from Atner Yegorov (20)

Здравоохранение Чувашии 2015
Здравоохранение Чувашии 2015Здравоохранение Чувашии 2015
Здравоохранение Чувашии 2015
 
Чувашия. Итоги за 5 лет. 2015
Чувашия. Итоги за 5 лет. 2015Чувашия. Итоги за 5 лет. 2015
Чувашия. Итоги за 5 лет. 2015
 
Инвестиционная политика Чувашской Республики 2015
Инвестиционная политика Чувашской Республики 2015Инвестиционная политика Чувашской Республики 2015
Инвестиционная политика Чувашской Республики 2015
 
Господдержка малого и среднего бизнеса в Чувашии 2015
Господдержка малого и среднего бизнеса в Чувашии 2015Господдержка малого и среднего бизнеса в Чувашии 2015
Господдержка малого и среднего бизнеса в Чувашии 2015
 
ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015
ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015
ИННОВАЦИИ В ПРОМЫШЛЕННОСТИ ЧУВАШИИ. 2015
 
Брендинг Чувашии
Брендинг ЧувашииБрендинг Чувашии
Брендинг Чувашии
 
VIII Экономический форум Чебоксары
VIII Экономический форум ЧебоксарыVIII Экономический форум Чебоксары
VIII Экономический форум Чебоксары
 
Рейтин инвестклимата в регионах 2015
Рейтин инвестклимата в регионах 2015Рейтин инвестклимата в регионах 2015
Рейтин инвестклимата в регионах 2015
 
Аттракционы тематического парка, Татарстан
Аттракционы тематического парка, ТатарстанАттракционы тематического парка, Татарстан
Аттракционы тематического парка, Татарстан
 
Тематический парк, Татарстан
Тематический парк, ТатарстанТематический парк, Татарстан
Тематический парк, Татарстан
 
Будущее журналистики
Будущее журналистикиБудущее журналистики
Будущее журналистики
 
Будущее нишевых СМИ
Будущее нишевых СМИБудущее нишевых СМИ
Будущее нишевых СМИ
 
Relap
RelapRelap
Relap
 
Будущее онлайн СМИ в регионах
Будущее онлайн СМИ в регионах Будущее онлайн СМИ в регионах
Будущее онлайн СМИ в регионах
 
Война форматов. Как люди читают новости
Война форматов. Как люди читают новости Война форматов. Как люди читают новости
Война форматов. Как люди читают новости
 
Национальная технологическая инициатива
Национальная технологическая инициативаНациональная технологическая инициатива
Национальная технологическая инициатива
 
О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ
О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ  ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ  ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ
О РАЗРАБОТКЕ И РЕАЛИЗАЦИИ НАЦИОНАЛЬНОЙ ТЕХНОЛОГИЧЕСКОЙ ИНИЦИАТИВЫ
 
Участники заседания по модернизации
Участники заседания по модернизацииУчастники заседания по модернизации
Участники заседания по модернизации
 
Город Innopolis
Город InnopolisГород Innopolis
Город Innopolis
 
презентация1
презентация1презентация1
презентация1
 

Recently uploaded

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Big challenges

  • 1. Solving the Challenges of Big Databases with MySQL Bradley C. Kuszmaul MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 1
  • 2. Challenging Activities Some of the top challenges I hear: • Loading a big database takes a long time. • Adding rows to an existing database is slow. • Adding or removing a column takes my table offline for a long time. • Adding an index takes my table offline for a long time. • Backup is difficult. (Not in this talk.) These activities are painless for small data, but can be painful for big data. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 2
  • 3. Storage Engines Can Help MySQL Storage Engines Client MySQL front end MyISAM InnoDB TokuDB ... OS file storage Client ClientClient Rest of this talk is about what a storage engine can do, focusing on TokuDB because that’s what I know. Tokutek sells TokuDB, a closed-source storage engine for MySQL. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 3
  • 4. Big Data • Big data can range from a terabyte to multiple petabytes. • The difficulties start showing up when your data does not fit in main memory. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 4
  • 5. Is a Gigabyte Big? • No, since it fits in main memory even on a cheap server. • No, since scanning the entire data set off of disk is on the order of seconds. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 5
  • 6. Is a Terabyte Big? • A terabyte fits on a small $500 server with a single disk drive. But even the small end of a terabyte can contain billions of rows of data. The little server probably cannot handle much load. • This machine has too little memory to hold the entire dataset. • It can take hours to scan the data. So yes, a terabyte can be big. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 6
  • 7. Is 10 Terabytes Big? • You might spend $5,000–$20,000 on a server that can hold ten terabytes on a RAID with with a battery-backed-up controller. • Now it’s really tough to fit the data into memory... MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 7
  • 8. Is a Petabyte Big? • Yes. • Some MySQL users have multiple petabytes of data. • They typically shard the data up across hundreds or thousands of servers. • Each server suffers from big data problems, and the system as a whole suffers really big data problems. • Let’s focus on the problems a single server faces. These problems show up at a terabyte or so. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 8
  • 9. Challenges As you move from millions of rows and gigabytes of data to billions of rows and terabytes of data, these problems get harder: Challenge I: Loading data Challenge II: Maintaining indexes under insertions, deletions, and updates. Challenge III: Adding or removing columns. Challenge IV: Adding an index online. Challenge V: Replication (slave lag). Challenge VI: Compression. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 9
  • 10. Challenge I: Loading Data • The first problem is loading the data. • Two reasons for slow performance: 1. Fetching one row at a time from a file. 2. Storing one row at a time onto the database. • TokuDB speeds up #2, but does not address #1. • Rich found an 8-fold speedup loading TPCC. • Perhaps more speedup on more cores (especially if someone addresses #1). MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 10
  • 11. Where does the TokuDB Loader Find Parallelism? 1. Merge sort (especially the in-memory stages) contains a huge amount of parallelism. 2. Compression offers a huge amount of parallelism. TokuDB compresses 4MB blocks. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 11
  • 12. Challenge II: Maintaining Indexes Setup: A big database with many indexes adds, removes, or updates thousands of rows per second. I’ll talk about: • Why B-trees bottleneck insertion rates. InnoDB and MyISAM use B-trees. • How fractal trees improve speed. TokuDB uses fractal trees. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 12
  • 13. B-Trees are Everywhere B-Trees show up in database indexes (such as MyISAM and InnoDB), file systems (such as XFS), and many other storage systems. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 13
  • 14. B-Trees are Fast at Sequential Inserts In Memory Insertions are into this leaf node BB B ··· ··· • One disk I/O per leaf (which contains many rows). • Sequential disk I/O. • Performance is limited by disk bandwidth. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 14
  • 15. B-Trees are Slow for High-Entropy Inserts In Memory BB B ··· ··· • Most nodes are not in main memory. • Most insertions require a random disk I/O. • Performance is limited by disk head movement. • Only 100’s of inserts/s/disk (≤ 0.2% of disk bandwidth). MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 15
  • 16. Recipe for a fractal tree Start with a B-tree: 11 29 61 79 43 47,53,59,61 13,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 Oops, I forgot 17. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 16
  • 17. Added 17 11 29 61 79 43 47,53,59,61 13,17,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 Maybe needed several disk I/Os to bring blocks in to store 17. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 17
  • 18. InnoDB Adds a Buffer 11 29 61 79 43 Not in RAM Buffer 47,53,59,61 13,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 17 • If a block is on disk (not in RAM) then keep the row in a buffer. • Later, move rows from the buffer to the tree nodes. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 18
  • 19. A Buffer Helps (a Little) Sometimes an InnoDB-style buffer works great: The buffer collects several rows for a single tree node, and for the cost of one I/O, several rows are moved to disk. Sometimes the buffer fills up, and the system slows down. Even in these situations, an insertion buffer helps (but not by much). 43 Buffer , 85, 103 17,4,39,49,72, MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 19
  • 20. Fractal Trees Indexes Add Many Buffers 11 29 61 79 43 Buffers 47,53,59,61 13,17,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 insert(17) • All the internal nodes of the tree include buffers. • To insert a row, put a message in the root’s buffer. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 20
  • 21. When a Buffer Overflows 11 29 61 79 43 Buffers insert(17) insert(21) insert(39) 47,53,59,61 13,17,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 • Move messages down the tree when buffers fill. • When a message arrives at a leaves, apply it. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 21
  • 22. Deletes are Also Messages 11 29 61 79 43 Buffers insert(17) insert(21) insert(39) delete(29) 47,53,59,61 13,17,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 22
  • 23. Comparing Data Structures Disk I/Os are the important metric. How many does it take to do an insertion or a query? Data Insertion cost Query cost structure (in practice) B-tree Many I/Os One I/O LSM tree Fraction of an I/O Many I/Os Fractal Tree Fraction of an I/O One I/O • Fractal tree indexes reduce the cost of index maintenance by two to three orders of magnitude. • So you can ingest data faster and maintain more indexes. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 23
  • 24. Maintaining Indexes on SSD Inserting one billion rows, maintaining three secondary indexes. TokuDB’s terminal insertion rate was 14,532 inserts/s. InnoDB’s was 1,607 inserts/s. Platform: TokuDB v6.5, Centos 5.6; 2x Xeon L5520; 72GB RAM; LSI MegaRaid 9285; 2x 256GB Samsung 830 in RAID0. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 24
  • 25. Reducing Wear on SSD • 161 times fewer write operations. • 17 times fewer bytes written. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 25
  • 26. SSDs Wear Out • Modern SSDs wear out after about 1000 overwrites. • sysbench achieves 100MB/s on random writes on a 256GB Samsung 830, overwriting in 7 hours, and wearing out in 300 days. • In this scenario, the FTL amplifies writes by another 4x, so it will last only 75 days. • InnoDB is a little slower than sysbench, and would wear it out in about 246 days. • Under the same workload, TokuDB would last 11 years. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 26
  • 27. Covering Indexes Arranging for your queries to be index-only can make huge speedups. For example see this guest blog posting from Baron Schwartz of Percona: http://www.tokutek.com/2011/09/ are-you-forcing-mysql-to-do-twice -as-many-joins-as-necessary/ MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 27
  • 28. Challenge III: Adding a Column Many DBAS have had the following experience: • Load a bunch of data into a table and set up the associated indexes. • Realize that adding a column would be helpful. This becomes painful for big data. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 28
  • 29. A Painful Way to Add a Column The MyISAM / InnoDB way: • Lock the table. • Scan through the table, changing every row to the new format (adding the column). • Unlock the table. This process can take many hours during which time the system permits no modifications to the table. The bigger the data the longer the downtime. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 29
  • 30. A Fast Way to Add a Column 11 29 61 79 43 Buffers addrow(x) 47,53,59,61 13,17,19,23,29 83,89,97,10131,37,41,43 1,3,5,7,11 67,71,73,79 Send a “broadcast” message into the fractal tree index. • As the message descends tree the message is replicated. • When it arrives at a leaf, update the leaf’s rows. TokuDB can add or delete a column with essentially no additional I/O. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 30
  • 31. Q: How Fast is Hot Column Addition? Zardosht wrote about a (typical) example: alter table ontime add column totalTime int default 0; Hot column addition reduced the schema change time from 17 hours to 3 seconds: http://www.tokutek.com/2011/03/ hot-column-addition-and-deletion-part-i-performance A: It’s fast MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 31
  • 32. Challenge IV: Adding an Index Adding an index to a big database can be painful. The problem: What if someone adds a row while we are building the index? The row might not make it into the index, so the index is corrupted. Many storage engines lock the table when adding an index. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 32
  • 33. A Fast Way to Add an Index Scan through the table creating the index. UnindexedIndexed 2 17 29 3741 7 31 13 5 11 3 Partially constructed index Table 2 7 31 41 MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 33
  • 34. A Fast Way to Add an Index Scan through the table creating the index. UnindexedIndexed 17 2 17 29 3741 7 31 13 5 11 3 Partially constructed index Table 2 7 31 41 MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 34
  • 35. A Fast Way to Add an Index Scan through the table creating the index. UnindexedIndexed 1713 2 17 29 3741 7 31 13 5 11 3 Partially constructed index Table 2 7 31 41 MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 35
  • 36. Handling Updates I If another thread updates something that’s been scanned, then update the index UnindexedIndexed 2 17 29 3741 7 31 5 11 3 Partially constructed index Table 2 7 31 41 23 23 13 MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 36
  • 37. Handling Updates II If another thread updates something that has not been scanned, then do not update the index, since the indexer will pick up the value. UnindexedIndexed 2 17 29 3741 7 31 5 11 3 Partially constructed index Table 2 7 31 41 23 23 19 13 MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 37
  • 38. Q: How Fast is Hot Index Addition? Zardosht wrote about a (typical) example: • InnoDB took 31m 34s. • TokuDB took 9m 30s. • But the table was locked for less than 2s. http://www.tokutek.com/2011/04/hot-indexing-part-i-new-feature A: It’s fast MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 38
  • 39. Challenge V: Replication (Slave Lag) Many systems employ MySQL’s master-slave replication • to distribute read workloads • to build backups, and • to implement geographically distributed disaster recovery. But MySQL slaves often fall behind, since the replication is single-threaded (even the latest multithreaded slaves are single threaded in each database). MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 39
  • 40. TokuDB Keeps Up After 60s at 3000TPS, InnoDB was 140s behind, but TokuDB is still keeping up. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 40
  • 41. Challenge VI: Compression Compression can reduce the cost of maintaining your database. • For SSD, space costs money, so compression saves capital costs. • For rotating disks, compression improves performance. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 41
  • 42. Aggressive Compression Log-style data with stored procedure names, database instance names, begin and ending execution timestamps, duration row counts, and parameter values. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 42
  • 43. Compression Speeds Up Loading MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 43
  • 44. Compression Speeds Up The DB MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 44
  • 45. Why not Always Use Aggressive Compression? • If you have less than six cores in your server, the extra CPU work from the compression workload compression work might slow you down: Use standard compression. • For modern servers, there are plenty of CPU cycles to do the compression: Use aggressive compression. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 45
  • 46. Big Data Challenges If you have big data, you will find these challenges (and others): • Loading data. • Inserting, updating, and deleting rows while maintaining indexes. • Schema changes. • Replication (slave lag) • Compression. TokuDB 6.5 was announced this week and is available now. MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 46
  • 47. More Information You can download this talk and others at http://tokutek.com/technology MySQL Connect 2012 Solving the Challenges of Big Databases with MySQL 47