2011-08-25 31 views
7

Tôi đang tìm kiếm nếu cassandra có giới hạn của spec phần cứng nút như những gì có thể là tối đa lưu trữ cho mỗi nút nếu có bất kỳ giới hạn như vậy.hạn chế nút cassandra

Tôi dự định sử dụng vài nút có bộ nhớ 48TB (ổ cứng 2TB X 24 7200 vòng/phút) cho mỗi nút với một số bộ vi xử lý hai bộ xử lý tốt.

Tôi đã tìm kiếm các giới hạn như vậy nếu tồn tại nhưng không tìm thấy bất kỳ tài liệu nào về vấn đề này. Và guys tại sao có ít hơn nhiều buzz về cassandra gần đây trong khi nó nhận được trưởng thành và lên phiên bản 0.8 của nó trong khi hầu hết các bài báo/blog có liên quan đến 0.6v chỉ.

Trả lời

7

Cassandra phân phối dữ liệu của nó theo hàng, do đó, giới hạn cứng duy nhất là một hàng phải có khả năng vừa với một nút duy nhất.

Vì vậy, câu trả lời ngắn gọn là không.

Câu trả lời dài hơn là bạn sẽ muốn đảm bảo rằng bạn đang thiết lập khu vực lưu trữ riêng cho dữ liệu cố định và nhật ký cam kết của mình.

Một điều khác cần lưu ý là bạn vẫn sẽ gặp vấn đề về tốc độ tìm kiếm. Một trong những điều tốt đẹp về Cassandra là bạn không cần phải có một nút đơn với nhiều dữ liệu (và trên thực tế nó có thể không được thông báo tốt, bạn đang lưu trữ sẽ vượt quá sức mạnh xử lý của bạn). Nếu bạn sử dụng các nút nhỏ hơn (không gian ổ đĩa cứng khôn ngoan) thì khả năng lưu trữ và xử lý của bạn sẽ mở rộng với nhau.

+0

điểm tốt của nó mà sức mạnh xử lý có thể vượt qua lưu trữ.Bạn có ý tưởng tốt về lưu trữ và xử lý tỷ lệ năng lượng? Tôi dự định sử dụng tổng số 16 (32 chủ đề) lõi kép xeon 7560 cho lưu trữ đó. –

+0

Điểm ngọt ngào mà tôi không thể bình luận. Tuy nhiên, một điểm khác cần xem xét là yếu tố nhân rộng của bạn. Bạn có kế hoạch để có 3 hoặc nhiều hơn các nút với một RF> = 2? Nếu không, thì bạn phá vỡ rất nhiều lợi ích của Cassandra (số một không phải là điểm duy nhất của thất bại). – dmcnelis

+0

Đúng, sẽ có nhiều hơn 3 nút có cùng kích thước và RF> = 2. btw Tôi cũng muốn nghe về việc sử dụng một tùy chọn thay thế như RAID10 .. nếu nó cắt giảm công việc sao chép của cassandra một cách đáng kể. –

5

Xem How much data per node in Cassandra cluster?

đó cho thấy rằng giữa 1-10 TB mỗi nút là hợp lý, tùy thuộc vào ứng dụng của bạn. Cassandra có lẽ sẽ vẫn làm việc với 48TB, nhưng không phải là tối ưu.

Bạn có định sử dụng hệ số nhân bản của 1 hoặc 2 (nếu bạn có 2 nút như đã nêu ở trên) không?

Một số thao tác (sửa chữa, nén) có thể cực kỳ chậm với nhiều dữ liệu trên một nút.

+0

Nếu tôi phá vỡ mỗi nút để nói 10TB CPU/RAM nào là lý tưởng để làm cho cassandra xử lý mọi thứ độc đáo? Tôi dự định sử dụng RAM 640GB với dung lượng lưu trữ 48TB vì sẽ chỉ có trong chỉ mục cột để duy trì. –

+2

Một số nhận xét về bộ nhớ RAM tại http://wiki.apache.org/cassandra/CassandraHardware - nhưng nó phụ thuộc rất nhiều vào bộ nhớ cache chính hoặc bộ nhớ cache bạn đang sử dụng, và khối lượng công việc đọc-ghi của bạn. Bạn có khả năng nhận được kết quả tốt hơn với nhiều nút hơn, mỗi nút có phần cứng khiêm tốn, hơn một vài nút được chỉ định cao. – DNA

7

Có một số ghi chú here về cân nhắc tập hợp dữ liệu lớn.

48 TB dữ liệu trên mỗi nút có thể là quá nhiều. Sẽ tốt hơn nếu có nhiều nút hơn với lượng dữ liệu nhỏ hơn. Định kỳ bạn cần chạy nodetool repair, bao gồm việc đọc tất cả dữ liệu trên máy. Nếu bạn đang lưu trữ nhiều terabyte dữ liệu trên một máy tính, điều này sẽ rất đau đớn.

Tôi sẽ giới hạn mỗi nút đến khoảng 1TB dữ liệu.

5

Bạn cũng nên cẩn thận khi sử dụng lượng RAM lớn với Cassandra. RAM là rất tốt cho bộ nhớ đệm dữ liệu trong SSTables, nhưng cho JVM quá nhiều không gian heap là phản tác dụng. Không cung cấp cho JVM nhiều hơn 12 GB không gian heap, nếu không việc thu gom rác sẽ mất quá nhiều thời gian và cản trở hiệu suất. Đây là một lý do tại sao có nhiều nút nhỏ hơn thì tốt hơn ở Cassandra.