Top Banner
Peter Zaitsev, CEO, Percona April 16, 2015 Percona Live MySQL Conference SSD for MySQL
58

SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

Feb 15, 2018

Download

Documents

trinhdien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

Peter Zaitsev, CEO, Percona April 16, 2015

Percona Live MySQL Conference

SSD for MySQL

Page 2: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 2

In This Presentation

Flash technology overview

Review some of the available technology

What does this mean for databases ?

Specific opportunities for MySQL

Page 3: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 3

Before SSDs

Page 4: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 4

There were HDDs

Good at Sequential Read/Writes

RT=Seek Time + Rotation Latency

Reads/Write – Similar Latency

No specific write limits

Retain data for a long time

One IO request in parallel

Low cost per GB

Page 5: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 5

RAID and SAN

Page 6: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 6

Using Many HDDs together

Caching Reads

Buffering Writes (Writeback Cache)

Better Sequential Read/Write speed

Better throughput at high concurrency

Higher IO latencies for uncached IO

Page 7: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 7

Flash Revolution

Use Flash chips instead

of platters No moving

parts No seeks

Page 8: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 8

NAND Flash

Cell

Page/Read Block

Erase Block

Write but no overwrite

Wears with writes (erases)

Page 9: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 9

Writing to the Flash

• Set all bits to “1111111…” Erase

• Set some of the bits to 0: “0100111..” Write

•  Impossible. Do Erase, when Write

Change Zero to one

Page 10: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 10

Types of NAND Flash

From AnandTech:

Page 11: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 11

Flash Storage Design

Cache

Battery/Super Capacitor

Controller + Complex Firmware

Built-in Parallelism

Page 12: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 12

Flash Controller Tasks

Write wear leveling

Garbage collection

Error correction

Bad block mapping

Read scrubbing

Read disturb management

Encryption

Page 13: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 13

Flash Properties Lots of IOs per device! (100K+)

Less random IO penalty

Writes more expensive than reads (but can be faster)

Limited by amount of writes

Limited retention

Concurrent execution on single device

Fast write acknowledgement (safe or not)

Can burst writes

Page 14: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 14

Flash Interface Designs

DIMM

PCI-E

SFF-8639

SATA/SAS

FC and Network

Page 15: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 15

Transitioning

AHCI NVMe

Page 16: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 16

AHCI vs NVMe

•  Source: AnandTech.com

Page 17: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 17

Some Product Examples

Products and leaders are changing quickly

Page 18: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 18

Sandisk ULLtraDIMM

Page 19: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 19

HGST Virident

Page 20: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 20

Sandisk FusionIO

Page 21: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 21

Intel P3700

Page 22: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 22

Intel 750

Page 23: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 23

Intel 730 (SATA)

Page 24: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 24

mSATA

Page 25: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 25

M.2 Interface

Page 26: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 26

Violin Memory

Page 27: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 27

“Consumer” vs “Enterprise”

Performance

Endurance

Durability

Retention

Encryption

Page 28: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 28

Not your HDD

All HDDs are the same; all SSDs are

different

Page 29: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 29

Evaluation

Performance changes over time

Empty space matters

Complex internals

Watch stability carefully

Page 30: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 30

How Flash Fails

Clear write amount defined EOL (but often can handle a lot more)

One day… it’s gone

“Power Loss Protection”

Internal ECC and redundancy

Page 31: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 31

To RAID or Not to RAID ?

More valuable for consumer grade

Watch for good flash support

RAID controller logic may slow things down

Use a redundant array of inexpensive servers instead?

Page 32: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 32

Redundancy

Device internal redundancy

Hardware RAID

Software RAID

Filesystem “RAID”

Page 33: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 33

OS Support

Flash support is actively being improved

TRIM

Sparse Files

Page 34: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 34 www.percona.com

Flash And Databases

Page 35: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 35

Database History

Most have been designed in HDD time

Optimize for sequential IO

Count on cheap sequential writes

RAID, BBU to improve performance

Page 36: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 36

It’s Time for Flash

Your OLTP Database should

live on Flash

Page 37: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 37

But What Flash ?

Pick a flash type that is right for your

application

Page 38: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 38

IO vs Memory

Page 39: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 39

Warmup

Much faster warmup times

Even if the database fits in memory, SSD might be justified

Page 40: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 40

Tolerate more IO bound load

•  5ms •  Can do 20 IO/s for 100ms

response time (non parallel) HDD

•  0.1ms •  Can do 1000 IO/s for 100ms

response time (non parallel) Flash

Page 41: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 41

Endurance

Might be a top consideration

Page 42: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 42

Endurance Math

•  4400GB/day over 5 Years •  1400MB/sec peak writes •  66 days at peak write throughput

HGST FlashMax III 2200GB

•  72TB total life time writes •  400MB/sec write •  52 hours at peak write throughput

Crucial M500

960GB

Page 43: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 43

Databases and Flash

How do we optimize databases to use

flash best?

Page 44: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 44

Storage Engines

InnoDB

TokuDB

Page 45: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 45

“Torn Page” problem

Flash can avoid this with little cost due to internal design

FusionIO NVMFS (Atomic Writes)

Copy-on-Write File Systems •  ZFS •  BTRFS

Filesystem level data journaling less preferred •  data=journal for EXT4

Skip-Innodb-double-write

Page 46: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 46

Fast IO Path

Bypass Caching O_DIRECT

Native Asynchronous IO

Efficient Checksuming

Innodb_checksum_algorithm=crc32

Innodb_flush_method=O_DIRECT

Page 47: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 47

IO Cost Accounting

Sequential vs Random IO balance

IO vs CPU Balance

Smaller page sizes might make sense •  innodb_page_size=4K

Page 48: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 48

Less Pre-fetching

Most pre-fetched data must be used

Often best to try it out

Page 49: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 49

Less Merging on Flushing

Do not assume flushing multiple sequential dirty pages has same cost

Innodb_flush_neighbors=0

Page 50: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 50

Less Space on Disk

Innodb Compression (2x typical)

TokuDB Compression (5-10x typical)

Archiving data off OLTP System

Page 51: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 51

Less Writes on Flash

Hybrid Flash/SSD System

Transactional Logs, Other logs on the HDD with RAID and BBU

Small Temporary objects on tmpfs

Innodb_log_file_size=<LARGE>

Page 52: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 52

Logs on RAID can be fast

Page 53: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 53

Single Intel 730 Sysbench

Page 54: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 54

IOPS

Page 55: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 55

Consistency

•  Graph by http://cloud.percona.com

Page 56: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 56

Is Flash Too Fast ?

•  Multiple instances might scale better

Page 57: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 57

Other Thoughts

Host hardware and OS matter, especially with high end flash

Virtualization has higher relative overhead

Network higher relative overhead

Page 58: SSD for MySQL - Percona – The Database Performance · PDF fileSSD for MySQL . 2 In This Presentation Flash technology overview ... SSD might be justified . 40 Tolerate more IO bound

www.percona.com 58 www.percona.com

Peter Zaitsev [email protected]

@PeterZaitsev https://www.linkedin.com/in/peterzaitsev

Thank You!