Vlákno názorů k článku Cibulová architektura aneb jak nepřipravovat špagety od anonym - Technologická nezávislost na databázi je obtížně dosažitelná. Např....

  • Článek je starý, nové názory již nelze přidávat.
  • 24. 1. 2020 21:32

    bez přezdívky

    Technologická nezávislost na databázi je obtížně dosažitelná. Např. SAP a podobné firmy to řeší specializovanými "plugins", které překrývají rozdíly mezi jednotlivými databázemi. Vyčerpávajícím způsobem se k tomu vyjadřuje Tom Kyte již ve starší knize: https://www.knihydobrovsky.cz/autori/thomas-kyte-169801, kterou ale lze nadále doporučit - její větší část je nadále aktuální. Resp. tentýž autor v jiné knize (Oracle Expert Architecture) píše o úskalích převodu aplikace napsané pro MSSQL na Oracle DB a naopak. Nezávislost na databázi je iluze - v praxi se opakovaně setkávám se špatně fungujícími aplikacemi v důsledku ignorování vlastností kontkrétního RDBMS. Resp. v "malých rozměrech" na dnešním HW funguje lecos, ale realita se ukáže na aplikaci datově náročnější a s větším množstvím "concurent users".

  • 25. 1. 2020 12:08

    Wavelet

    Souhlasím že nezávislost na DB je iluze, pokud už s tou DB musím pracovat. Ale DDD právě odděluje doménovou vrstvu od té perzistetntní. Takže když se hrabu v modelu, nic takového neřeším -- repositories jsou definované jen pomocí rozhraní. Pokud se hrabu v infrastruktuře, tak už při implementaci řeším jestli to repository pracuje s MySQL, Postgresem nebo jiným typem úložiště.
    Pokud jsou ale systém prorostlý ukládáním do DB už na úrovni modelu, tak to asi je docela problém.