Databáze na SSD

Re:Databáze na SSD
« Odpověď #15 kdy: 23. 05. 2022, 14:03:27 »
A nezalezi zivotnost SSD aj od zaplnenia kapacity disku? Alebo si to mylim s rychlostou?

Myslim, že životnost to taky ovlivní - sem někde čet´, že se má určitá část disku ponechat bez dat - vnitřní logika si tam údajně pak relokuje načnuté sektory = z toho vyplývá, že pak teda ten disk vydrží trochu dýl.
A taky údajně některé disky už určitý prostor z toho důvodu mají alokovaný od výrobce ("neviditelný" pro uživatele).
Jak moc je to aktuální netušim...
Gréta je nejlepší.


Re:Databáze na SSD
« Odpověď #16 kdy: 23. 05. 2022, 15:53:49 »
"Nic"

Re:Databáze na SSD
« Odpověď #17 kdy: 23. 05. 2022, 17:41:35 »
Každá technologie má nějakou cyklickou životnost (počet přepisů), takže čím větší pole, tím víc GB/den do toho musíte rvát, abyste ten disk namáhali stejně. Např. 30 GB/den znamená pro 128G NAND 85 přepisů za rok, zatímco pro 2T NAND je to jenom 5 přepisů za rok.

Flash controllery se snaží o rovnoměrnou zátěž. V podstatě každý SSD se chová jako copy-on-write systém, protože zápis do vynulovaného flashe je řádově rychlejší než mazání (přepisování bloku na místě), takže i když z pohledu uživatele přepisujete pořád jeden a ten samý soubor nebo blok filesystemu (např. databáze), tak na flash poli by to mělo dělat pěkně sekvenční zápisy nových bloků dat. Staré bloky se zahazují, ve volném čase mažou, aby se do nich mohlo zapisovat zase až to k nim dojede. To je teorie, samozřejmě, v praxi můžete narazit na bug, kvůli kterému se nějaká část flashe zapisuje neúměrně častěji a to způsobí předčasné selhání.

Re:Databáze na SSD
« Odpověď #18 kdy: 24. 05. 2022, 10:02:08 »
A nezalezi zivotnost SSD aj od zaplnenia kapacity disku? Alebo si to mylim s rychlostou?

Myslim, že životnost to taky ovlivní - sem někde čet´, že se má určitá část disku ponechat bez dat - vnitřní logika si tam údajně pak relokuje načnuté sektory = z toho vyplývá, že pak teda ten disk vydrží trochu dýl.
A taky údajně některé disky už určitý prostor z toho důvodu mají alokovaný od výrobce ("neviditelný" pro uživatele).
Jak moc je to aktuální netušim...

Nie udajne ale kazdy SSD disk ma takyto priestor alokovany od vyoroby. Jeho velkost je umerna zameraniu disku. U Consumer SSD sa to pohybuje v jednotkach percent. U enterprise SSD su to az nizsie desiatky percent kapacity. Tato skryta kapacita ulahcuje pracu controlleru a umoznuje dosahovat vecsiu zivotnost a vyrovnanejsi vykon. Controller si vie jednoduchsie zmanazovat pracu(menej casto tam nastava sitiacia, ze nema volne bloky na zapis a musi popri tom ich aj mazat) a ma vecsi priestor pri prealokovani pokazenych blokov alebo blokov pred koncom zivotnosti.
Kedze pri consumer SSD je ta kapacita mala a controllery hlupejsie/jednoduchsie, tak ponechanim volnej kapacity tomu SSD pomozeme.

Dnes pri consumer diskoch sa pouziva vo velkom SLC cache, co je finta na obidenie pomalosti TLC NAND flash. Disk je prazdny, tak jeho bunky vyuzivam vo vykonnejsom SLC mode a ked je cas, tak potom tie data preprisem do TLC. Ono to funguje celkom dobre, kedze BFU tie disky nezatuzje kontinualne a vysokou zatazou. V takomto pripade to controller stiha manazovat a ten je rychly. Ak nestiha, tak rychlosti rapidne klesaju.

Re:Databáze na SSD
« Odpověď #19 kdy: 24. 05. 2022, 10:10:03 »
Niečo o SSD Over-Provisioning, predpokladám, že je to stále aktuálne.

https://www.seagate.com/gb/en/tech-insights/ssd-over-provisioning-benefits-master-ti/
« Poslední změna: 24. 05. 2022, 10:13:32 od esenc »


Re:Databáze na SSD
« Odpověď #20 kdy: 24. 05. 2022, 17:10:55 »
Za mne:

- SLC na transakcni log (mame velke DB s provozem, vykon logu na *LC negativne ovlivnuje celek a to celkem dost) - koneckoncu staci malej
- *LC na samotna data [MLC,TLC,..]
- nezalezi jen na 'zapisu' ale i na velikosti dat/frekvenci, protoze fleska neumi erase maleho bloku, ale jen velkeho (a bavime se klidne o magabitech) a zapis to 'erasovane' flesky take neni zadarmo, casto radic musi (pro vykon) cachovat a zapisovat celej blok naraz. da se predpokladat, ze tam ma nejakej timeout, kdyz nic nedorazi, pak zapise a pri dalsim musi do dalsiho bloku. realnej zapis teda bude vzdy vetsi, nez 'zapsana data' (a tedy i wear level)
- bunka bez napeti ztraci data -> *LC SSD za provozu dela defacto refresh jako SDRAM. Bez napeti vydrzi omezenou dobu, uvadi se neco v radu ~5ti let, ale new super techologie po roce uz muzou mit slusou porci chyb v datech (cim mensi bunka a vice bitu, tim horsi). u DB to ale problem nebude
- SSD jsou obecne vice nachylne k problemum spojene s vypadkem napeti, pokud disk neni oznacenej jako power failure safe od vyrobce - neni to uplne dobrej napad (viz PLP u industrialnich disku)
- provisioning ma snad kazdej HDD, bunky odchazi jako krava (a disk o nich nic nerekne, je to jeho interni kapacita navic) - ale obvykle vykon klesa se zaplnenim disku (od ~80% vyrazne)
- ne kazdej SSD opravdu udela fyzicky zapis (vyprazdni veskere sve cache) kdyz se o to pozada
- je vhodny mirror, protoze SSD odchazi obvykle bez varovani (alespon tady, zadne problemy, zpomaleni, nic...)
- nekolikrat se mi stalo, ze po zkapani SSD se disk zacal hlasit jako 2 nebo 3 disky, coz rozhodilo RAID controller (a dokonce ty disky meli 'spravna' data)
- disky casto lzou o 'flush' coz je v pripade logu a velikosti vsech ruznych cache na disku hodne neprijemne (souvisi to s PLP - ikdyz lze tak to pak zapise)

---> s nekteryma diskama je DB na SSD perfektni vec, s jinejma to je koledovani si o pruser (jako rika klasik, proc se trapit necim, co se nikdy nemuze stat)... Mne nejvic potrapilo PLP (stane se to malo a kdyz jo, obvykle to je pruser na vice frontach a kdyz se kvuly tomu poskodi transakcni log - i velka cast) je to neprijemne... Urcite brat pouze industrialni disky, kde i s mensim "papirovym" vykonem to nakonec muze v realu bezet rychleji

P.
« Poslední změna: 24. 05. 2022, 17:13:19 od Pivson »

Ymzk

Re:Databáze na SSD
« Odpověď #21 kdy: 25. 05. 2022, 10:49:50 »
Nemluvě o možnosti transakční log poslat na rychlý plotnový disky, dle potřeby ve vhodný konfiguraci (n*stripe).

Pokial Vas mozem poprosit :) uz nikdy nikomu neradte platnovy disk. SSD je tu s nami uz vyse 10 rokov. Ziadny consumer PC sa snad uz nepredava s klasickym HDD. Cisto vsetko ide s SSD. Cize klasicky user PC uz nema HDD ale do serverov kde je to nutnost o dost viacej vykonu sa odporuca HDD? :) To dufam ze nie. HDD patri do minuleho storocia a tam by uz mal zostat.

Ja mam napriklad doma NAS z najlacnejsich SSD v dobrom RAID s 10Gbps sietovkou a je to teda uplne iny level. A to nehovorim ze az take drahe to teda rozhodne nebolo.

Tak se zase uklidníme, jo? :-)
Byla to reakce na jeho obavu o životnost SSD. A jelikož transakční log má často řádově větší objem zápisů než data, přičemž zápis je sekvenční, plotna výkonově ničemu nevadí, tím spíš když je to stripovaný svazek na enterprise discích. Samozřejmě je potřeba to patřičně zálohovat (což ta data na SSD taky), ale to se IMO rozumí samo sebou a je to úplně jiná otázka.

No neukludnim sa. dokedy neprestanete pisat taketo bludy "plotna výkonově ničemu nevadí"

Re:Databáze na SSD
« Odpověď #22 kdy: 26. 05. 2022, 10:50:46 »
Nemluvě o možnosti transakční log poslat na rychlý plotnový disky, dle potřeby ve vhodný konfiguraci (n*stripe).

Pokial Vas mozem poprosit :) uz nikdy nikomu neradte platnovy disk. SSD je tu s nami uz vyse 10 rokov. Ziadny consumer PC sa snad uz nepredava s klasickym HDD. Cisto vsetko ide s SSD. Cize klasicky user PC uz nema HDD ale do serverov kde je to nutnost o dost viacej vykonu sa odporuca HDD? :) To dufam ze nie. HDD patri do minuleho storocia a tam by uz mal zostat.

Ja mam napriklad doma NAS z najlacnejsich SSD v dobrom RAID s 10Gbps sietovkou a je to teda uplne iny level. A to nehovorim ze az take drahe to teda rozhodne nebolo.

Tak se zase uklidníme, jo? :-)
Byla to reakce na jeho obavu o životnost SSD. A jelikož transakční log má často řádově větší objem zápisů než data, přičemž zápis je sekvenční, plotna výkonově ničemu nevadí, tím spíš když je to stripovaný svazek na enterprise discích. Samozřejmě je potřeba to patřičně zálohovat (což ta data na SSD taky), ale to se IMO rozumí samo sebou a je to úplně jiná otázka.

No neukludnim sa. dokedy neprestanete pisat taketo bludy "plotna výkonově ničemu nevadí"

1) kecáš kraviny a 2) nejseš moderátor, tak zalez.

Re:Databáze na SSD
« Odpověď #23 kdy: 26. 05. 2022, 11:06:08 »
No neukludnim sa. dokedy neprestanete pisat taketo bludy "plotna výkonově ničemu nevadí"
Můžu se zeptat, čemu plotna výkonově vadí, pokud se budeme bavit o využití pro databázový transakční log při srovnatelných sekvenčních rychlostech zápisu plotny a SSD?

Re:Databáze na SSD
« Odpověď #24 kdy: 26. 05. 2022, 11:49:28 »
To jsou takové řeči teoretiků  :) kteří si nelámou hlavu s tím, že když tam bude třeba QLC a ten log bude hodně saturovanej bude to výrazně pomalejší (~60MB/s) vs točící fešák (~200MB/s)- o životnosti ani nemluvím.

Realita je ovšem taková, že disky je třeba celkem vybírat podle typu zátěže (SSD je třeba přímo pitvat do detailu).
Rotující disky s námi budou a to i v SMR verzi (se kterou když se to umí tak má téměř nulový vliv na výkon a ano nesmí to být RAID ;)).
Chybí nadhled o tom to je.

No neukludnim sa. dokedy neprestanete pisat taketo bludy "plotna výkonově ničemu nevadí"
Můžu se zeptat, čemu plotna výkonově vadí, pokud se budeme bavit o využití pro databázový transakční log při srovnatelných sekvenčních rychlostech zápisu plotny a SSD?
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

Ymzk

Re:Databáze na SSD
« Odpověď #25 kdy: 26. 05. 2022, 11:51:06 »
To jsou takové řeči teoretiků  :) kteří si nelámou hlavu s tím, že když tam bude třeba QLC a ten log bude hodně saturovanej bude to výrazně pomalejší (~60MB/s) vs točící fešák (~200MB/s)- o životnosti ani nemluvím.

Realita je ovšem taková, že disky je třeba celkem vybírat podle typu zátěže (SSD je třeba přímo pitvat do detailu).
Rotující disky s námi budou a to i v SMR verzi (se kterou když se to umí tak má téměř nulový vliv na výkon a ano nesmí to být RAID ;)).
Chybí nadhled o tom to je.

No neukludnim sa. dokedy neprestanete pisat taketo bludy "plotna výkonově ničemu nevadí"
Můžu se zeptat, čemu plotna výkonově vadí, pokud se budeme bavit o využití pro databázový transakční log při srovnatelných sekvenčních rychlostech zápisu plotny a SSD?

Ty o com tocis. Aky teoretik? Kto by daval QLC? Akoze ty si vymyslis blbost vo svojej hlave, potom jej uveris zeby to tak mohol niekto pouzit. Potom to pokladas za nejaky fakt a dalej rozoberas. Ty si sa zblaznil.

Ymzk

Re:Databáze na SSD
« Odpověď #26 kdy: 26. 05. 2022, 11:52:18 »
No neukludnim sa. dokedy neprestanete pisat taketo bludy "plotna výkonově ničemu nevadí"
Můžu se zeptat, čemu plotna výkonově vadí, pokud se budeme bavit o využití pro databázový transakční log při srovnatelných sekvenčních rychlostech zápisu plotny a SSD?

Aly my sa nebudeme bavit len o nejakom scenari. Ked v consumer sfere sa pouziva bezne uz SSD ale tam kde treba vykon v serveroch by ktosi normalny pouzil HDD? Co ste sa uz pomiatli vsetcia?

Re:Databáze na SSD
« Odpověď #27 kdy: 26. 05. 2022, 12:13:44 »

Aly my sa nebudeme bavit len o nejakom scenari. Ked v consumer sfere sa pouziva bezne uz SSD ale tam kde treba vykon v serveroch by ktosi normalny pouzil HDD? Co ste sa uz pomiatli vsetcia?

A je poptávaná aplikace zrovna ta kde je potřeba výkon?
...30GB za den mi osobně nepříjde jako extra požadavek na výkon, to dám běžně doma i sám když si hraju s NASem a zálohama/archivama...
Gréta je nejlepší.

Re:Databáze na SSD
« Odpověď #28 kdy: 26. 05. 2022, 23:50:39 »
Aly my sa nebudeme bavit len o nejakom scenari. Ked v consumer sfere sa pouziva bezne uz SSD ale tam kde treba vykon v serveroch by ktosi normalny pouzil HDD? Co ste sa uz pomiatli vsetcia?
Já si naopak myslím, že je to docela zásadní bavit se o nějakém scénáři. Transakční log je fakticky sekvenční záležitost, s čímž u pevných disků není problém (jasně, trochu to zjednodušuju, ale ne moc). OK, pokud to chci mít fakt rychlý, použiju SSD, které i sekvenčním zápisem výrazně překonává jakýkoli pevný disk (typicky nějaký NVMe model), ale kdybychom se měli bavit o SATA rozhraní, tak tam se bavíme o tom, že HDD bude dejme tomu o polovinu pomalejší, spíš tak o třetinu. A to není zas taková hrůza. Obzvlášť při 30 GB denně, to v průměru odpovídá přenosové rychlosti zhruba 2,5×SPEED CD, jestli si to někdo ještě pamatuje, co to znamená :DDD. Datový soubor bych pochopitelně na SSD dal, o tom žádná. Tam se data budou měnit v různých místech a i přístup pro čtení určitě bude více připomínat náhodný než sekvenční.

Já tu nechci obhajovat HDD, i když je na určité věci používám (typicky pokud preferuji kapacitu nad rychlostí náhodných zápisů), sám bych si taky asi dal i na transakční log SSD (vybíral bych takový, který bych považoval za spolehlivý), ale jsou zkrátka situace, kdy i HDD má svůj význam a není nutné ho automaticky zatracovat jen proto, že „SSD už se v consumer segmentu běžně používají“, tenhle argument mi připadá krapet scestný.

Ono je dobré si uvědomit ještě jednu věc, a tou je způsob odcházení HDD a SSD, zpravidla se to diametráílně líší. Když odejde SSD, tak obvykle naráz a všechna data na něm jsou v háji. HDD odcházejí zpravidla postupně a svým chováním varují, že odchází. A transakční log může v případě pádu zachránit celou databázi, i když ještě není zazálohován. Tahle poznámka je samozřejmě spíš teoretická, protože pokud uživateli na datech opravdu záleží, zvolí pochopitelně nějaké redundantní řešení a ne jen sólo úložiště. Jen tím chci říct, že pro HDD může hovořit ještě právě i tenhle argument. HDD zkrátka nejsou tak out, jak by si možná někdo přál.

buldr

Re:Databáze na SSD
« Odpověď #29 kdy: 27. 05. 2022, 06:56:57 »
Proč by měl disk určený pro servery selhat náhle a vzít data do věčných lovišť?

Serverové disky dávno umí predikovat selhání, předkládat podrobnou statistiku opotřebení buněk, řešit výpadek napájení a samozřejmě i predikovat chyby, včetně selhání s přepnutím do režimu čtení a umožnit vydolovat data v případě selhání řadiče. Rychlost sice byla šílená (čti šnečí), ale data čitelná. Uměl to už Kingston E100 s řadičem SF-2582 (eMLC) a rozhodně nešlo o nejdražší disk na trhu, naopak byl relativně levný (2013). Bacula s nimi kroutí 9 rok a i když mají přes 1.6 PB, pořád nejsou ani v polovině životnosti NAND (25 nm eMLC Toshiba D2), stejně tak SAS Hitachi Ultrastar 7K2000 (Raid60). S deskou Tyan (SE100S37/400G + O4376HE) nesmrtelné řešení.

Taktéž Intel DC 3700 s řadičem Intel PC29AS21CA0, třeba za tím stál firmware Dell (součást serveru PowerEdge s řadičem PERC, tedy přeznačeným LSI). Smrad následovaný vykopnutím z pole (zrcadla), šoupnul se nový a Exchange fungovalo dál, jako by se nechumelilo. Někde se válí dodnes (disk zůstává - On-Site) a po čtyřech letech asi už moc čitelný nebude.

U desktopu (většinou OEM Samsung/Sandisk) to platí doslova, chcípne sám, ale u že by zařval náhle a bez varování serverový disk jsem ještě neviděl, nicméně v tak malém množství může jít o náhodu.
Carpe diem