首先要考虑多副本,比如默认3副本那就要放大3倍空间。然后要考虑MVCC多版本,它不像MySQL是用undo来实现的,TiDB中同一行数据的不同版本,在RocksDB中都是不同的KV对,需要等待GC去删除旧的快照数据,删除后空间会有所下降。最后还要考虑RocksDB的7层LSM Tree结构的空间放大,大约是1.12倍。
1 个赞
首先要考虑多副本,比如默认3副本那就要放大3倍空间。然后要考虑MVCC多版本,它不像MySQL是用undo来实现的,TiDB中同一行数据的不同版本,在RocksDB中都是不同的KV对,需要等待GC去删除旧的快照数据,删除后空间会有所下降。最后还要考虑RocksDB的7层LSM Tree结构的空间放大,大约是1.12倍。