DataStax 词汇表
C
基数
列中唯一值的个数。例如,每个员工唯一的 ID 号列的基数很高,而员工邮政编码列的基数很低,因为多个员工可以有相同的邮政编码。
基数低的列上的索引可以提高读取性能,因为索引明显小于列。高基数列的索引可能会降低性能。如果您的应用程序需要搜索高基数列,则物化视图是理想的选择。
聚类列
在表定义中,聚类列是复合主键定义的一部分的列。请注意,聚类列**不能**是第一列,因为该位置保留给分区键。列在单个分区内的多行中聚类。聚类顺序由复合主键定义中列的位置决定。
合并策略
将多个网络消息合并为单个数据包,用于发送到同一数据中心 (内部 DC) 中的节点或不同数据中心 (跨 DC) 中的节点的出站 TCP 连接。合并策略提供了一个带有待处理消息阻塞队列和用于发送消息的输出集合。
列族
行的容器,类似于关系系统中的表。在 CQL 3 中称为表。
压缩
合并SSTable、丢弃墓碑并重新生成 SSTable 索引的过程。可用的压缩策略是
复合主键
主键由分区键(决定数据存储的节点)和一个或多个其他列组成,这些列决定聚类。
E
EBNF
EBNF (扩展巴科斯-诺尔范式) 语法表达了一种上下文无关语法,它正式描述了一种语言。EBNF 通过扩展中允许的额外运算符扩展了其前身 BNF (巴科斯-诺尔范式)。语法 (铁路) 图表以图形方式描绘了 EBNF 语法。
嵌入
机器学习中的一种数学技术,其中复杂的高维数据表示为低维空间中的点。创建嵌入的过程保留了原始数据的相关属性,例如距离和相似度,从而使计算处理更容易。例如,在自然语言处理 (NLP) 中,具有相似含义的词可以在缩减的空间中彼此靠近,从而便于它们在机器学习模型中的使用。
最终一致性
数据库最大限度地提高了可用性和分区容忍度。数据库通过在读取操作期间更新所有副本并定期检查和更新任何未直接访问的副本,来确保最终数据一致性。更新和检查确保任何查询始终返回结果集的最新版本,并且任何给定行的所有副本最终都变得彼此完全一致。
H
HDD
硬盘驱动器 (HDD) 或旋转磁盘是一种数据存储设备,用于使用一个或多个刚性快速旋转的磁盘存储和检索数字信息。与SSD相比。
L
分层压缩策略 (LCS)
这种压缩策略创建固定大小的、相对较小的 SSTable,并将它们分组到不同的层级中。在每个层级内,SSTable 保证不重叠。每个层级(L0、L1、L2 等)的大小是前一个层级的十倍。由于 SSTable 持续被压缩到越来越高的层级,因此在更高层级上的磁盘 I/O 比在更低层级上更加均匀和可预测。在每个层级中,行键都会合并到下一个层级中不重叠的 SSTable 中。此过程提高了读取性能,因为数据库可以确定每个层级中哪些 SSTable 需要检查以确定行键数据的是否存在。
M
P
分区摘要
是 分区索引 的一个子集。默认情况下,每 128 个分区键中会采样 1 个分区键。
分区器
将数据分布到集群中。分区器类型包括 Murmur3Partitioner(默认)、RandomPartitioner 和 OrderPreservingPartitioner。
模块/ROOT/pages/glossary.adoc 中的未解析的 include 指令 - include::ROOT:partial$persistent-volume.adoc[]
模块/ROOT/pages/glossary.adoc 中的未解析的 include 指令 - include::ROOT:partial$persistent-volume-claim.adoc[]
主键
分区键。一个或多个唯一标识 表 中行的列。
R
复制因子 (RF)
集群中副本的总数,缩写为 RF。复制因子为 1 表示集群中只有一份每行的副本。如果包含该行的节点出现故障,则无法检索该行。复制因子为 2 表示每行有两份副本,并且每份副本都在不同的节点上。所有副本都同等重要;没有主副本或主副本。
复制组
请参见 数据中心。
行缓存
一个数据库组件,用于提高读取密集型操作的性能。行缓存将最近读取的本地 SSTable 中的行存储在堆外内存中。每个本地读取操作都会将其结果集存储在行缓存中,并将其发送到协调器节点。下一个读取操作首先检查行缓存。如果所需数据存在,则数据库会立即将其返回。此初始读取可以节省在布隆过滤器、分区键缓存、分区摘要、分区索引和 SSTable 中进行进一步搜索的时间。
数据库使用 LRU(最近最少使用)驱逐策略来确保行缓存始终使用最常访问的行进行刷新。可以在 cassandra.yaml 文件中配置行缓存的大小。
S
种子
种子节点或种子节点用于引导新加入集群的节点的八卦过程。种子节点不提供任何其他功能,并且不是集群的单点故障。
模块/ROOT/pages/glossary.adoc 中的未解析的 include 指令 - include::ROOT:partial$segment.adoc[]
可序列化一致性
请参见 线性一致性。
SizeTieredCompactionStrategy (STCS)
默认压缩策略。当磁盘上存在多个类似大小的 SSTable 时,此策略会触发次要压缩,如表子属性 min_threshold 所配置。次要压缩不涉及键空间中的所有表。另请参见相关 CQL 文档中的“STCS 压缩子属性”。
SSD
固态硬盘 (SSD) 是一种固态存储设备,它使用集成电路来持久存储数据。与 HDD 相比。
流式传输
一个处理集群中节点之间数据交换的组件。它是 SSTable 文件的一部分。
示例包括
-
在引导新节点时,新节点会使用流式传输从现有节点获取数据。
-
在运行 nodetool repair 时,节点会使用流式传输交换不同步的数据。
-
在从备份中批量加载数据时,sstableloader 会使用流式传输来完成任务。
强一致性
当数据库读取数据时,它会在返回结果之前执行 读取修复。
T
TimeWindowCompactionStrategy (TWCS)
这种压缩策略根据一系列时间窗口压缩 SSTables。在当前时间窗口内,SSTables 会被压缩成一个或多个 SSTables。在当前时间窗口结束时,所有 SSTables 会被压缩成一个更大的 SSTable。压缩过程会在下一个时间窗口开始时重复。每个 TWCS 时间窗口包含指定范围内的数据,并包含不同数量的数据。
token
环上的一个元素,它取决于分区器。确定节点在环上的位置以及它负责的数据部分。Murmur3Partitioner(默认)的范围是 -263 到 +263。RandomPartitioner 的范围是 0 到 2127-1。
可调一致性
数据库确保任何给定行的所有副本最终变得完全一致。对于需要立即和完全一致性的情况,可以调整数据库以对指定的运算、数据中心或集群提供 100% 的一致性。数据库无法针对所有数据和运算进行调整以实现完全一致性。
U
统一压缩策略 (UCS)
这种压缩策略根据一系列时间窗口压缩 SSTables。在当前时间窗口内,SSTables 会被压缩成一个或多个 SSTables。在当前时间窗口结束时,所有 SSTables 会被压缩成一个更大的 SSTable。压缩过程会在下一个时间窗口开始时重复。每个 TWCS 时间窗口包含指定范围内的数据,并包含不同数量的数据。
涵盖了分层、分级和时间窗口压缩策略的应用,包括在压缩层次结构的不同级别中分层和分级的组合。这种压缩可以在类似于[STCS](w = T4 与 STCS 的默认阈值 4 相匹配)、LCS(w = L10 与 LCS 的默认扇出因子 10 相匹配)的模式下工作,并且在与较大的分级扇出因子(例如 w = T20)一起使用时,也能很好地适用于时间序列工作负载。读密集型工作负载,尤其是无法从布隆过滤器或时间顺序中受益的工作负载(即宽分区非时间序列),最适合分层配置。写密集型、时间序列或键值工作负载最适合分级配置。
X、Y、Z
僵尸
在删除后重新出现在数据库表中的行或单元格。如果节点长时间宕机,然后在未修复的情况下恢复,则可能会发生这种情况。
已删除的数据不会从数据库表中删除;它会用墓碑标记,直到压缩。在一个节点上创建的墓碑必须传播到包含已删除数据的节点。如果这些节点之一在发生这种情况之前宕机,则该节点可能无法接收最新的墓碑。如果该节点在恢复联机之前未修复,则数据库会找到未标记墓碑的项目,并将它们作为新数据传播到其他节点。
为了避免此问题,在将任何已恢复的节点重新加入其集群之前,请在该节点上运行 nodetool repair。