Doplnění: A to všechno s desetinou snahy a 20% kódu oproti blbnutí s SQL. Předtím jsem dlouho nebyl z ničeho tak nadšený jako z MongoDB.
Domenove objekty ve vasi aplikaci mezi sebou maji vazby, ktere tvori graf, a ne strom. Jakym zpusobem grafove zavislosti ukladate do MongoDB? Vsude vidim jenom priklady na ukladani stromovych vazeb.
Jakmile budu muset krkolome roubovat grafovou strukturu na stromovou a zase zpatky, tak chci videt, jak napisu jen 20% kodu oproti klasice SQL + ORM. Navic stromova struktura automaticky znamena, ze budu mit dupiicity v datech - ani nebudu rikat co z toho plyne, to mate jako programator vedet.
Relacni databaze mi umoznuje 1:1 ukladat grafove struktury do databaze, zejmena dobre se to pouziva kdyz mam Hibernate. Specializovany Select na ktery mi ORM nestaci nebo by byl pomaly si muzu napsat rucne v SQL. A vytvorit si template s kompletnim stackem DB+Hibernate+Liquibase neni problem.
A dostanu tim univerzalni stack na reseni 99% potencionalnich uloh, kterymi moje aplikace bude zatizena. Kdezto s MongoDB se bude jednat o kompromisni reseni.
NoSQL databaze jsou dobre tak leda jako doplnkove k Relacnim, na reseni urcitych typu ukolu, ktere by byly v Relacnich potencionalne moc velky opruz. Pak jsou jeste dobre pro webvyvojare, kterym dostacuje trivialnost reseni ktere jim poskytnou.