我對Apache Cassandra和一般的nosql相當陌生。Apache Cassandra如何完成聚合操作?
在SQL我可以做聚合操作,如:
SELECT
country, sum(age)/count(*) AS averageAge
FROM people
GROUP BY country;
,因爲它是數據庫中計算,而不是在「人」表移到每一行到客戶端層要做到這一點是好的計算。
這在Apache Cassandra中可能嗎?怎麼樣?
我對Apache Cassandra和一般的nosql相當陌生。Apache Cassandra如何完成聚合操作?
在SQL我可以做聚合操作,如:
SELECT
country, sum(age)/count(*) AS averageAge
FROM people
GROUP BY country;
,因爲它是數據庫中計算,而不是在「人」表移到每一行到客戶端層要做到這一點是好的計算。
這在Apache Cassandra中可能嗎?怎麼樣?
Cassandra主要是一種支持快速寫入和查找的機制。不支持像SQL中的聚合這樣的計算,因爲它不是爲此設計的。我建議閱讀流行的Cassandra用例以獲得更好的洞察力:)我已在我的美味頁面上添加了一些書籤。這裏是鏈接:
卡桑德拉當前版本不支持SUM()
。 僅支持count(*)
。
您仍然可以集成[Cassandra和Hadoop](http://wiki.apache.org/cassandra/HadoopSupport#MapReduce),然後使用MapReduce。 – user359996 2012-03-09 00:17:59
給讀者的一封信,截至2014年,Cassandra支持聚合:https://issues.apache.org/jira/browse/CASSANDRA-4914 – 2015-03-19 18:37:38