Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

MySQL / MariaDB – Otázky ohledně clusteru

Martin
verified
rating uzivatele
(7 hodnocení)
30. 4. 2014 03:05:31
Najdu tu někoho kdo provozuje cluster? Chystám se na přechod do clusteru ale mám obavy především o konzistenci dat. Protože už dávno sem nahradil MySQL za MariaDB tak přemýšlím o MariaDB Enterprise Cluster.
Zajímalo by mě především:
1) konzistence dat
Dejme tomu že budu mít tři servery a spustí se 3x dotaz "UPDATE a SET b=b+123 WHERE c=1". Bojím se aby nedošlo k tomu, že se každý update pustí na jiném serveru a potom by neseděli data a při synchronizaci by se ještě přepsali všude na hodnotu podle jednoho ze serverů. Rozloží controller tyto dotazy jen na základě zátěže/locku? Nebo si dokáže pohlídat, že řádek se změnil na serveru 1 a na serverech 2 a 3 ještě nebyl sync takže musí další update/select provést jen na serveru 1?
2) db engine
Hlavní problém s výkonem mám kvůli statistikám - hodně tabulek se stejnou strukturou, někde pár řádků, jinde několik milionů. Do teď sem to řešil tak, že každý user má vlastní tabulku a v ní svoje stats (proto stejná struktura, rozdílné množství dat) a výpočet různých souhrnů za dny a podobně řeším cronem a ukládám zvlášť. Navíc před nákupem nových serverů byl dost limit v místu na disku (v clusteru bude mít každý server 2x1TB SSD, kvůli zrcadlení kapacita 1TB), proto sem do teď používal jen MyISAM - po přechodu na MariaDB přechod na Aria. Díky rozdělení na víc tabulek podle userů sem se skoro zbavil locků ale u těch největších, kde se jedná o miliony řádků je výkon stejně nic moc v případě složitějších výpočtů z většího objemu dat. Teď tedy přemýšlím jestli se mi vyplatí zůstat u Aria enginu. Nebo přejít na InnoDB - v innodb sem ještě nikdy neměl takové množství dat (cca 400GB při myisam) a v případě přechodu bych použil drop-in pro XtraDB který mám s velkým úspěchem na menších tabulkách kde je velký počet selectů. Nebo TokuDB - to vypadá nadějně ale asi se nevyplatí pro menší tabulky takže bych ho nedával defaultně ale převod řešil cronem jen u userů kde naroste objem dat, ale v praxi s TokuDB zatím nemám zkušenosti. Otázka teď není o indexech, optimalizaci dotazů atd ale spíš o tom jaký engine se hodí pro takto velké DB v Clusteru, data přibývají čím dál rychleji.
Nejvíc mě zajímá samozřejmě otázka 1) protože to je klíčový bod pro nasazení clusteru. Případně ještě jestli někdo zkoušel porovnávat výkon v clusteru mezi MySQL, MariaDB a Perconou.
30. 4. 2014 03:05:31
https://webtrh.cz/diskuse/mysql-mariadb-otazky-ohledne-clusteru/#reply1019465
Pro odpověď se přihlašte.
Přihlásit