Ahoj,
Mám takovou prosbu. Potřebuji na Raspberry Pi dlouhodobě provozovat MySQL databázi. Bude ukládat data z měřících přístrojů. Asi 10 tabulek a do zhruba 4 z nich se bude pravidelně zapisovat. Každou minutu 1 až 3 záznamy. U ostatních jednou denně nějaký sumární výpočty s asi 100 zápisy. Transakce nepotřebuju a bez ref. integrity atd. se taky obejdu, takže mám na výběr mezi MyISAM a InnoDB tabulkami.
Je možné říct, který typ tabulek je odolnější vůči chybě datového média při zápisu? Prostě kdyby začala karta při zápisech časem blbnout, tak u kterého typu tabulek je větší pravděpodobnost, že datové soubory zůstanou konzistentní alespoň pro čtení a půjde je odkopírovat jinam.
Na první pohled se mě zdá výhodnější MyISAM, který má každou tabulku v samostatných souborech. Ale vím, že i u InnoDB lze SQL server nastavit tak, aby každá tabulka měla svůj soubor. Což je pro záchranu dat asi lepší, než když je vše v jednom velkém souboru (výchozí nastavení InnoDB).
Filesystém karty bude ext4 s relatime. Kartu samozřejmě zvolím co největší kvůli rozložení zápisů.
Zatím mě to tu běží asi do července v testovací verzi na malé 4GB kartě a vše bez problémů. Ale než to nasadím naostro místo PC, rád bych ještě toto dořešil.
To PC tu běží už asi 5 let a taky párkrát spadlo (výpadek proudu a slabá UPS). Ale u MyISAM to vždycky odnesly jen indexy a vše vyřešil myisamchk. U SD karty hrozí spíš chyba média a tak bych jen chtěl vědět, jestli InnoDB není víc odolná na tento typ chyb. Zálohování samozřejmě bude.
Díky předem za rady.
Petr