Tendis icon indicating copy to clipboard operation
Tendis copied to clipboard

如何获得Tendis存储数据key的统计分布

Open wenfengwang opened this issue 4 years ago • 2 comments

现在有这么几个需求:

  1. 知道集群存了多少个key和总大小
  2. 在1的基础上统计以固定prefix开头的key的数量和总大小
  3. 这些key的根据大小进行区间统计,比如<4KB的多少,>4KB的多少等等

请问官方对这种场景有什么好的建议或最佳实践吗?

wenfengwang avatar Jul 13 '21 07:07 wenfengwang

  1. info datasetrocksdb.estimate-num-keys 这个是rocksdb内部估算key的数据,但是这个数量是子key的数量,例如一个hash有100个成员,这里会估算成100,而不是一个key,所以语义上跟redis的dbsize差别比较大。

2和3,目前没计划支持类似的统计,主要是复杂度和性能影响考虑。 如果需要实现这个功能,需要定制下rocksdb的ldb工具,进行离线分析

vinchen avatar Jul 22 '21 03:07 vinchen

@vinchen 感谢回复,「需要定制下rocksdb的ldb工具」这个有没有更多的思路,可以提供一个吗?

wenfengwang avatar Jul 22 '21 11:07 wenfengwang