In sql terms we're storing data like this:
table events (
id
timestamp
dimension1
dimension2
dimension3
etc.
)
All dimension values are integers. This table is becoming very large.
We want stupidly fast reads for queries like this:
SELECT dimension1, dimension2, COUNT(*)
FROM events
WHERE dimension8 = 'foo'
AND dimension9 = 'bar'
GROUP BY 1, 2
We want fast writes, and don't care about transactions and consistency. We care about eventual availability and partition tolerance.
I was looking at "NoSQL" alternatives. Can Casandra do the kind of queries I'm looking for?? This isn't immediately obvious from reading their docs... if it can do that, what is it's performance for those types of queries?
Was also looking at MongoDB, but their "group()" function has severe limitations as far as I could read (max of 10,000 rows).
Do you have experience with any of these databases, and would you recommend it as a solution to the problem described above?
Are there any other databases I should consider that can do these kind of queries fast?
Cheers, jimmy