#rocksdb #column-family
Вопрос:
Есть ли способ узнать размер всех KV, которые хранятся в семействе столбцов?
Ответ №1:
- Для API вы можете использовать:
GetApproximateSizes()
. - Если вы просто хотите проверить, вы можете проверить журнал RocksDB, в котором для каждого семейства столбцов
Compaction Stats
указан размер файла SST для каждого уровня. - Он не сообщает о размере семейства столбцов, но если вас интересуют записанные байты, есть статистический отчет , который:
rocksdb.bytes.written
вы можете получить статистику , установивstatistics
, например:
options.statistics = CreateDBStatistics()
Комментарии:
1. Можете ли вы привести пример того, как
GetApproximateSizes()?
конкретно использовать, если мне нужен размер всего столбца, что я использую в качествеRange
?
Ответ №2:
Если вы хотите узнать общий размер всех файлов SST в семействе столбцов, лучше всего использовать функцию GetIntProperty(). В вашем случае вы хотите передать kTotalSstFileSize.
bool ok = db_->GetIntProperty(DB::Свойства::kTotalSstFilesSize, amp;sst_size);
Если вас интересует только последняя версия файлов SST, то вместо этого вам следует использовать kTotalLiveSstFileSize.