用 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”替代方案。 Casandra 可以做我正在寻找的那种查询吗?通过阅读他们的文档,这一点并不是显而易见的......如果它可以做到这一点,那么它对于这些类型的查询的性能如何?
我也在研究 MongoDB,但据我所知,他们的“group()”函数有严重的限制(最多 10,000 行)。
您是否有使用这些数据库的经验,您是否会推荐它作为上述问题的解决方案?
我应该考虑是否有其他数据库可以快速执行此类查询?
干杯,
吉米
“分组依据”和“愚蠢的快速”不能并存。这就是那头野兽的本性……因此,Mongo 的团体运作受到了限制; Cassandra 甚至本身不支持它(尽管它支持通过 Hadoop 进行 Hive 或 Pig 查询......但它们的目的并不是要快得愚蠢)。
Twitter 的 Rainbird(使用 Cassandra)等进行实时分析的系统通过非规范化/预计算计数来实现:http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011 http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)