翻译 Terminology

原文网址:https://github.com/facebook/rocksdb/wiki/Terminology

NOTE for future edits: Please maintain entries in alphabetical order

2PC (Two-phase commit) The pessimistic transactions could commit in two phases: first Prepare and then the actual Commit. See https://github.com/facebook/rocksdb/wiki/Two-Phase-Commit-Implementation
悲观事务可以分两个阶段提交:首先是Prepare,然后是实际的commit。参见https://github.com/facebook/rocksdb/wiki/Two-Phase-Commit-Implementation

Backup: RocksDB has a backup tool to help users backup the DB state to a different location, like HDFS. See https://github.com/facebook/rocksdb/wiki/How-to-backup-RocksDB
RocksDB有一个备份工具,可以帮助用户将数据库状态备份到不同的位置,比如HDFS。参见https://github.com/facebook/rocksdb/wiki/How-to-backup-RocksDB

Block cache: in-memory data structure that cache the hot data blocks from the SST files. See https://github.com/facebook/rocksdb/wiki/Block-Cache
内存中的数据结构,缓存SST文件中的热数据块。参见https://github.com/facebook/rocksdb/wiki/Block-Cache

Block: data block of SST files. In block-based table SST files, a block is always checksummed and usually compressed for storage.
SST文件的数据块。在基于块的表SST文件中,一个块总是被检查和通常被压缩以存储。

Block-based bloom filter or full bloom filter: Two different approaches of storing bloom filters in SST files. Both are features of the block-based table format. See https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter#new-bloom-filter-format
在SST文件中存储bloom过滤器的两种不同方法。两者都是基于块的表格式的特性。看到https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter new-bloom-filter-format

Block-Based Table: The default SST file format. See https://github.com/facebook/rocksdb/wiki/Rocksdb-BlockBasedTable-Format
默认SST文件格式。参见https://github.com/facebook/rocksdb/wiki/Rocksdb-BlockBasedTable-Format

Bloom filter: See https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter
参见https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter

Checkpoint: A checkpoint is a physical mirror of the database in another directory in the file system. See https://github.com/facebook/rocksdb/wiki/Checkpoints
检查点是文件系统中另一个目录中的数据库的物理镜像。参见https://github.com/facebook/rocksdb/wiki/Checkpoints

Column Family: column family is a separate key space in one DB. In spite of the misleading name, it has nothing to do with the “column family” concept in other storage systems. RocksDB doesn't even have the concept of “column”. See https://github.com/facebook/rocksdb/wiki/Column-Families
列族是一个DB中的一个单独的键空间。尽管名称具有误导性,但它与其他存储系统中的“列族”概念无关。RocksDB甚至没有“专栏”的概念。参见https://github.com/facebook/rocksdb/wiki/Column-Families

Compaction filter: a user plug-in that can modify or drop existing keys during a compaction. See https://github.com/facebook/rocksdb/blob/main/include/rocksdb/compaction_filter.h
可以在压缩期间修改或删除现有键的用户插件。参见https://github.com/facebook/rocksdb/blob/main/include/rocksdb/compaction_filter.h

Compaction: background jobs that merge some SST files into some other SST files. LevelDB's compaction also includes flush. In RocksDB, we further distinguished the two. See https://github.com/facebook/rocksdb/wiki/RocksDB-Overview#multi-threaded-compactions and https://github.com/facebook/rocksdb/wiki/Compaction
合并一些SST文件到其他SST文件的后台作业。LevelDB的压缩也包括刷新。在RocksDB中,我们进一步区分了这两者。参见https://github.com/facebook/rocksdb/wiki/RocksDB-Overview#multi-threaded-compactionshttps://github.com/facebook/rocksdb/wiki/Compaction

Comparator: A plug-in class which can define the order of keys. See https://github.com/facebook/rocksdb/blob/main/include/rocksdb/comparator.h
一个可以定义键顺序的插件类。参见https://github.com/facebook/rocksdb/blob/main/include/rocksdb/comparator.h

DB properties: some running status that can be returned by the function DB::GetProperty(). See https://github.com/facebook/rocksdb/blob/main/include/rocksdb/db.h
一些可以由函数DB::GetProperty()返回的运行状态。参见https://github.com/facebook/rocksdb/blob/main/include/rocksdb/db.h

Flush: background jobs that write out data in mem tables into SST files.
将mem表中的数据写入SST文件的后台任务。

Forward iterator / Tailing iterator: A special iterator option that optimizes for very specific use cases. See https://github.com/facebook/rocksdb/wiki/Tailing-Iterator
一个特殊的迭代器选项,它针对非常特定的用例进行优化。参见https://github.com/facebook/rocksdb/wiki/Tailing-Iterator

Immutable memtable: A closed memtable that is waiting to be flushed.
一个关闭的等待刷新的memtable。

Index The index on the data blocks in a SST file. It is persisted as an index block in the SST file. The default index format is the binary search index.
SST文件中数据块的索引。在SST文件中,它被持久化为一个索引块。默认的索引格式是二进制搜索索引。

Iterator: iterators are used by users to query keys in a range in sorted order. See https://github.com/facebook/rocksdb/wiki/Basic-Operations#iteration
迭代器被用户用来按顺序查询一个范围内的键。看到https://github.com/facebook/rocksdb/wiki/Basic-Operations迭代

Leveled Compaction or Level-Based Compaction Style: the default compaction style of RocksDB. [[Leveled Compaction]]
RocksDB的默认压缩样式。[[夷为平地压实]]

LSM level: a logical organization of the DB physical data for maintaining desired LSM-tree shape and structure. See https://github.com/facebook/rocksdb/wiki/Compaction, particularly https://github.com/facebook/rocksdb/wiki/Compaction#lsm-terminology-and-metaphors
数据库物理数据的逻辑组织,用于维护所需的lsm树的形状和结构。参见https://github.com/facebook/rocksdb/wiki/Compaction,特别是https://github.com/facebook/rocksdb/wiki/Compaction#lsm-terminology-and-metaphors

LSM-tree: See the definition in https://en.wikipedia.org/wiki/Log-structured_merge-tree RocksDB is LSM-tree-based storage engine.
RocksDB是基于lsm -tree的存储引擎。

Memtable switch: During this process, the current active memtable (the one current writes go to) is closed and turned into an Immutable memtable. At the same time, we will close the current WAL file and start a new one.
在这个过程中,当前的活动memtable(当前写入的对象)被关闭并变成一个不可变memtable。同时,我们将关闭当前的WAL文件并启动一个新的WAL文件。

Memtable / write buffer: the in-memory data structure that stores the most recent updates of the database. Usually it is organized in sorted order and includes a binary searchable index. See https://github.com/facebook/rocksdb/wiki/Basic-Operations#memtable-and-table-factories
内存中的数据结构,存储数据库的最新更新。通常它是按排序顺序组织的,并包括一个二进制可搜索索引。看到https://github.com/facebook/rocksdb/wiki/Basic-Operations memtable-and-table-factories

Merge operator: RocksDB supports a special operator Merge(), which is a delta record, merge operand, to the existing value. Merge operator is a user defined call-back class which can merge the merge operands. See https://github.com/facebook/rocksdb/wiki/Merge-Operator-Implementation
RocksDB支持一个特殊的操作符Merge(),这是一个增量记录,合并操作数,到现有的值。合并操作符是一个用户定义的回调类,它可以合并合并操作数。参见https://github.com/facebook/rocksdb/wiki/Merge-Operator-Implementation

Partitioned Filters: Partitioning a full bloom filter into multiple smaller blocks. See https://github.com/facebook/rocksdb/wiki/Partitioned-Index-Filters.
将bloom filter划分为多个更小的块。见https://github.com/facebook/rocksdb/wiki/Partitioned-Index-Filters

Partitioned Index The binary search index block partitioned to multiple smaller blocks. See https://github.com/facebook/rocksdb/wiki/Partitioned-Index-Filters
二分搜索索引块被划分为多个更小的块。参见https://github.com/facebook/rocksdb/wiki/Partitioned-Index-Filters

perf context: an in-memory data structure to measure thread-local stats. It is usually used to measure per-query stats. See https://github.com/facebook/rocksdb/wiki/Perf-Context-and-IO-Stats-Context
内存中的数据结构,用于测量线程本地的统计信息。它通常用于测量每个查询的统计信息。参见https://github.com/facebook/rocksdb/wiki/Perf-Context-and-IO-Stats-Context

Pessimistic Transactions Using locks to provide isolation between multiple concurrent transactions. The default write policy is WriteCommitted.
使用锁在多个并发事务之间提供隔离。默认写策略为“writecomcommitted”。

PlainTable: An alternative format of SST file format, optimized for ramfs. See https://github.com/facebook/rocksdb/wiki/PlainTable-Format
SST文件格式的另一种格式,为ramfs优化。参见https://github.com/facebook/rocksdb/wiki/PlainTable-Format

Point lookup: In RocksDB, point lookup means reading one key using Get() or MultiGet().
在RocksDB中,点查找意味着使用Get()或MultiGet()读取一个键。

Prefix bloom filter: a special bloom filter that can be limitly used in iterators. Some file reads are avoided if an SST file or memtable doesn't contain the prefix of the lookup key extracted by the prefix extractor. See https://github.com/facebook/rocksdb/wiki/Prefix-Seek-API-Changes
一种特殊的bloom过滤器,可以在迭代器中有限地使用。如果SST文件或memtable不包含由前缀提取器提取的查找键的前缀,则可以避免某些文件读取。参见https://github.com/facebook/rocksdb/wiki/Prefix-Seek-API-Changes

Prefix extractor: a callback class that can extract prefix part of a key. This is most frequently used as the prefix used in prefix bloom filter. See https://github.com/facebook/rocksdb/blob/main/include/rocksdb/slice_transform.h
一个可以提取键的前缀部分的回调类。这是最常用的前缀使用前缀bloom过滤器。参见https://github.com/facebook/rocksdb/blob/main/include/rocksdb/slice_transform.h

Range lookup: Range lookup means reading a range of keys using an Iterator.
范围查找意味着使用Iterator读取一个范围内的键。

Rate limiter: it is used to limit the rate of bytes written to the file system by flush and compaction. See https://github.com/facebook/rocksdb/wiki/Rate-Limiter
它用于限制通过刷新和压缩写入文件系统的字节速率。参见https://github.com/facebook/rocksdb/wiki/Rate-Limiter

Recovery: the process of restarting a database after it failed or was closed.
数据库关闭或失败后重新启动数据库的过程。

Sequence number (SeqNum / Seqno): each write to the database will be assigned an auto-incremented ID number. The number is attached with the key-value pair in WAL file, memtable, and SST files. The sequence number is used to implement snapshot read, garbage collection in compactions, MVCC in transactions, and some other purposes.
每次对数据库的写入都会被分配一个自动递增的ID号。在WAL文件、memtable文件和SST文件中,该数字与键值对一起附加。序列号用于实现快照读取、压缩中的垃圾收集、事务中的MVCC以及其他一些目的。

Single delete: a special delete operation which only works when users never update an existing key: https://github.com/facebook/rocksdb/wiki/Single-Delete
一个特殊的删除操作,它只在用户从不更新现有key的情况下起作用:https://github.com/facebook/rocksdb/wiki/Single-Delete

Snapshot: a snapshot is a logical consistent point-in-time view, in a running DB. See https://github.com/facebook/rocksdb/wiki/RocksDB-Overview#gets-iterators-and-snapshots
快照是运行DB中逻辑上一致的时间点视图。看到https://github.com/facebook/rocksdb/wiki/RocksDB-Overview gets-iterators-and-snapshots

SST File (Data file / SST table): SST stands for Sorted Sequence Table. They are persistent files storing data. In the file keys are usually organized in sorted order so that a key or iterating position can be identified through a binary search.
SST表示排序序列表。它们是存储数据的持久文件。在文件中,键通常按排序顺序组织,以便通过二分查找可以识别键或迭代位置。

Statistics: an in-memory data structure that contains cumulative stats of live databases. https://github.com/facebook/rocksdb/wiki/Statistics
一种内存中的数据结构,包含实时数据库的累积统计信息。https://github.com/facebook/rocksdb/wiki/Statistics

Super Version: An internal concept of RocksDB. A super version consists of the list of SST files and blob files (a “version”) and the list of live mem tables at a certain point in time. Either a compaction or flush, or a mem table switch will cause a new “super version” to be created. An old “super version” can continue being used by on-going read requests. Old super versions will eventually be garbage collected after they are not needed anymore.
RocksDB的内部概念。一个超级版本包含SST文件列表和blob文件列表(一个“版本”),以及在某个时间点的活动mem表列表。压缩或刷新,或mem表开关将导致创建一个新的“超级版本”。一个旧的“超级版本”可以被持续的读请求继续使用。旧的超级版本在不再被需要后最终会被垃圾回收。

Table Properties: metadata stored in each SST file(stats block). It includes system properties that are generated by RocksDB and user defined table properties calculated by user defined call-backs. See https://github.com/facebook/rocksdb/blob/main/include/rocksdb/table_properties.h
元数据存储在每个SST文件(stats块)。它包括由RocksDB生成的系统属性和由用户自定义回调计算出的用户自定义表属性。参见https://github.com/facebook/rocksdb/blob/main/include/rocksdb/table_properties.h

Universal Compaction Style: an alternative compaction algorithm. See https://github.com/facebook/rocksdb/wiki/Universal-Compaction
另一种compaction算法。参见https://github.com/facebook/rocksdb/wiki/Universal-Compaction

Version: An internal concept of RocksDB. A version consists of all the live SST files and blob files (when using BlobDB) at a certain point in time. Once a flush or compaction finishes, a new “version” will be created because the list of live SST/blob files has changed. An old “version” can continue being used by on-going read requests or compaction jobs. Old versions will eventually be garbage collected.
RocksDB的内部概念。一个版本由某个时间点上的所有活动SST文件和blob文件(使用BlobDB时)组成。刷新或压缩完成后,将创建一个新的“版本”,因为活动SST/blob文件的列表已经更改。一个旧的“版本”可以被持续的读请求或压缩作业继续使用。旧版本最终将被垃圾回收。

Write stall: When flush or compaction is backlogged, RocksDB may actively slowdown writes to make sure flush and compaction can catch up. See https://github.com/facebook/rocksdb/wiki/Write-Stalls
当flush或compaction被积压时,RocksDB可能会主动减速写操作,以确保flush和compaction能够跟上进度。参见https://github.com/facebook/rocksdb/wiki/Write-Stalls

Write-Ahead-Log (WAL) or log: A log file used to recover data that is not yet flushed to SST files, during DB recovery. See https://github.com/facebook/rocksdb/wiki/Write-Ahead-Log-File-Format
DB恢复过程中,用于恢复尚未写入SST文件的数据的日志文件。参见https://github.com/facebook/rocksdb/wiki/Write-Ahead-Log-File-Format

WriteCommitted The default write policy in pessimistic transactions, which buffers the writes in memory and write them into the DB upon commit of the transaction.
悲观事务中的默认写策略,它将写操作缓冲在内存中,并在事务提交时将其写入数据库。

WritePrepared A write policy in pessimistic transactions that buffers the writes in memory and write them into the DB upon prepare if it is a 2PC transaction or commit otherwise. See https://github.com/facebook/rocksdb/wiki/WritePrepared-Transactions
悲观事务中的写策略,如果是2PC事务,则将写操作缓冲在内存中,并在准备时将其写入数据库,否则提交。参见https://github.com/facebook/rocksdb/wiki/WritePrepared-Transactions

WriteUnprepared A write policy in pessimistic transactions that avoid the need for larger memory buffers by writing data to the DB as they are sent by the transaction. See https://github.com/facebook/rocksdb/wiki/WritePrepared-Transactions
悲观事务中的写策略,在事务发送数据时将数据写入数据库,从而避免需要更大的内存缓冲区。参见https://github.com/facebook/rocksdb/wiki/WritePrepared-Transactions

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容