2010-06-16 28 views
9

Soy bastante nuevo en Apache Cassandra y nosql en general.¿Cómo realiza Apache Cassandra las operaciones agregadas?

En SQL puedo hacer operaciones de agregados como:

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

Esto es bueno porque se calcula dentro de la base de datos, en lugar de tener que mover cada fila de la tabla del 'pueblo' en la capa de cliente para hacer el cálculo.

¿Es esto posible en Apache Cassandra? ¿Cómo?

Respuesta

9

Cassandra es principalmente un mecanismo que admite escrituras y búsquedas rápidas. No hay soporte para cálculos como agregados en SQL, ya que no está diseñado para eso. Sugiero leer los populares casos de uso de Cassandra para obtener una mejor idea :) He marcado algunos artículos en mi deliciosa página. Aquí está el enlace:

http://delicious.com/vibhutesagar/cassandra

+0

Aún puede integrar [Cassandra y Hadoop] (http://wiki.apache.org/cassandra/HadoopSupport#MapReduce) y luego usar MapReduce. – user359996

+1

Solo una nota para los lectores, a partir de 2014, Cassandra admite agregaciones: https://issues.apache.org/jira/browse/CASSANDRA-4914 –

2

Usar SliceRange podría considerarse la versión de LIMIT y ORDER BY de Cassandra.

GROUP BY, COUNT y SUM no se admiten de fábrica.

Echar un vistazo a la API page de la wiki es un buen comienzo.

0

versión actual de Cassandra no son compatibles con SUM(). Solo se admite count(*).

Cuestiones relacionadas