如何使用 ScalarDB 在 Cassandra 中查找分区的大小
How to find size of a partition in Cassandra using ScalarDB
我正在使用在 Cassandra 中添加 ACID 支持的标量数据库库。如何使用标量数据库获取分区的大小?
在 Cassandra Java 驱动程序中,我会调用类似下面的方法来获取大小。
val resultSet = session.execute(partitionSizeQuery)
val resultSetSize = resultSet.all.size
ScalarDB 的等价物是什么。
当我调用
时我得到Optional[Result]
val result = transaction.get(getQuestion)
然后我调用 .get
来获取结果的值,如果有一个值(在检查 result.isPresent
val resultGet = result.get
logger.trace(s"result is ${resultGet}")
我想以上只会给我一行。
我想过使用 Scan
以及它给出 List[Result]
但从文档中不清楚我是否会得到所有结果或一些 system/configurable 限制。
即使我不能一次性得到所有的东西,我如何得到分区的大小?
您需要完成 scan
并获得 List<Result>
。
它会从数据库中检索所有结果,但是如果分区的大小不建议这样做。
您可以使用withStart
和withEnd
API of Scan
来限制扫描范围。
https://scalar-labs.github.io/scalardb/javadoc/com/scalar/db/api/Scan.html
如果仅检索指定范围,可能取决于下划线实现,但在 Cassandra 情况下,它仅检索指定范围。
我正在使用在 Cassandra 中添加 ACID 支持的标量数据库库。如何使用标量数据库获取分区的大小?
在 Cassandra Java 驱动程序中,我会调用类似下面的方法来获取大小。
val resultSet = session.execute(partitionSizeQuery)
val resultSetSize = resultSet.all.size
ScalarDB 的等价物是什么。
当我调用
时我得到Optional[Result]
val result = transaction.get(getQuestion)
然后我调用 .get
来获取结果的值,如果有一个值(在检查 result.isPresent
val resultGet = result.get
logger.trace(s"result is ${resultGet}")
我想以上只会给我一行。
我想过使用 Scan
以及它给出 List[Result]
但从文档中不清楚我是否会得到所有结果或一些 system/configurable 限制。
即使我不能一次性得到所有的东西,我如何得到分区的大小?
您需要完成 scan
并获得 List<Result>
。
它会从数据库中检索所有结果,但是如果分区的大小不建议这样做。
您可以使用withStart
和withEnd
API of Scan
来限制扫描范围。
https://scalar-labs.github.io/scalardb/javadoc/com/scalar/db/api/Scan.html
如果仅检索指定范围,可能取决于下划线实现,但在 Cassandra 情况下,它仅检索指定范围。