RocksDB的术语表

Iterator:    迭代器,用户使用迭代器按排序顺序查询范围内的key。

Point lookup:    点查询,在RocksDB中,点查找是指使用Get()读取一个键。

Range lookup:    范围查找,范围查找意味着使用迭代器读取一系列键。

SST File(Data file 数据文件/SST table SST表):     

       SST代表分类序列表。它们是存储数据的持久性文件。在文件中,key是有序的,以便于二分搜索来识别key或迭代位置。

Index:    SST文件中数据块的索引。它在SST文件中作为索引块持久化,默认二分搜索。

Partitioned Index:     分区索引,将二分搜索索引块分成多个较小的块。

LSM-tree:    (Log-structured_merge-tree)RocksDB是基于LSM树的存储引擎。

Write-Ahead-Log(WAL) or log:    

        预先写入日志(WAL)或日志:用于在数据库恢复期间恢复尚未刷新到SST文件的数据的日志文件。

memtable/write buffer:    内存数据结构,用于存储数据库的最新更新。通常有序,并包含二分搜索索引

memtable switch:    

    memtable开关:在这个过程中,当前活动的memtable(当前正在写入的一个)被关闭并变成一个不可变的memtable。同时,我们将关闭当前的WAL文件并开始一个新的文件。

immutable memtable:    不可变的memtable:一个正在等待被刷新的关闭的memtable。

sequence number(SeqNum/Seqno):    序号(SeqNum / Seqno):每写入数据库将被分配一个自动递增的ID号码。该编号附加在WAL文件中的键值对,memtable和SST文件中。序列号用于实现快照读取,压缩中的垃圾回收,事务中的MVCC以及其他一些目的。

recovery:    恢复:失败或关闭后重新启动数据库的过程。

flush:    将mem表中的数据写入SST文件的后台作业。

compaction:    压缩:将一些SST文件合并到其他SST文件中的后台作业。LevelDB的压缩也包括flush。在RocksDB中,我们进一步区分了两者。

Leveled Compaction or Level Based Compaction Style:    层压缩或基于层的压缩风格:RocksDB的默认压缩风格。

Comparator:    比较器:一个可以定义key顺序的插件类。

Column Family:    列族:列族在一个DB中是一个单独的key空间。尽管存在误导性的名称,但与其他存储系统中的“列族”概念无关。

snapshot:    快照:快照是一个逻辑上一致的时间点视图,位于正在运行的数据库中。

checkpoint:    检查点:检查点是文件系统中另一个目录中数据库的物理镜像。

backup:    备份:RocksDB有一个备份工具来帮助用户将数据库状态备份到不同的位置,如HDFS。

Version:    版本:RocksDB的内部概念。一个版本由一个时间点的所有活SST文件组成。一旦刷新或压缩完成,将会创建一个新的“版本”,因为活SST文件列表已经更改。旧的“版本”可以继续被正在进行的读取请求或压缩作业使用。旧版本最终会被垃圾收集。

Super Version:    超级版本:RocksDB的内部概念。一个超级版本包括SST文件列表(一个“版本”)和在一个时间点的活动内存表列表。无论是压缩或刷新,还是一个mem表开关都会导致创建一个新的“超级版本”。旧的“超级版本”可以继续被正在进行的读取请求使用。旧的超级版本最终将被垃圾收集后不再需要。

block cache:    块缓存:内存数据结构,用于缓存来自SST文件的热点数据块。

Statistics:    统计信息:内存数据结构,包含实时数据库的累积统计信息。

perf context:    perf上下文:一个内存数据结构来衡量线程本地统计信息。它通常用于衡量每个查询的统计信息。

DB properties:    数据库属性:某些运行状态可以通过函数DB :: GetProperty()返回。

Table Properties:    表格属性:存储在每个SST文件中的元数据。它包括由RocksDB生成的系统属性和由用户定义的回调计算的用户定义的表属性。

write stall:    写入停顿:当冲刷或压缩积压时,RocksDB可能会主动放缓写入操作,以确保刷新和压缩能够赶上。

bloom filter:    布隆过滤器

prefix bloom filter:    前缀布隆过滤器:可以在迭代器中使用的特殊布隆过滤器。如果SST文件或memtable不包含前缀提取器提取的查找关键字的前缀,则可以避免某些文件读取。

prefix extractor:    前缀提取器:一个可以提取key前缀部分的回调类。这是最经常用作前缀布隆过滤器的前缀。

block-based bloom filter or full bloom filter:    基于块的布隆过滤器或整体过滤器:在SST文件中存储布隆过滤器的两种不同方法。

Partitioned Filters:    分区过滤器:将一个整体过滤器分成多个较小的块。

compaction filter:    压缩过滤器:一个用户插件,可以在压缩过程中修改或删除现有的键。

merge operator:    合并运算符:RocksDB支持一个特殊的运算符Merge(),它是一个delta记录,合并操作数到现有的值。合并运算符是一个用户定义的回调类,它可以合并合并操作数。

Block-Based Table:    基于块的表:默认的SST文件格式。

Block:    块:SST文件的数据块。在SST文件中,块以压缩形式存储。

PlainTable:    SST文件格式的替代格式,针对ramfs进行了优化。

forward iterator/ tailing iterator:    前向迭代器/尾随迭代器:针对特定用例进行优化的特殊迭代器选项。

single delete:    单一删除:一种特殊的删除操作,只有当用户永远不更新现有key时才有效。

rate limiter:    限速器:用于限制写入到文件系统的字节的刷新率和压缩率。

Pessimistic Transactions:    悲观事务使用锁来提供多个并发事务之间的隔离。默认的写入策略是WriteCommitted。

2PC(Two-phase commit):    2PC(两阶段提交)悲观事务可以分两个阶段进行:首先是准备,然后是实际的提交。

WriteCommitted:    悲观事务中的默认写入策略,它缓存写入内存并在事务提交时将其写入数据库。

WritePrepared:    WritePrepared在悲观事务中的写策略,如果是2PC事务,则将写入缓冲区写入内存,并将其写入数据库。

WriteUnprepared:    WriteUnprepared在悲观事务中的写策略,通过事务发送数据到数据库来避免需要更大的内存缓冲区。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值