SSD vs. HDD / WAL, indexy a fsync



Podobné dokumenty
Výkonnostní archeologie

PostgreSQL na EXT3/4, XFS, BTRFS a ZFS

Když konvenční disky nestačí tempu vašich aplikací

PostgreSQL na EXT3/4, XFS, BTRFS a ZFS

SSD v serveru. Pavel Šnajdr InstallFest 2015

ReDefine Midrange Storage VNX/VNXe. Václav Šindelář, EMC

Storage... co je nového (SSD!)... a co se zatím nepovedlo rozbít:-)

FLASH NOVÉ HRANICE DOSAŽITELNÉHO

Příloha č. 2A Zadávací dokumentace k Veřejné zakázce Dodávka technologického řešení pro Geoportál

Efektivní využití SSD v produktech Dell: SSD za cenu HDD. Ondřej Bajer Storage Systems Engineer

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Datová úložiště v roce 2017 aneb jak si vybrat to správné?

Přednáška. Úložiště dat: HDD, SDD, RAID, DAS, NAS, SAN. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

2.1 Obecné parametry Obecné parametry Rack serveru

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

Red Hat Enterprise Virtualization

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU

Specifikace předmětu veřejné zakázky

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

BigData. Marek Sušický

Bi-Direction Replication

Datová centra a úložiště. Jaroslav G. Křemének g.j.kremenek@gmail.com

DataDomain pod drobnohledem

NetApp Flash technologie. David Rusín NetApp BDM

Uchovávání dat v SSD

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

Výpočetní technika pro město Moravská Třebová

nutné smazat zároveň i všechna ostatní zainteresovaná paměťová místa přepisovaném

1x server pro distanční vzdělávání (výpočtový server)

PostgreSQL jako platforma pro datové sklady

Základní pojmy informačních technologií

SSD akcelerátor v PCIe slotu. Až 25 SSD/SAS/NL-SAS disků na jeden server

Migrace CIDUG. Ing. Pavel Krutina

OZD. 2. ledna Logický (Objekty, atributy,...) objekty stejného typu.

Monitoring výkonu PostgreSQL

RAID, LVM a souborové systémy

LOGBOOK. Blahopřejeme, našli jste to! Nezapomeňte. Prosím vyvarujte se downtrade

Informační a komunikační technologie

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Ing. Šárka Endrlová, starostka. Ing. Jana Dvořáková.

Datová úložiště. Zdroj: IBM

Forenzní analytická jednotka - technická specifikace (9 ks)

Výzva k podání nabídek

PA152: Efektivní využívání DB 2. Datová úložiště. Vlastislav Dohnal

Fujitsu Day Praha 2018

Hyperkonvergovaná řešení jako základní stavební blok moderního IT

EFEKTIVNÍ INFRASTRUKTURA

Zodpovědná osoba: , do h

Brno. 30. května 2014

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Zpět do budoucnosti redefinujeme storage

Technická specifikace ČÁST 1. Místo plnění: PČR Kriminalistický ústav Praha, Bartolomějská 10, Praha 1

Technická specifikace

Zadávací dokumentace na veřejnou zakázku malého rozsahu s názvem Obměna informačních technologií

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry.

SERVERY A STORAGE ABACUS Jan Petrák jp@abacus.cz

<Insert Picture Here> Software, Hardware, Complete

Praktická cvičení- teoretická průprava

HW počítače co se nalézá uvnitř počítačové skříně

Disková pole (RAID) 1

Počítačová sestava pevný disk (HDD, SSD, USB flash disk)

Novinky v diskových polích EMC & Flash technologie v produktech EMC

Příloha č. 1 k čj.: 1/120/ Technická specifikace Zajištění HW a dlouhodobé podpory infrastruktury Intel pro VoZP ČR

prostředí IDS 11.5 na Martin Mikuškovic, ICZ a. s

Základní jednotka procvičování

Technická specifikace

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Ekonomické přínosy Cloud Computingu

Číslo projektu: CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Zdeněk Dostál Ročník: 1. Hardware.

Použití PostgreSQL v. P2D Martin Swiech

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Synchronní replikace v PostgreSQL 9.1

<Insert Picture Here> EXADATA extrémní infrastruktura pro datové sklady

Pevné disky, fyzická struktura, geometrie disku

MARIE PACS S PACSem hezky od podlahy když se data sypou!

Technické a dodací podmínky

DATOVÁ ÚLOŽIŠTĚ (DÚ) PRŮMYSLOVÉ DNY

» STORAGE A SERVERY ABACUS Jan Petrák jp@abacus.cz

Technické a dodací podmínky

Paměti Flash. Paměti Flash. Základní charakteristiky

Violin Technologický partner Fujitsu. Bleskově zrychlete váš business. Martin Káňa Storage World. Copyright 2011 FUJITSU

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Kupní smlouva Dynamický nákupní systém Pk Výpočetní technika Výzva 45 - Dodávka Diskových polí KUPNÍ SMLOUVA

MANUÁL SMART-MQU. 1. Úvod. 2. Fyzické provedení přenosové sítě.

TECHNICKÁ SPECIFIKACE

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS pavel@blahovec.cz

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Město Česká Lípa městský úřad odbor rozvoje, majetku a investic náměstí T. G. Masaryka č.p. 1, Česká Lípa

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

13, CPU 1156, 775, AM3, AM2+,

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Integrace formou virtualizace

Instalace a konfigurace

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Část 1. Technická specifikace. Posílení ochrany demokratické společnosti proti terorismu a extremismu

Zotavení z chyb. Databázové systémy

Notebook 15.6" (15 ks)

Specifikace předmětu veřejné zakázky

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

Transkript:

SSD vs. HDD / WAL, indexy a fsync Prague PostgreSQL Developers Day 2012 Tomáš Vondra (tv@fuzzy.cz( tv@fuzzy.cz)

What a great day for science!

Otázky DB = data + indexy + transakční log (WAL) Co umístit na samostatný disk? Co patří na HDD a co na SSD? Jakou fsync metodu zvolit? Jak to závisí na typu zátěže?

Charakteristiky disků 7.2k SATA spinners ~ 120 IOPS sekvenčně: ~ 100 MB/s náhodně: ~ 0.5 MB/s 512B / 4kB sektory, běžně kapacita několik TB SSDs (Intel 320 120GB) (deseti)tisíce IOPS čtení: ~ 250 MB/s zápis: ~ 120 MB/s 512kB bloky, kapacita desítky / stovky GB

Consumer-level... jen obyčejné SATA-II disky demonstrace obecných I/O charakteristik aplikovatelné na srovnatelný hw 15k SAS disky, podobné SATA SSD disky, obtížnější aplikace na specializovaná SSD (fusion-io, VeloDrive/Z-Drive,...) RAID pole s dobrým řadičem (write cache) výrazně odlišný workload

Benchmarky OLTP (pgbench) TPC-H hodně malých transakcí (typicky přes primární klíče) počet transakcí za vteřinu (tps) read-only nebo read-write (50:50, netypický poměr) velké dotazy nad velkým objemem dat počet vteřin (trvání loadu, vyhodnocení dotazu) GROUP BY, velké joiny, (i hodně náhodného I/O) data >> RAM

Kdybych měl tolik peněz jako Bruce Wayne...

Dosahovat výkon za hromady peněz není velké umění.

výkon / cena

výkon / (cena / GB)

$ / GB HDD (Maxtor DiamondMax 21) 500 GB SATA II 7.2k ~ 2000 Kč => 4 Kč / GB SSD (Intel 320) 120 GB SATA II ~ 4200 Kč => 40 Kč / GB kombinace (naivní model) vážený součet podle objemu (indexy, WAL, data,...) 20% HDD + 80% SSD => 33 Kč / GB 80% HDD + 20% SSD => 11 Kč / GB

výkon / (cena / GB) pgbench na HDD výkon 120 tps cena 4 Kč / GB metrika = 120 / 4 = 30 pgbench na SSD výkon 4000 tps cena 40 Kč / GB metrika = 4000 / 40 = 100 100 > 30

78,31% všech statistik je vymyšlených

Důležitá jsou vaše čísla!

data vs. indexy

OLTP (pgbench)

pgbench s oddělením dat a indexů read-only i read-write [tps, vyšší hodnoty jsou lepší] 6000 5000 4000 3000 2000 1000 0 DATA=ssd-2 IDX=ssd-2 DATA=ssd-2 IDX=hdd-1 DATA=ssd-2 IDX=ssd-1 DATA=hdd-2 IDX=hdd-2 DATA=hdd-2 IDX=hdd-1 DATA=hdd-2 IDX=ssd-1 read-only read-write

pgbench s oddělením dat a indexů (80:20) read-only i read-write [výkon/$, vyšší hodnoty jsou lepší] 160 140 120 100 80 60 40 20 0 DATA=ssd-2 IDX=ssd-2 DATA=ssd-2 IDX=hdd-1 DATA=ssd-2 IDX=ssd-1 DATA=hdd-2 IDX=hdd-2 DATA=hdd-2 IDX=hdd-1 DATA=hdd-2 IDX=ssd-1 read-only read-write

DSS/DWH (TPC-H)

TPC-H výkon / dotaz č. 17 počet vteřin na vyhodnocení [nižší hodnoty jsou lepší] 300 250 200 150 100 50 0 DATA=ssd-2 IDX=ssd-2 DATA=ssd-2 IDX=hdd-1 DATA=ssd-2 IDX=ssd-1 DATA=hdd-2 IDX=hdd-2 DATA=hdd-2 IDX=hdd-1 DATA=hdd-2 IDX=ssd-1

TPC-H výkon / dotaz č. 17 (80:20) výkon / $ [vyšší hodnoty jsou lepší] 10 9 8 7 6 5 4 3 2 1 0 DATA=ssd-2 IDX=ssd-2 DATA=ssd-2 IDX=hdd-1 DATA=ssd-2 IDX=ssd-1 DATA=hdd-2 IDX=hdd-2 DATA=hdd-2 IDX=hdd-1 DATA=hdd-2 IDX=ssd-1

data vs. indexy SSD výborná investice pro OLTP zátěž (pgbench) ne tak dobré pro DWS/DSS-like workload HDD OLTP výkon nemůže konkurovat SSD (ani výkon/cena) v DWH často zdatně konkuruje SSD kombinace SSD a HDD nic moc (když musíte, tak na SSD dejte data)

data vs. WAL

Write Ahead Log aka transakční log aka XLog aka REDO informace o modifikacích dat životně důležité pro recovery při dotazování se nepoužívá

OLTP (pgbench)

oddělení dat a WAL pgbench (read-only i read-write) [počet transakcí za vteřinu] 4500 4000 3500 3000 2500 2000 1500 1000 500 0 DATA=ssd-2 WAL=hdd-1 DATA=ssd-2 WAL=ssd-2 DATA=ssd-2 WAL=ssd-1 DATA=hdd-2 WAL=hdd-2 DATA=hdd-2 WAL=hdd-1 DATA=hdd-2 WAL=ssd-1 read-only read-write

oddělení dat a WAL pgbench (read-only i read-write) [výkon/$] 140 120 100 80 60 40 20 0 DATA=ssd-2 WAL=hdd-1 DATA=ssd-2 WAL=ssd-2 DATA=ssd-2 WAL=ssd-1 DATA=hdd-2 WAL=hdd-2 DATA=hdd-2 WAL=hdd-1 DATA=hdd-2 WAL=ssd-1 read-only read-write

data vs. WAL / OLTP data spousta náhodných přístupů => SSD WAL sekvenční zápisy => HDD WAL i data na stejném disku => terror :-( databáze musí seekovat (přístup k datům) důsledek: zápisy do WAL pak nejsou sekvenční skvělá je kombinace data na SSD a WAL na HDD rozdíl vs. SSD+SSD ~ rychlost sekvenčního zápisu (HDD má jen 70 MB/s, SSD má 130 MB/s) s rychlejším HDD diskem (RAID) => asi ideál :-)

DSS/DWH (TPC-H)

TPC-H benchmark / load příprava dat (load, apod.) [počet vteřin, nižší hodnoty jsou lepší] 800 700 600 500 400 300 200 100 0 DATA=ssd-2 WAL=hdd-1 DATA=ssd-2 WAL=ssd-2 DATA=ssd-2 WAL=ssd-1 DATA=hdd-2 WAL=hdd-2 DATA=hdd-2 WAL=hdd-1 DATA=hdd-2 WAL=ssd-1 load primary keys foreign keys index analyze

TPC-H benchmark / load (80:20) příprava dat (load, apod.) [výkon/$, vyšší hodnoty jsou lepší] 80 70 60 50 40 30 20 10 0 DATA=ssd-2 WAL=hdd-1 DATA=ssd-2 WAL=ssd-2 DATA=ssd-2 WAL=ssd-1 DATA=hdd-2 WAL=hdd-2 DATA=hdd-2 WAL=hdd-1 DATA=hdd-2 WAL=ssd-1 load primary keys foreign keys index analyze

data vs. WAL / TPC-H setup WAL nijak neovlivňuje dotazy výkon/$ - pevné disky bezpečně vedou nižší výkon <=> nižší sekvenční rychlost rychlejší HDD => výkon srovnatelný se SSD

fsync metody

pg_test_fsync srovnání chování různých metod fsyncu fsync / open_sync fdatasync / open_datasync podpora závisí na souborovém systému, verzi kernelu, vztah na direct I/O standardně write + write + + fsync (fs cache) obcházení page cache (ne vždy užitečná - řadiče)

pg_test_fsync / HDD a SSD 8kB page writes 140 120 100 80 60 40 20 0 fdatasync open_datasync fsync open_sync 14000 12000 10000 8000 6000 4000 2000 0 HDD SSD

pg_test_fsync / HDD a SSD 8kB page writes 140 120 7% 7% 14000 12000 100 10000 80 8000 60 6000 40 4000 20 2000 0 fdatasync open_datasync fsync open_sync 0 HDD SSD

OLTP (pgbench)

SSD vs. HDD / read-write pgbench počet transakcí za vteřinu [vyšší hodnoty jsou lepší] 60 50 40 30 20 10 0 fdatasync open_datasync fsync open_sync 1400 1200 1000 800 600 400 200 0 hdd ssd

DSS/DWH (TPC-H)

TPC-H set-up / load dat různé fsync metody / wal_level [počet vteřin, nižší hodnoty jsou lepší] 700 600 500 400 300 200 100 0 fdatasync / hdd-2 open_datasync / hdd-2 fsync / hdd-2 open_sync / hdd-2 fdatasync / ssd-2 open_datasync / ssd-2 fsync / ssd-2 open_sync / ssd-2 archive minimal

TPC-H set-up / load dat různé fsync metody / wal_level [počet vteřin, nižší hodnoty jsou lepší] 700 600 500 400 300 200 100 0 fdatasync / hdd-2 open_datasync / hdd-2 fsync / hdd-2 open_sync / hdd-2 fdatasync / ssd-2 open_datasync / ssd-2 fsync / ssd-2 open_sync / ssd-2

fsync metody značný rozdíl mezi sync a datasync ~ 20% open_* - žádný měřitelný efekt wal_level = minimal cca 30% zrychlení při loadu dat pokud nepotřebujete archive

Cloud?

There s a rumor that Stewart Smith and I might do a Q&A about databases in the cloud. If it happens, it will involve lots of pessimism and swearing. Selena Deckelmann http://chesnok.com

Závěrem...

Závěrem... přínos SSD závisí na workloadu (OLTP) pgbench je extrém (zápis:čtení ~ 1:1) SSD výrazně více zatěžují CPU než HDD spolehlivost SSD je otázka HDD i SSD se skládají z bloků HDD mají plotny, SSD mají moduly (např. 40 GB) více bloků => vyšší sekvenční výkon rychlejší disky (15k SAS) horší cena/výkon

Každý systém má bottleneck...

Read-only latence

Read-write latence

load na SSD

r/w pgbench

We care more about your data than our benchmarks... and you should too!

Ne tak zřejmé... SSD vám nezaručí vyšší výkon závisí na workloadu (OLTP/DWH, read/write) závisí na části databáze na SSD (indexy, WAL) mohou být levnější varianty (hot standby,...) závisí na mount options (barriers, ) SSD výrazně více zatěžují CPU menší iowait => větší sys/user time každý systém má bottleneck

Ne tak zřejmé... spolehlivost SSD je otázka málo dat, každé nové SSD je víceméně jiné S.M.A.R.T. víceméně jen pro wearout :-( failuje hlavně firmware (řadič) nepředvídatelné příklad: Intel 8MB bug RAID a SSD ne každý RAID umí spolupracovat (TRIM) stejně jako u HDD stavět RAID z více šarží firmware je většinou stejný

SSD a HDD HDD skládají se z ploten počet ploten, vyšší hustota => vyšší rychlost náhodné operace dány rychlostí otáčení rychlost se mění i podle pozice na disku SSD skládají se z modulů (např. Intel á 40GB) více modulů => vyšší sekvenční rychlost náhodné operace dány řadičem

Rychlejší disky (15k)? cca 2x vyšší výkon 7.2k SATA - 120 IOPS 15k SAS - 250 IOPS (až 400) 4x vyšší cena 300 GB 7.2k SATA - 9600 Kč 300 GB 15k SAS - 2100 Kč celkově ~ 2x horší metrika (tps / $ / GB)