在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