2011-08-18 6 views
5

Aiuta a utilizzare Redis con Java per sviluppare applicazioni ad uso intensivo di dati (ad es. Data mining) in Java?Java + Redis rispetto alla semplice efficienza Java per applicazioni ad uso intensivo di dati?

Funziona più velocemente o consuma meno memoria confrontando con Java normale per operazioni simili su un volume elevato di dati?

Modifica: La mia domanda riguarda principalmente l'esecuzione su una singola macchina. Ad esempio per lavorare con un numero elevato di elenchi/gruppi/mappe e interrogarli e ordinarli.

+0

Dipende molto da quello che stai cercando di fare. È un'app per server singolo? Puoi mettere tutte queste informazioni in memoria? Lo farai in una singola macchina o in molti di loro? –

+0

@ Maurício Attualmente su una singola macchina, ma potrebbe ridimensionarsi in futuro. Ogni volta che carico una grande quantità di dati in memoria da elaborare e quindi salverò le modifiche in un piccolo sottoinsieme di esse. Posso migliorare l'efficienza di utilizzo della memoria/cpu di Java usando Redis con Java su una singola macchina? –

risposta

2

Redis non sarà sicuramente più veloce di Java nativo su una singola macchina. Ti permetterebbe di distribuire l'elaborazione, ma se i blocchi di dati sono davvero grandi, non è probabile che si adattino comunque alla memoria. Senza sapere di più su cosa stai facendo, ti suggerirei di archiviare i dati su disco. Quando si ricevono più macchine, è possibile montare in rete la partizione e condividere i dati in questo modo. In alternativa, Hadoop con MapReduce sembra il giusto tipo di cosa per quello che stai facendo.