繁体   English   中英

卡桑德拉多行选择

[英]Cassandra multi row selection

我在某处听说在cassandra中使用多行选择是不好的,因为对于每个行选择,它都会运行新查询,因此例如,如果我想一次获取1000行,则与一次运行1000个独立查询相同,是真正?

如果说每次我在一分钟内有1000次页面浏览,每次加载页面时一直选择大约50行是多么糟糕,这会严重降低cassandra的速度吗?

PS我正在为我的项目使用PHPCassa

是的,运行1000行查询与运行1000条查询(如果使用推荐的RandomPartitioner )相同。 但是,我对此不会太担心。 在Cassandra中,通过其键查询行是非常常见,非常快速的操作。

至于第二个问题,很难提前告知。 构建并测试。 请注意,Cassandra确实在内存缓存中使用,因此,如果您要查询相同的行,则它们将被缓存。

我们将Playorm用于Cassandra,并且那里有一个“ findAll”模式,该模式提供了快速获取所有行的支持。 有关更多详细信息,请访问https://github.com/deanhiller/playorm/wiki/Support-for-retrieving-many-entities-in-parallel

1)我几乎没有调试Cassandra代码库,并且根据观察,我可以同时查询多行cassandra提供了multiget()功能,该功能也在phpcassa中继承。

2)Multiget经过优化,可以处理批处理请求,并且可以节省您的网络跃点(例如对于1k行,将有1000次往返,因此肯定可以减少999次往返的时间)

3)有关phpcassa中的multiget()的更多信息: php cassa multiget()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM