Jenom poznámka k mongu to co píšete je sice pravda, ale jenom pokud se bavíme o replikaci a ne o škálování. Pokud chcete škálovat, tak mongo má na tohle sharding. Navíc mi tohle přijde jako typický případ, kdy zápis můžete dělat do primary a číst z repliky. Ono i kdyby ta primary odešla, tak si nemyslím, že přijít o oplog by zrovna u tohohle případu byla nějaká tragédie.
Tím ale nechci říct, že zvolená DB je špatná.
Ale zajímalo by mě proč jste měli ve výběru NoSQL databáze a MySQL? Síla zvyku, protože jinak si to neumím vysvětlit?
My potrebujeme škálovanie aj s replikáciou zároveň, aby výpadok ľubovoľného stroja neohrozil dostupnosť či konzistenciu dát :). Aspoň u tejto služby to tak preferujeme.
Zápis do primary nám nevyhovuje, pretože to nie je robustné voči výpadku data centra v ktorom sa primary replika nachádza, a tiež je to potenciálne úzke hrdlo. V Sezname chceme mať služby postavené tak aby fungovali nezávisle na výpadku jednoho či viacerých datacentier.
Toto samozrejme nie je vždy zásadný problém, záleží od služby. Napríklad Seznam Zprávy používajú ako databázu MongoDB.
Vo výberu sme mali databázy, s ktorými v Seznamu máme skúsenosti s prevádzkou pod vysokou záťažou. Máme skúsenosti aj s ďalšími databázami, ale nie každá služba a každá databáza je pod vysokou záťažou.