Hoi,
Gisteren hadden we op het werk een interessante discussie, waarbij de stelling was dat de entity cache alsmede de 2nd level cache van b.v. Hibernate (via JPA) tegenwoordig compleet nutteloos is.
Het uitgangspunt hierbij was dat de database zelf veel meer is geoptimaliseerd voor caching en dat met name in combinatie met SSD disks voor de database de caching zoals aangeboden door Hibernate helemaal waardeloos is. Hibernate caching werd hierbij gezien als een overbodige tussenlaag die extra complexiteit in het systeem introduceert, en zulke tussenlagen moeten zoveel mogelijk vermeden worden.
1 developer stelde zelfs dat de cache semantisch incorrect is. Namelijk als hij data in de DB veranderd, en dan naar een webpagina toegaat die deze data ophaalt via de entity manager, dat deze dan altijd de oude data terug geeft (vanwege de caching). Hij is dus flink in de weer geweest om alle Hibernate caching overal weg te halen.
Mij lijkt dit laatste meer een verkeerd gebruik van Hibernate, maar ik vraag me af wat de meningen zijn van iedereen hier over dit onderwerp.
Gisteren hadden we op het werk een interessante discussie, waarbij de stelling was dat de entity cache alsmede de 2nd level cache van b.v. Hibernate (via JPA) tegenwoordig compleet nutteloos is.
Het uitgangspunt hierbij was dat de database zelf veel meer is geoptimaliseerd voor caching en dat met name in combinatie met SSD disks voor de database de caching zoals aangeboden door Hibernate helemaal waardeloos is. Hibernate caching werd hierbij gezien als een overbodige tussenlaag die extra complexiteit in het systeem introduceert, en zulke tussenlagen moeten zoveel mogelijk vermeden worden.
1 developer stelde zelfs dat de cache semantisch incorrect is. Namelijk als hij data in de DB veranderd, en dan naar een webpagina toegaat die deze data ophaalt via de entity manager, dat deze dan altijd de oude data terug geeft (vanwege de caching). Hij is dus flink in de weer geweest om alle Hibernate caching overal weg te halen.
Mij lijkt dit laatste meer een verkeerd gebruik van Hibernate, maar ik vraag me af wat de meningen zijn van iedereen hier over dit onderwerp.