![](/img/trans.png)
[英]Converting multi-list row into multiple rows with single elements Cassandra
[英]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.