2010-06-16 45 views
9

Tôi khá mới đối với Apache Cassandra và nosql nói chung.Apache Cassandra hoạt động như thế nào?

Trong SQL tôi có thể làm các hoạt động tổng hợp như:

SELECT 
    country, sum(age)/count(*) AS averageAge 
FROM people 
GROUP BY country; 

này là tốt đẹp vì nó được tính trong DB, thay vì phải di chuyển tất cả các hàng trong bảng 'người' vào lớp khách hàng để làm tính toán.

Điều này có thể thực hiện được trong Apache Cassandra không? Làm sao?

Trả lời

9

Cassandra chủ yếu là cơ chế hỗ trợ ghi nhanh và tra cứu. Không có hỗ trợ cho các phép tính như tổng hợp trong SQL vì nó không được thiết kế cho điều đó. Tôi sẽ đề nghị đọc các trường hợp sử dụng Cassandra phổ biến để có được một cái nhìn sâu sắc hơn :) Tôi đã đánh dấu một số bài viết trên trang ngon của tôi. Dưới đây là liên kết:

http://delicious.com/vibhutesagar/cassandra

+0

Bạn vẫn có thể tích hợp [Cassandra và Hadoop] (http://wiki.apache.org/cassandra/HadoopSupport#MapReduce) và sau đó sử dụng MapReduce. – user359996

+1

Chỉ cần một lưu ý cho độc giả, tính đến năm 2014, Cassandra hỗ trợ tập hợp: https://issues.apache.org/jira/browse/CASSANDRA-4914 –

2

Sử dụng SliceRange có thể được coi là phiên bản LIMIT và ORDER BY của Cassandra.

GROUP BY, COUNT và SUM không được hỗ trợ ngoài hộp.

Xem qua số API page từ wiki là một khởi đầu tốt.

0

Phiên bản hiện tại của Cassandra không hỗ trợ SUM(). Chỉ hỗ trợ count(*).

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