【问题标题】:Querying the size of a column family in RocksDB在 RocksDB 中查询列族的大小
【发布时间】:2021-07-11 22:33:25
【问题描述】:

有没有办法知道存储在列族中的所有 KV 的大小?

【问题讨论】:

    标签: rocksdb column-family


    【解决方案1】:
    1. 对于 API,您可以使用:GetApproximateSizes()

    2. 如果你只是想检查,你可以检查 RocksDB 日志,它有每个列族Compaction Stats,每个级别的 SST 文件大小。

    3. 它不是报告列族大小,但是如果您对写入的字节感兴趣,有一个统计报告:rocksdb.bytes.written,您可以通过设置statistics 获得统计信息,例如:

    options.statistics = CreateDBStatistics()
    

    【讨论】:

    • 你能举个例子说明如何使用GetApproximateSizes()? 具体来说,如果我想要整个列的大小,我应该使用什么作为Range
    【解决方案2】:

    如果你想知道一个列族下所有 SST 文件的总大小,更好的方法是通过GetIntProperty()。在你的情况下,你想传入kTotalSstFileSize

    bool ok = db_->GetIntProperty(DB::Properties::kTotalSstFilesSize, &sst_size);

    如果您只关心最新版本的 SST 文件,那么您应该改用 kTotalLiveSstFileSize

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-12
      • 2014-11-23
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多