在sql中我们正在存储这样的数据:
table events ( id timestamp dimension1 dimension2 dimension3 etc. )
所有维度值都是整数.这张桌子变得非常大.
我们想要愚蠢的读取这样的查询:
SELECT dimension1,dimension2,COUNT(*) FROM events WHERE dimension8 = 'foo' AND dimension9 = 'bar' GROUP BY 1,2
我们想要快速写入,不关心事务和一致性.我们关心最终可用性和分区容限.
我在看“Nosql”的替代品.卡桑德拉可以做我正在寻找的那种查询吗?从阅读他们的文档来看,这不是很明显的,如果可以这样做,那么这些类型的查询是什么表现?
还在查看MongoDB,但是他们的“group()”功能有很大的限制,只要我能读取(最多10,000行).
你有任何这些数据库的经验,你会推荐它作为上述问题的解决方案吗?
干杯,
吉米
解决方法
“集体”和“笨蛋”不要一起去.这只是野兽的本质…因此,对蒙古集团运作的限制; Cassandra本身甚至不支持它(尽管它通过Hadoop进行Hive或Pig查询),但是这些不是愚蠢的快速).
像Twitter的Rainbird(使用Cassandra)进行实时分析的系统通过反规范/预计算计算:http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011