SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this...

61
SSD For Databases Vadim Tkachenko Peter Zaitsev Percona April 2016

Transcript of SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this...

Page 1: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

SSD For DatabasesVadim Tkachenko

Peter ZaitsevPercona

April 2016

Page 2: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

In this Presentation

2

Flashtechnologyoverview

Reviewsomeoftheavailablehardware

Whatdoesthismeanfordatabases?

SpecificopportunitiesforMySQL

Page 3: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be
Page 4: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

There were HDDs…

4

GoodatSequentialRead/Writes

RT=SeekTime+RotationLatency

Reads/Write– SimilarLatency

NoSpecificWriteLimits

Retaindataforalongtime

LowcostperGB

Page 5: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

RAID and SAN

Page 6: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Using Many HDDs together

6

CachingReads

BufferingWrites(WritebackCache)

BetterSequentialRead/Writespeed

Betterthroughputathighconcurrency

Higher IOlatenciesforuncachedIO

Page 7: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Flash Revolution

7

UseFlashchipsinsteadofplatters

Nomovingparts Noseeks

Page 8: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

NAND Flash

8

Cell

Page/ReadBlock

EraseBlock

Writebutnooverwrite

Wearswithwrites(erases)

Page 9: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Writing to the Flash

9

• Setallbitsto“1111111…”Erase

• Setsomeofthebitsto0:“0100111..”Write

• Impossible.DoErase,whenWriteChangeZerotoone

Page 10: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Types of NAND Flash

From AnandTech:

10

Page 11: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Flash Storage Design

11

Cache

Battery/SuperCapacitor

Controller+ComplexFirmware

Built-inParallelism

Page 12: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Flash Controller and Firmware Tasks

12

Writewearleveling

Garbagecollection

Errorcorrection

Badblockmapping

Readdisturbmanagement

Encryption

Page 13: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Flash Properties

13

LotsofIOsperdevice!(100K+)

LessrandomIOpenalty

Writesmoreexpensivethanreads(butcanbefaster)

Limitedbyamountofwrites

Limitedretention

Concurrentexecutiononsingledevice

Fastwriteacknowledgement(safeornot)

Page 14: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Flash Interface Designs

14

DIMM

PCI-E

SFF-8639

SATA/SAS

FCandNetwork

Page 15: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Transitioning

15

AHCI NVMe

Page 16: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

AHCI vs NVMe

Source: AnandTech.com

16

Page 17: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Some Product Examples

17

ProductsandLeadersarechangingquickly

Page 18: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Sandisk ULLtraDIMM

18

Page 19: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

HGST Virident

19

Page 20: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Sandisk FusionIO

20

Page 21: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Intel P3x00

21

Page 22: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Intel 750

22

Page 23: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Intel 730 (SATA)

23

Page 24: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

mSATA

24

Page 25: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

M.2 Interface

25

Page 26: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Violin Memory

26

Page 27: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

“Consumer” vs “Enterprise”

27

Performance

Endurance

Durability

Retention

Encryption

Page 28: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Not your HDD

28

AllHDDsarethesame;AllSSDsaredifferent

Page 29: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Evaluation

29

Performancechangesovertime

EmptySpaceMatters

Complexinternals

Watchstabilitycarefully

Page 30: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

How Flash Fails

30

WriteamountdefinedEOL(butoftencanhandlealotmore)

Oneday…it’sgone

InternalECCandredundancy

Page 31: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

To RAID or not to RAID ?

31

Moreimportantforconsumergrade

CheckRAIDcontrollerforgoodFlashsupport

RAIDcontrollerlogicmayslowthingsdown

Usearedundantarrayofinexpensiveserversinstead?

Page 32: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Redundancy

32

Deviceinternalredundancy

HardwareRAID

SoftwareRAID

Filesystem“RAID”

Page 33: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

OS Support

33

Flashsupportisactivelybeingimproved

TRIM

SparseFiles

Page 34: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

www.percona.com

Flash And Databases

Page 35: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Database History

35

MosthavebeendesignedinHDDtime

OptimizeforsequentialIO

Countoncheapsequentialwrites

RAID,BBUtoimproveperformance

Page 36: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

It’s time for Flash

36

YourOLTPDatabaseshouldliveonFlash

Page 37: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Intel P3600 – 1.6TB/$2450

37

Page 38: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Samsung SM863 – 1.9TB/$1500

38

Page 39: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Samsung 850 PRO – 2TB/$850

39

Page 40: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

But What Flash ?

40

Pickaflashtypethatisrightforyourapplication

Page 41: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

IO vs Memory

41

Page 42: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Warmup

42

Muchfasterwarmuptimes

Evenifthedatabasefitsinmemory,SSDmightbejustified

Page 43: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Tolerate more IO bound load

43

• 5ms• Cando20IO/sfor100msresponsetime(nonparallel)

HDD

• 0.1ms• Cando1000IO/sfor100msresponsetime(nonparallel)

Flash

Page 44: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Endurance

44

Mightbeatopconsideration

Page 45: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Endurance Math

45

• 4400GB/dayover5Years• 1400MB/secpeakwrites• 66daysatpeakwritethroughput

HGSTFlashMaxIII2200GB

• 72TBtotallifetimewrites• 400MB/secwrite• 52hoursatpeakwritethroughput

CrucialM500960GB

Page 46: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Databases and Flash

46

HowdoweoptimizedatabasestousFlashbest?

Page 47: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Storage Engines

47

Innodb

TokuDB

Page 48: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

“Torn Page” problem

48

Flashcanavoidthiswithlittlecostduetointernaldesign

FusionIO NVMFS(AtomicWrites)

Copy-on-WriteFileSystems• ZFS• BTRFS

Filesystem leveldatajournalinglesspreferred• data=journalforEXT4

Skip-Innodb-double-write

Page 49: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Fast IO Path

49

BypassCachingO_DIRECT

NativeAsynchronousIO

EfficientChecksuming

Innodb_checksum_algorithm=crc32

Innodb_flush_method=O_DIRECT

Page 50: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

IO Cost Accounting

50

SequentialvsRandomIObalance

IOvs CPUBalance

Smallerpagesizesmightmakesense• innodb_page_size=4K

Page 51: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Less Pre-fetching

51

Mostpre-fetcheddatamustbeused

OftenbesttotryItout

Page 52: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Less merging on flushing

52

Donotassumeflushingmultiplesequentialdirtypageshassamecost

Innodb_flush_neighbors=0

Page 53: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Less Space on Flash

53

InnodbCompression(2xtypical)

TokuDBCompression(5-10xtypical)

ArchivingdataoffOLTPSystem

Page 54: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Less Writes on Flash

54

HybridFlash/HDDSystem

TransactionalLogs,OtherlogsontheHDDwithRAIDandBBU

SmallTemporaryobjectsontmpfs

Innodb_log_file_size=<LARGE>

Page 55: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Logs on RAID can be fast

55

Page 56: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Single Intel 730 Sysbench

56

Page 57: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

IOPS

57

Page 58: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Consistency

58

Page 59: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Is Flash Too Fast ?

Multiple instances might scale better

59

Page 60: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Other Thoughts

60

HosthardwareandOSmatter,especiallywithhighendflash

Virtualizationhashigherrelativeoverhead

Networkhigherrelativeoverhead

Page 61: SSD For Databases - Percona · PDF fileSSD For Databases Vadim Tkachenko ... In this Presentation 2 Flash technology overview Review some of the available hardware ... SSD might be

Thank you!

61

[email protected]://www.linkedin.com/in/vadimtk

@VadimTk

[email protected]://www.linkedin.com/in/peterzaitsev

https://twitter.com/peterzaitsev