Ahoj,

no to je trochu offtopic. Mezivrstva sedi obvykle bud na stroji, kde
je DB nebo na stroji, ktery ma s DB velmi dobre spojeni. Pokud delate
nad DB slozite operace, jejichz vysledek je trivialni (napr. float,
int, apod.), tak mezivsrtva muze vyrazne omezit komunikaci
klient-server. Napr. natahnes hromadu tabulek, spoctes nejakou
statistiku a klientovi vratis treba jen vysledny float. Samozrejme, ze
by to mohlo byt i jako ulozena procedura na DB, ale to ma radu nevyhod
- ladeni, skalovani, zmena DB a mozna dalsi. K tomu skalovani - snadno
pridas vice serveru s mezivsrstvou, ale kolik DB umi behat
distribuovane? Napr. Oracle to umi, ale ta cena je pak velmi velmi
vysoka, takze je stale levnejsi udelat tu mezivrstvu.


2009/9/14 Martin Kuba <ma...@ics.muni.cz>:
> Ahoj,
>
> přijde mi, že  zvyšovat výkon a zlepšovat škálovatelnost přidáním
> vrstvy je protimluv. Ono totiž obecně přidání vrstvy výkon vždycky snižuje,
> ale občas je to cena, kterou má smysl zaplatit, protože tím lze zlepšit
> udržovatelnost.
>
> V tomto konkrétním případě nic nemůže výkonově překonat přímou komunikaci
> JDBC ovladače s databázovým strojem. Komunikace po síti přes RMI
> přidá pouze další zpoždění potřebné na cestu sítových packetů mezi TomCatem
> a RMI serverem.
>
> Makub
>

Odpovedet emailem