pátek 14. ledna 2005

Do pranice: App server cache

Do pranice bude nová rubrika Dagblogu, ve které bych rád slyšel názory čtenářů na odborná témata. Na výběru témat se může podílet kdokoliv, stačí když mi jej napíšete a případně připojíte vlastní názor. Pro kickoff této rubriky jsem si vybral řešení cacheování dat na aplikačním serveru. Původně jsem to zkoušel v diskusních skupinách na java@builder.cz a konference@java.cz, ale ohlas nebyl takový.

zajimalo by me reseni cacheovani dat na apikacnim server. Rekneme, ze mame klasickou webovou aplikaci, ktera pouziva pro ziskani dat JDBC. Jde o to, ze business logika definuje opravdu vypecene pozadavky, takze SQL dotazy jsou velice narocne a jsou nad velkou kupou dat. S webovou aplikaci pracuje velke mnozstvi uzivatelu, takze zatizine SQL serveru se pekne sroubuje nahoru a tim se zpomaluje i celkova odezva aplikace.

Lze takto nastavene prostredi modifikovat, tak aby se SQL serveru ulevilo? Muj nazor je ten, ze bez pridani vrstvy mezi databazi a aplikacni logiku, nelze dosahnout patricneho efektu. Ta vrstva by mela primarne zarucit cacheovani dat (nejedna se mi o ORM). Klienti vrstvy, v nasem pripade primo business logika, nepise SQL (pro to co se rozhodneme cacheovat), ale vyuzivaji tuhle vrstvu. Na urovni vrstvy samzorejme lezi predefinovane SQL, ktere zaruci fyzicke rabovani dat z DB.

Dejme tomu, ze mame dotaz, ktery vraci data pro zobrazeni seznamu osob, pak tedy sloupecky v select tvori sloupecky, ktere mohou dat vzniknout objektu Osoba. Objekt osoba je pak mozne cacheovat nebot se bude v podstate jednat o POJO. Zbezne jsem koukal na JCS a to me v tom utvrzuje.