假设,我有一个应用程序,它从 cassandra 读取数据,并将它们以每页 10 或 20 行等大块行的形式显示给用户。有没有办法在 cassandra 中有效地做到这一点?假设,我有一个表 'ks1.cf1',其分区键为 'pk' 和聚类列 'ck',每个分区有 1000 多行,我想一次向用户显示每个分区 10 行。一种方法是运行
SELECT * FROM ks1.cf1 LIMIT 10;
并获取最后一行并根据聚类列('ck'的值)进行不等式并再次限制结果,例如
SELECT * FROM ks1.cf1 WHERE ck > value_in_last_row LIMIT 10;
这是执行此操作的有效方法还是多次运行相同查询会产生大量开销?结果分页在 cqlsh 中如何工作,cql 或 java 驱动程序是否支持类似的东西?另外,是否使用 LIMIT 获取整个分区并仅显示请求的记录数?另外,如果我要获取多个分区并希望一次显示 n 个分区,我该如何对一般查询执行相同的操作?
我正在使用 autoscaling:EC2_INSTANCE_LAUNCHING 和 autoscaling:EC2_INSTANCE_TERMINATING 生命周期挂钩在自动缩放组中启动一堆 ec2 实例。当我使用 aws 管理控制台启动实例终止时,实例会终止,而无需等待我完成生命周期操作https://docs.aws.amazon.com/cli/latest/reference/autoscaling/complete-lifecycle-action。 html
自动缩放组 UI 中的实例状态显示为Terminating:Wait。EC2 Instances UI 中的实例状态显示为Terminated。这使我无法在完成生命周期操作并实际终止实例之前采取纠正措施。
当我减少自动缩放组中所需的实例大小时,这似乎不适用于这种情况。当我减少所需的实例大小从而导致实例终止时,它似乎经历了适当的生命周期阶段。
这是 aws asg 生命周期挂钩的工作方式吗?对于在更改 asg 所需的实例大小之外触发的任何 asg 实例终止,它们几乎没有用。