2011-08-18 13 views
5

Czy pomaga używać Redis z Javą do tworzenia intensywnych aplikacji (np. Eksploracji danych) w Javie?Java + Redis kontra zwykła wydajność Java dla aplikacji wymagających dużej ilości danych?

Czy działa szybciej lub zużywa mniej pamięci w porównaniu do zwykłej Java dla podobnych operacji przy dużej ilości danych?

Edycja: Moje pytanie dotyczy głównie uruchamiania na jednej maszynie. Na przykład do pracy z dużą liczbą list/zestawów/map i zapytań oraz ich sortowania.

+0

To zależy w dużej mierze od tego, co próbujesz zrobić. Czy jest to aplikacja pojedynczego serwera? Czy umieścisz wszystkie te informacje w pamięci? Czy uruchomisz to na jednej maszynie lub w wielu z nich? –

+0

@ Maurício Obecnie na jednej maszynie, ale może być skalowana w przyszłości. Za każdym razem, gdy ładuję dużą porcję danych w pamięci do przetworzenia, a następnie zapisuję zmiany z powrotem w ich niewielkim podzbiorze. Czy mogę poprawić wydajność wykorzystania pamięci Java/procesora poprzez użycie Redis z Javą na jednym komputerze? –

Odpowiedz

2

Redis na pewno nie będzie szybszy niż natywna Java na jednym komputerze. Umożliwiłoby to rozpowszechnianie przetwarzania, ale jeśli porcje danych są naprawdę duże, i tak prawdopodobnie nie będą one pasować do pamięci. Nie wiedząc więcej o tym, co robisz, sugerowałbym przechowywanie danych na dysku. Gdy masz wiele komputerów, możesz podłączyć do sieci partycję i udostępnić dane w ten sposób. Alternatywnie, Hadoop z MapReduce brzmi jak właściwy rodzaj tego, co robisz.

Powiązane problemy