有没有办法知道存储在列族中的所有 KV 的大小?
问问题
142 次
2 回答
1
对于 API,您可以使用:
GetApproximateSizes()
.如果你只是想检查,你可以检查 RocksDB 日志,它有 per column family
Compaction Stats
,每个级别的 SST 文件大小。它不是报告列族大小,但如果您对写入的字节感兴趣,有一个统计报告:
rocksdb.bytes.written
,您可以通过设置获得统计信息statistics
,例如:
options.statistics = CreateDBStatistics()
于 2021-07-13T04:26:36.897 回答
0
如果您想知道列族下所有 SST 文件的总大小,更好的方法是通过GetIntProperty()。在您的情况下,您想传入kTotalSstFileSize。
bool ok = db_->GetIntProperty(DB::Properties::kTotalSstFilesSize, &sst_size);
如果您只关心 SST 文件的最新版本,那么您应该使用kTotalLiveSstFileSize代替。
于 2021-12-25T10:22:28.397 回答