1

我正在使用 Scalar DB 库,它在 Cassandra 中添加了 ACID 支持。如何使用 Scalar DB 获取分区的大小?

在 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],但从文档中不清楚我是否会得到所有结果或一些系统/可配置限制。

即使我不会一口气解决所有问题,如何获得分区的大小?

4

1 回答 1

0

你需要做scan并获得List<Result>. 它从数据库中检索所有结果,但是如果分区的大小很大,不建议这样做。

您可以使用withStartwithEndAPI来限制扫描范围Scanhttps://scalar-labs.github.io/scalardb/javadoc/com/scalar/db/api/Scan.html

如果它只检索指定的范围,它可能取决于下划线的实现,但在 Cassandra 的情况下它只检索指定的范围。

于 2020-07-25T04:09:47.700 回答