2023-05-23 09:48:17 25阅读
1. versionSet:一个db一个versionSet,记录当前version_number包含这个db的所有ColumnFamily
ColumnFamilySet
WalSet:protected by db mutex
current_version_number:维护version number
2. versionStorageInfo:
user_comparator_
files_
3. version:
cfd_:版本所属的columnFamilyData
table_cache_
storage_info_ : 保存当前版本关联的,构造时通过传入的cfd_生成,传入一个cfd_->current()->sotrage_info()作为ref_vstorage指针
vset:所属的versionSet
next_:保存version链表上下一个版本
prev_
version(cfd, vset, file_opt, mutable_cf_opt, version_number,..)
4. versionEdit:
对一个version的修改记录,成为一个versionEdit, versionEdit里的操作会被写入Manifest;
version+versionEdit ==》new version
versionEdit提供addFile和deleteFile接口
5. VersionEditHandler:
version_set_ : 构造一个新version时使用
6. superversion:指向当前最新version和关联的memtable, superversion是访问当前版本数据的入口。
cfd: 所属columnFamily
mem:持有的mem
imm:all immutable memtables
current:当前最新version
static int dummy:kSVInUse指向dummy
static void* const kSVInUse
static void* const kSVObsolete
7. ColumnFamilyData:
dummy_versions_: head of version_list
current_ :dummy_versions→prev_
super_version_
local_sv_ :local_copy of SuperVersion pr
2023-05-23 09:48:17 25阅读
1. versionSet:一个db一个versionSet,记录当前version_number包含这个db的所有ColumnFamily
ColumnFamilySet
WalSet:protected by db mutex
current_version_number:维护version number
2. versionStorageInfo:
user_comparator_
files_
3. version:
cfd_:版本所属的columnFamilyData
table_cache_
storage_info_ : 保存当前版本关联的,构造时通过传入的cfd_生成,传入一个cfd_->current()->sotrage_info()作为ref_vstorage指针
vset:所属的versionSet
next_:保存version链表上下一个版本
prev_
version(cfd, vset, file_opt, mutable_cf_opt, version_number,..)
4. versionEdit:
对一个version的修改记录,成为一个versionEdit, versionEdit里的操作会被写入Manifest;
version+versionEdit ==》new version
versionEdit提供addFile和deleteFile接口
5. VersionEditHandler:
version_set_ : 构造一个新version时使用
6. superversion:指向当前最新version和关联的memtable, superversion是访问当前版本数据的入口。
cfd: 所属columnFamily
mem:持有的mem
imm:all immutable memtables
current:当前最新version
static int dummy:kSVInUse指向dummy
static void* const kSVInUse
static void* const kSVObsolete
7. ColumnFamilyData:
dummy_versions_: head of version_list
current_ :dummy_versions→prev_
super_version_
local_sv_ :local_copy of SuperVersion pr