Domanda

Qualcuno ha esperienza con l'utilizzo di terracotta con Hibernate Search per soddisfare le query di applicazione?

Se è così:

  1. Che grandezza del "oggetto aggiornamenti" Può gestire? (Come va il prestazioni)

  2. Che tipo di prestazioni fare lo Le query sono?

  3. E 'possibile usare Terracotta     Hibernate Search senza nemmeno dover     un database di supporto per soddisfare tutti     "query" in memoria?
È stato utile?

Soluzione

Sono CTO di Terracotta. Ho trascorso qualche tempo il mese scorso guardando Hibernate Search. E non è costruita in modo da essere raggruppati in modo trasparente dal Terracotta. Ecco perché in poche parole:. Hibernate ha una replica JMS su misura di indici Lucene attraverso JVM

L'idea di base di ricerca è che parlare con disco locale sotto Lucene funziona davvero bene, mentre a frammentazione o il partizionamento fino indici Lucene attraverso la rete introduce talmente tanto la latenza da far Lucene sembra male quando non è colpa di Lucene a tutti. A tal fine, Hibernate Search non si basa su JBossCache o qualsiasi in memoria schemi di partizionamento / caching e invece si basa su JMS e il disco locale di ciascun JVM al fine di fornire up-to-date indicizzazione attraverso un cluster con bassa latenza simultanea. Poi, la bellezza di Hibernate Search è che le query di Hibernate standard e più può essere il lancio tramite Hibernate a questi indici in linguaggio naturale in ogni macchina.

Al di terracotta si scopre che abbiamo avuto un'idea simile a Emmanuel e costruito un prodotto SearchableMap sulla parte superiore della bussola. Ogni macchina prende il proprio negozio Compass e il negozio è configurato per versare sul disco locale. Terracotta viene utilizzato per creare una capacità di scrittura multi-master, dove ogni JVM può aggiungere l'indice e il delta viene inviato tramite Terracotta ad essere riprodotti / riapplicato a livello locale per ogni disco. Funziona proprio come Hibernate Search, ma con DSO come il protocollo di rete al posto di JMS e w / o le belle interfacce Hibernate, ma invece con le interfacce bussola.

Credo che sosterremo Hibernate Search w / aiuto da JBoss (che avrebbero bisogno di fattore i impl JMS come pluggable) entro la fine dell'anno.

Ora per le vostre domande direttamente:

Aggiornamenti 1.Object / sec in Hibernate o SearchableMap dovrebbe essere abbastanza alta perché entrambi sono solo invio delta. Nel caso di Hibernate si tratta di una funzione della nostra provider JMS. In terracotta è scalabile semplicemente aggiungendo più server cotto alla matrice.

  1. Le prestazioni delle query in entrambi è molto veloce. le prestazioni della memoria locale nella maggior parte dei casi. E se avete bisogno di pagina in dal disco, si scopre la maggior parte dei sistemi operativi fare un buon lavoro e in grado di rispondere modo più veloce di qualsiasi rete basata su cluster Can alle query.

  2. Sarà, penso, una volta che otteniamo JBoss al fattore le loro JMS ipotesi, ecc.

Saluti,

- Ari

Altri suggerimenti

Dal momento che le persone sul forum Hibernate continuano riferendosi a questo post mi sento in bisogno di sottolineare che, mentre i commenti di Ari dove corretti agli inizi del 2009, abbiamo sviluppato e migliorare molto.

Hibernate Search fornisce una serie di canali di back-end fuori dalla scatola, come i JMS già citati based e una recente aggiunta di più utilizzando JGroups, ma abbiamo fatto anche abbastanza facile da collegare implementazioni alternative o ignorare alcuni.

Oltre a utilizzare un backend personalizzato, è ora possibile a partire dalla versione 4 per sostituire l'intera strategia e invece di cambiare l'applicazione di back-end solo è possibile utilizzare un IndexManager che segue un design diverso e non utilizza un backend a tutti; in questo momento abbiamo solo due IndexManagers ma ci stiamo lavorando su più alternative; ancora una volta l'idea è quella di fornire piacevoli implementazioni per i più comuni

Si ha un backend basato Infinispan per molto veloce la distribuzione dell'indice attraverso diversi nodi, e dovrebbe essere semplice per contribuire uno basato su terracotta o qualsiasi altra tecnologia di clustering. Ulteriori soluzioni stanno arrivando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top