Jump to content
Sign in to follow this  
ceccus

Java Cache system - qualcuno lo utilizza ?

Recommended Posts

Salve,

Ne deduco che nessuno che frequenta questo Forum ha mai utilizzato strumenti di caching per le sue applicazioni ... mi sembra strano ... però, può anche essere ... ma le performances ???

 

Ciao !!

Share this post


Link to post
Share on other sites

già HT non è proprio un forum di programmatori, poi java non è il linguaggio più utilizzato del Web... poi a quanto vedo non è certo l'unica soluzione del genere... e a quanto vedo, in perfetta sintonia con il linguaggio, è pensato per l'enterprise... anche se effettivamente non so quanto utilizzato.

 

L'unico ambiente in cui sono stato a contatto con robe simili usavano WebSphere... che ha un suo sistema di caching e non ho assolutamete idea di come funzioni.

penso sia questo

IBM WebSphere Developer Technical Journal: Static and dynamic caching in WebSphere Application Server V5

 

ho scritto tutto quello che potevo scrivere sull'argomento... i miei 2 centesimi, mi spiace di non essere più di aiuto, a te cosa interessava in particolare?

Share this post


Link to post
Share on other sites

Salve,

Prima di tutto grazie per aver risposto :emoticons_dent2020:

Detto questo, il caching delle informazioni è un problema molto sentito ... in tutte le architetture , a maggior ragione in quelle che si approcciano "a Servizi" (o SOA , visto che fa figo la parola ...)

Quello che mi interessa è condividere con qualcuno che ha utilizzato meccanismi di caching sviluppati in ottica SOA le sue impressioni e anche la tecnologia.

In particolare mi riferisco non tanto al caching lato Web Server ... ma proprio al caching lato "Dati" ...

Ecco, questo è il "classico" caso da utilizzo di una cache , dove i dati vengono acceduti frequentemente e con una bassissima percentuale di variazione ...

Le alternative sono 2 ... o li leggo tutte le volte dal DB ... o li leggo da qualche altra parte ...

 

Ciao !!

Share this post


Link to post
Share on other sites

Ciao ceccus,

 

sono abbastanza occupato in questi giorni, non appena torno ad avere 15min liberi di fila posso darti una mano. Nel frattempo dettaglia i tuoi dubbi o scrivi le tue domande in maniera precisa ;)

Share this post


Link to post
Share on other sites

Salve,

Grazie anche a te per aver risposto.

Dunque ... i miei dubbi ... in realtà non sono dubbi ... è uno scambio di idee sul reale funzionamento di questo "framework" ... l' ho virgolettato appositamente perchè così mi sembra ...

Soprattutto sul discorso della cache distribuitsa, ovvero in uno scenario sicuramente Enterprise dove ho più macchine (Server) che magari si occupano di fare caching e che, a fronte di piccoli aggiornamenti, si devono tenere sincronizzate per fornire il dato corretto , cioè aggiornato.

Questo è lo scenario che mi interessa maggiormente ...

Verificare, per esempio, quanto traffico di rete genera una configurazione del genere ... quanto è il tempo di risposta effettivo ... quanto il tempo di sincronizzazione e così via ...

Se qualcuno ha già avuto modo di utilizzare JCS , così si poteva scambiare qualche impressione ...

Spero di essere stato abbastanza chiaro.

 

 

Ciao !!

Share this post


Link to post
Share on other sites
Salve,

Grazie anche a te per aver risposto.

Dunque ... i miei dubbi ... in realtà non sono dubbi ... è uno scambio di idee sul reale funzionamento di questo "framework" ... l' ho virgolettato appositamente perchè così mi sembra ...

Soprattutto sul discorso della cache distribuitsa, ovvero in uno scenario sicuramente Enterprise dove ho più macchine (Server) che magari si occupano di fare caching e che, a fronte di piccoli aggiornamenti, si devono tenere sincronizzate per fornire il dato corretto , cioè aggiornato.

Questo è lo scenario che mi interessa maggiormente ...

Verificare, per esempio, quanto traffico di rete genera una configurazione del genere ... quanto è il tempo di risposta effettivo ... quanto il tempo di sincronizzazione e così via ...

Se qualcuno ha già avuto modo di utilizzare JCS , così si poteva scambiare qualche impressione ...

Spero di essere stato abbastanza chiaro.

 

Ciao !!

 

Non ho mai usato JCS, dato che mi trovo ottimamente con JBoss Cache, per quel che devo fare. Comunque JCS non è un sistema di caching transazionale, come sicuramente saprai questo significa che potresti trovarti con modifiche parziali eseguite ai dati presenti in caching e/o con nodi del cluster di caching che forniscono dati non ancora aggiornati.

 

Sicuro di poter utilizzare JCS? :)

Share this post


Link to post
Share on other sites

Salve,

Corretto ciò che dici ... ma immagina questo scenario :

Ho una serie di informazioni, che per forza di cose non mi cambiano durante la giornata lavorativa. Possono cambiare solo dopo che ha girato un' opportuna fase batch ...

In questo scenario, la transazionalità non mi serve, perchè sono sicuro che durante le ore lavorative il dato è quello e quello rimane a disposizione di tutte le applicazioni che lo volessero leggere ... se poi aggiungi che , a seconda del dato, si parla d milionate di letture al giorno ... (della serie 400-500 milioni al giorno ...) , quello che mi interessa è sicuramente l' aspetto prestazionale.

Ciò non toglie che , in altri casi, esistono anche fasi di aggiornamento on line ... e qui occorre valutare bene che cosa fare, ovvero se interpore una cache fra DB e Applicazioni e di che tipologia ...

In Java, di transazionale, di valido, che cosa c'è ???

 

Ciao !!

Share this post


Link to post
Share on other sites
Salve,

Corretto ciò che dici ... ma immagina questo scenario :

Ho una serie di informazioni, che per forza di cose non mi cambiano durante la giornata lavorativa. Possono cambiare solo dopo che ha girato un' opportuna fase batch ...

In questo scenario, la transazionalità non mi serve, perchè sono sicuro che durante le ore lavorative il dato è quello e quello rimane a disposizione di tutte le applicazioni che lo volessero leggere ... se poi aggiungi che , a seconda del dato, si parla d milionate di letture al giorno ... (della serie 400-500 milioni al giorno ...) , quello che mi interessa è sicuramente l' aspetto prestazionale.

Ciò non toglie che , in altri casi, esistono anche fasi di aggiornamento on line ... e qui occorre valutare bene che cosa fare, ovvero se interpore una cache fra DB e Applicazioni e di che tipologia ...

In Java, di transazionale, di valido, che cosa c'è ???

 

Ciao !!

 

Ciao,

ovviamente i sistemi di cache transazionali non scalano quanto quelli "lisci".

 

Tra quelli transazionali ti consiglio: JBoss Cache - JBoss Community

 

Al posto di JCS ti consiglio di dare una occhiata a Performance at Any Scale che è anche sviluppato come plugin per Hibernate, con supporto enterprise e diversi miglioramenti. :approved:

 

Per come hai descritto il problema potresti usare anche i sistemi non transazionali, però, se le modifiche ai dati sono realmente così rare, a maggior ragione userei qualcosa di transazionale di base; così implementi il layer di caching in maniera trasparente e quando ci sono aggiornamenti da fare è l'ORM che reputa la cache non valida e procede al suo aggiornamento ed alla lettura dei dati dal db.

 

Dimmi se ti torna il discorso :)

Edited by Antonio

Share this post


Link to post
Share on other sites

Ammetto la mia incompetenza su Java, ci ho fatto qualcosina, mai web, ma poca roba, però dico la mia lo stesso.

Se avessi dati che non cambiano durante il giorno, milionate di letture...

 

ridonderei (ma senza tanti sofismi architetturali, proprio in maniera grezza ed efficace) tutto su statico al quale le letture punteranno.

Quando il dato viene cambiato, si riscrive lo statico e via così.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×