En términos de SQL que está almacenando los datos de la siguiente manera:¿Qué base de datos elegir (Cassandra, MongoDB,?) Para almacenar y consultar datos de eventos/log/métricas?
table events (
id
timestamp
dimension1
dimension2
dimension3
etc.
)
Todos los valores de dimensión son enteros. Esta tabla se está volviendo muy grande.
Queremos estúpidamente lecturas rápidas para las consultas de este tipo:
SELECT dimension1, dimension2, COUNT(*)
FROM events
WHERE dimension8 = 'foo'
AND dimension9 = 'bar'
GROUP BY 1, 2
Queremos escrituras rápidas, y no se preocupan por las transacciones y consistencia. Nos preocupamos por la disponibilidad final y la tolerancia de partición.
Estaba buscando alternativas "NoSQL". ¿Puede Casandra hacer el tipo de consultas que estoy buscando? Esto no es inmediatamente obvio al leer sus documentos ... si puede hacerlo, ¿cuál es su rendimiento para esos tipos de consultas?
También estaba mirando a MongoDB, pero su función de "grupo()" tiene serias limitaciones por lo que pude leer (máximo de 10.000 filas).
¿Tiene experiencia con alguna de estas bases de datos y la recomendaría como solución al problema descrito anteriormente?
¿Hay alguna otra base de datos que deba considerar que pueda hacer este tipo de consultas rápidamente?
Saludos, barreta
¿De qué lado estás? ¿Podría manejar una solución .NET? –
"" "También estaba mirando a MongoDB, pero su función" group() "tiene severas limitaciones por lo que pude leer (máximo de 10,000 filas)." "" - ¡use M/R en su lugar! –
¿es esta la única consulta que desea hacer en sus datos? Le sugiero que organice de manera diferente sus datos, puede almacenarlos ya en la forma que desee. El tema aquí no es si NoSQL puede hacer la consulta que tiene en mente, sino cambiar de opinión para adaptarse a la filosofía NoSQL. cambie el esquema y no necesitará más agrupar por ... – ALoR