2013-06-06 8 views
7

Speriamo che questa domanda non sia obsoleta, ma non ho ancora trovato una risposta chiara. Secondo una delle presentazioni ES dello scorso anno (http://www.elasticsearch.org/videos/big-data-search-and-analytics/), c'è una dimensione "massima" per un frammento. Sto cercando di determinare questo per la mia applicazione, ma per quanto posso dire, non ho ancora colpito. Qualcuno sa quale sia il comportamento di un indice single-shard che ha raggiunto il massimo? Gli inserimenti falliscono o è solo che l'indice diventa inutilizzabile?ElasticSearch - Determinazione della dimensione massima del frammento

risposta

13

Per testare da solo, ho indicizzato tutti gli articoli inglesi in Wikipedia (senza informazioni sulla cronologia) in un singolo frammento elasticsearch. La cartella dei dati elasticsearch è cresciuta a ~ 42 GB alla fine del test. Le lezioni apprese sono:

  • la velocità di indicizzazione non sarà influenzata dalla dimensione del frammento. Intendiamoci, non ho provato l'indicizzazione con più di un thread alla volta, ma la velocità di indicizzazione a thread singolo è stata più o meno costante per tutta la durata del test.
  • La velocità di interrogazione è stata drasticamente influenzata dalle dimensioni del frammento. Soprattutto quando provi a interrogare con più di un utente alla volta. I numeri esatti dipenderanno pesantemente dalla potenza della macchina, dalla struttura dei dati e dal numero di thread interrogati. Per darti un'idea, con elasticsearch in esecuzione sulla mia macchina di sviluppo, interrogare il frammento di Wikipedia con 25 utenti simultanei ha prodotto un tempo di risposta medio di 3,5 secondi (con picchi verso mezzo minuto).

La mia conclusione è che un frammento troppo grande non farà fallire elasticsearch solo dall'indicizzazione. Interrogare il frammento di grandi dimensioni potrebbe essere troppo lento per le tue esigenze o, in alcune situazioni, persino rompere elasticsearch con una OutOfMemoryException (ad esempio una query di grandi dimensioni).

Questa risposta è basata sulla mia stessa indagine. Storia completa si può leggere sul mio blog:

http://blog.trifork.com/2013/09/26/maximum-shard-size-in-elasticsearch/
http://blog.trifork.com/2013/11/05/maximum-shard-size-in-elasticsearch-revisited/

+0

Mentre questo link possono rispondere alla domanda, è meglio per includere le parti essenziali della risposta qui e fornire il link di riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. – SysDragon

+0

@SysDragon Modificato la mia risposta. –

+0

Piuttosto interessante ora, +1 – SysDragon