Nepřecházejte na NoSQL, když potřebujete SQL
Kolem NoSQL se v poslední době víří neustále pozornost, která v některých lidech může vzbudit dojem, že NoSQL je lék na všechno a že kdo nepoužívá nějakou NoSQL databázi, nejde s dobou. Leckdy tak někteří kvapně opouští SQL, aniž by si uvědomili a sumarizovali, co vlastně od databáze chtějí a potřebují. Následně jsou z NoSQL rozčarování a vrací se k SQL, jako například autor článku We’re back… so long, MongoDB, v němž popisuje své zklamání z databáze MongoDB. Důvody, které v článku uvádí, jsou následující:
- Neexistence transakcí (autor dokonce píše: „Transakce jsou pro mne velmi důležité“)
- Ztráta několika záznamů
- Nemožnost spojovat záznamy
- Neexistence schématu (autor píše: „Ačkoli to byl hlavní důvod, kvůli kterému jsem odešel od MySQL, je to i hlavní důvod, kvůli kterému se vracím.“)
- Nestabilní replikace
- Nestabilní verze
Nelze než souhlasit s komentářem na webu MyNoSQL: Pokud máte tyto požadavky, tak proč používáte MongoDB? Většina z důvodů, které autor uvádí, jsou totiž právě základními rysy neschémových NoSQL databází, a je na místě si položit otázku: Pokud potřebujeme transakce, spojovat záznamy a vyhovuje nám schéma, tak proč odcházet od SQL?
Dík za odkaz! Je to hodně o řešerši, kterou si (ne)udělali: v článku píšou, že se jim ztratily záznamy. Přitom to je přiznaná, nijak nezastíraná vlastnost MongoDB, že – na rozdíl třebas od CouchDB – nepovažuje pár zahozených záznamů za nějaký extra problém (viz http://nosql.mypopescu.com/post/392868405/mongodb-durability-a-tradeoff-to-be-aware-of)