tikv数据内存过大

.sst就是KV键值对数据,看下rockdb就知道了
https://docs.pingcap.com/tidb/v8.4/rocksdb-overview

在 TiDB 中,.sst 文件(Sorted String Table 文件)是 RocksDB 用于持久化存储数据的关键组件。RocksDB 是一种高性能的嵌入式键值存储引擎,采用 LSM-tree(Log-Structured Merge-Tree)架构。以下是 .sst 文件生成的基础和过程,以及 RocksDB 在数据持久化和检索中的作用:

.sst 文件的生成过程

  1. 数据写入:当用户向 TiDB 写入数据时,数据首先被记录到 RocksDB 的 Write Ahead Log (WAL) 中,然后写入内存中的 MemTable(一个 SkipList 数据结构)。
  2. MemTable 刷新:当 MemTable 中的数据达到一定大小时,RocksDB 会将其内容刷新到磁盘上,生成一个新的 .sst 文件。这个过程称为“刷盘”。
  3. 多级存储:.sst 文件在磁盘上以多级结构组织,通常有多达 6 个级别。当某一级别的总大小达到阈值时,RocksDB 会选择部分 .sst 文件并将其合并到下一级别。每个后续级别的大小是前一级别的 10 倍,因此大部分数据存储在最后一个级别。