2011-08-18 19 views
5

Có giúp ích khi sử dụng Redis với Java để phát triển các ứng dụng chuyên sâu dữ liệu (ví dụ: khai phá dữ liệu) trong Java không?Java + Redis so với hiệu quả Java thuần túy cho các ứng dụng chuyên sâu dữ liệu?

Ứng dụng có hoạt động nhanh hơn hoặc tiêu thụ ít bộ nhớ hơn so với Java thuần túy cho hoạt động tương tự trên lượng lớn dữ liệu không?

Chỉnh sửa: Câu hỏi của tôi chủ yếu là chạy trên một máy. Ví dụ để làm việc với một số lượng lớn danh sách/bộ/bản đồ và truy vấn và sắp xếp chúng.

+0

Điều đó phụ thuộc rất nhiều vào những gì bạn đang cố gắng làm. Nó là một ứng dụng máy chủ duy nhất? Bạn có thể đặt tất cả thông tin này vào bộ nhớ không? Bạn sẽ chạy điều này trong một máy duy nhất hoặc trong nhiều máy? –

+0

@ Maurício Hiện tại trên một máy, nhưng có thể mở rộng trong tương lai. Mỗi lần tôi tải một lượng lớn dữ liệu trong bộ nhớ để xử lý và sau đó tôi sẽ lưu lại các thay đổi cho một tập con nhỏ của chúng. Tôi có thể cải thiện hiệu suất sử dụng bộ nhớ/CPU của Java bằng cách sử dụng Redis với Java trên một máy không? –

Trả lời

2

Redis chắc chắn sẽ không nhanh hơn Java gốc trên một máy đơn lẻ. Nó sẽ cho phép bạn phân phối việc xử lý, nhưng nếu các khối dữ liệu thực sự lớn, chúng sẽ không có khả năng phù hợp với bộ nhớ. Nếu không biết nhiều hơn về những gì bạn đang làm, tôi sẽ đề nghị lưu trữ dữ liệu trên đĩa. Khi bạn nhận được nhiều máy, bạn có thể nối mạng phân vùng và chia sẻ dữ liệu theo cách đó. Ngoài ra, Hadoop với MapReduce có vẻ giống như loại điều phù hợp với những gì bạn đang làm.

Các vấn đề liên quan