Cassandra 文件

版本

DataStax 詞彙表

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

A

反熵

節點上複製品資料的同步,以確保資料是最新狀態。

近似最近鄰居 (ANN)

一種機器學習演算法,用於在資料集中找出與給定項目最相似的向量。

驗證

建立使用者或應用程式身分的程序。

授權

透過角色建立資料庫資源權限的程序。

B

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

反壓

在達到閾值後暫停或封鎖接收請求的緩衝,直到緩衝請求的內部處理趕上為止。

布隆過濾器

與每個 SSTable 相關聯的非堆疊結構,在執行任何磁碟 I/O 之前,用於檢查 SSTable 中是否存在任何所請求列的資料。

開機

新節點加入叢集的程序,會從現有節點透明地收集所需的資料。

C

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

基數

欄位中唯一值的數量。例如,每個員工唯一的 ID 號碼欄位具有高基數,而員工郵遞區號欄位具有低基數,因為多個員工可以具有相同的郵遞區號。

具有低基數欄位的索引可以提升讀取效能,因為索引顯著小於欄位。高基數欄位的索引可能會降低效能。如果您的應用程式需要在高基數欄位上進行搜尋,則最佳的選擇是物化檢視。

儲存格

儲存資料的最小增量。包含列與欄交叉點中的值。

叢集

兩個或多個使用八卦通訊協定交換訊息的資料庫執行個體。

叢集

根據索引建立索引並維護資料順序的儲存引擎程序。

叢集欄位

在表格定義中,叢集欄位是複合主鍵定義的一部分。請注意,叢集欄位不能是第一個欄位,因為該位置是保留給分割鍵。欄位在單一分割中的多個列中進行叢集。叢集順序由複合主鍵定義中欄位的順序決定。

合併策略

將多個網路訊息合併到單一封包的策略,用於與同一個資料中心 (intra-DC) 或不同資料中心 (inter-DC) 中的節點建立外連 TCP 連線。合併策略會提供一個包含待處理訊息的封鎖佇列和一個要傳送訊息的輸出集合。

欄位

資料的最小增量。包含名稱、值和時間戳記。

欄位家族

列的容器,類似於關係系統中的表格。在 CQL 3 中稱為表格

提交記錄

資料庫會將變更的資料附加到此檔案中,以便在硬體故障時進行復原。

壓縮

合併SSTable、捨棄墓碑並重新產生 SSTable 索引的程序。可用的壓縮策略包括

複合分區金鑰

由多個欄組成的分區金鑰。

複合主鍵

由分區金鑰組成(用於確定儲存資料的節點)以及一個或多個其他 (用於確定叢集)。

一致性

叢集中複製品上資料的同步。一致性分為 弱一致性強一致性

一致性層級

設定,用於根據叢集複製品的數量定義成功的寫入或讀取,這些複製品分別確認寫入或回應讀取請求。

協調節點

根據叢集設定的 snitch,確定環中哪些節點應取得請求的節點。

餘弦相似度

用於衡量多維空間中兩個非零向量的相似度的指標。它量化向量之間角度的餘弦;該角度表示每個向量的方向和相對於彼此的方位。零 (0) 表示完全相異。負一 (-1) 表示向量的方向完全相反。一 (1) 表示完全相似。

CQL shell

Cassandra 查詢語言 shell (cqlsh) 工具程式。

跨資料中心轉發

透過將資料從一個資料中心傳送至另一個資料中心的節點,來最佳化跨資料中心的複制的技術。接收節點接著會將資料轉發至其資料中心中的其他節點。

D

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

資料中心

相關節點的群組,在叢集中共同設定,用於複制和工作負載分離。不一定是獨立的位置或實體資料中心。資料中心名稱區分大小寫,且無法變更。

資料類型

特定類型的資料項目,由其可取得的值或可對其執行的作業定義。

非正規化

非正規化是指透過新增冗餘資料或群組資料來最佳化資料庫的讀取效能的程序。此程序是透過在多個資料表中複製資料或為查詢群組資料來完成。

E

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

EBNF

EBNF(擴充 Backus-Naur 範式)語法表達一種上下文無關文法,用於正式描述一種語言。EBNF 在其前身 BNF(Backus-Naur 範式)的基礎上進行了擴充,允許在展開中使用其他運算符。語法(鐵路)圖形化地描繪了 EBNF 文法。

嵌入

機器學習中的一種數學技術,其中複雜的高維數據表示為低維空間中的點。創建嵌入的過程保留了原始數據的相關屬性,例如距離和相似性,從而實現更輕鬆的計算處理。例如,自然語言處理 (NLP) 中具有相似含義的詞彙可以在縮小的空間中彼此靠近,從而便於在機器學習模型中使用它們。

歐幾里得距離

坐標幾何中兩個點之間的非負距離度量,用於量化表示為向量的這些數據點之間的相似性或相異性。使用它來比較生成的樣本和真實數據點。

最終一致性

數據庫最大程度地提高了可用性和分區容錯能力。數據庫通過在讀取操作期間更新所有副本並定期檢查和更新未直接訪問的任何副本,來確保最終數據一致性。更新和檢查可確保任何查詢始終返回結果集的最新版本,並且任何給定行的所有副本最終會完全彼此一致。

F

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

G

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

垃圾回收器

一個 Java 後台程序,當程序不再使用堆內存時釋放堆內存。用於分配和清理內存的主要 Java 演算法為連續標記清除 (CMS) 和垃圾優先 (G1)。

八卦

一種點對點通信協議,用於在節點之間交換位置和狀態信息。

H

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

HDD

硬碟驅動器 (HDD) 或旋轉磁碟是一種數據儲存裝置,用於使用一個或多個快速旋轉的剛性磁碟儲存和檢索數位資訊。與SSD比較。

HDFS

Hadoop 分散式檔案系統 (HDFS) 將數據儲存在節點上以提升效能。HDFS 是 Hadoop 發行版中除了 MapReduce 之外必要的組成部分。

headroom

除了處理資料所佔用的空間外,一個程序(例如壓縮)所需的磁碟空間量。

hint

Cassandra 實作最終一致性保證的方式有三個,除了讀取修復和完整/增量反熵修復外,Cassandra 還透過提示來實作,最終一致性保證所有更新最終都會傳送到所有副本。

I

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

冪等

一個操作可以執行多次而不會改變結果,例如執行相同的更新多次而不影響結果。

不可變

磁碟上無法覆寫的資料。

索引

一種原生功能,用於在資料庫中尋找不包含使用主鍵的欄。

J

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

Jaccard 相似性

一種用於衡量產生資料和真實資料中兩組特徵或元素相似性的方法。數學計算是兩個集合的交集大小除以它們聯集的大小,範圍從 0 到 1。1 表示兩個集合相同。

K

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

鍵空間

一個命名空間容器,用於定義資料在每個資料中心節點上的複製方式。

L

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

分層壓縮策略 (LCS)

此壓縮策略會建立大小固定且相對較小的 SSTable,並將其分組到不同的層級中。在每個層級中,SSTable 保證不會重疊。每個層級(L0、L1、L2 等)的大小是前一層級的十倍。隨著 SSTable 持續壓縮到越來越大的層級,較高層級的磁碟 I/O 會比較低層級的更均勻且可預測。在每個層級中,列鍵會合併到下一層級中不重疊的 SSTable 中。此程序會改善讀取效能,因為資料庫可以判斷每個層級中哪些 SSTable 要檢查列鍵資料是否存在。

線性化一致性

線性化一致性也稱為可序列化一致性,是一種限制,表示一個操作無法執行,除非另一個操作已完成。

資料庫支援輕量級交易,以確保寫入時有線性一致性。輕量級交易的第一個階段在 SERIAL 一致性下執行,並遵循 Paxos 協定,以確保所需的作業成功。如果此階段成功,則會在為作業指定的的一致性層級執行寫入。在 SERIAL 一致性層級執行的讀取會在沒有資料庫內建讀取修復作業的情況下執行。

監聽位址

繫結並告知其他 Cassandra 節點連線至節點的位址或介面。

M

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

機器學習 (ML)

人工智慧 (AI) 和電腦科學的一個分支,使用和開發能夠在沒有明確指示的情況下學習和適應的電腦系統。ML 使用演算法和統計模型來分析資料並識別模式、做出決策和改善其系統。

MapReduce

Hadoop 的平行處理引擎,可快速處理大型資料集。除了 MapReduce 之外,Hadoop 發行版中必要的元件。

實體化檢視

實體化檢視是一個表格,其資料會從另一個基本表格自動插入和更新。具有與基本表格不同的主鍵,允許實作不同的查詢。

記憶表

資料庫表格特定的記憶體中資料結構,類似於寫回快取。

變異

變異是插入或刪除。

N

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

自然語言處理 (NLP)

協助電腦詮釋和分享人類語言,以提供使用者最佳使用方式。

節點

執行授權軟體實例的 Java 虛擬機器(一個將 Java 位元組碼轉換成機器語言並執行它的平台非相依執行環境)。

節點修復

一個讓複本上的所有資料一致的程序。

正規化

正規化是指用於消除冗餘並降低資料庫架構中資料不一致機率的一系列步驟。在 DataStax Enterprise 中,這個程序效率不彰,因為查詢時必須存取更多節點才能結合多個表格中的資料。

O

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

OLTP

線上交易處理 (OLTP) 的特徵是大量的短線上交易用於資料輸入和擷取。

P

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

分區

分區是一個可由 金鑰 尋址的資料集合。此資料存在於 Cassandra 集群中的其中一個節點上。分區會在與 複製因子 指定的節點數目相同的情況下複製。

分區索引

主鍵和資料起始位置清單。

分區金鑰

分區金鑰代表一個邏輯實體,可協助 Cassandra 集群得知請求資料所在的節點。

分區金鑰是主鍵定義中宣告的第一個欄位。在複合金鑰中,多個欄位可以宣告組成主鍵的欄位。

分區範圍

分區的限制,會依據組態的分區器而有所不同。Murmur3Partitioner(預設)範圍為 -263 至 +263,而 RandomPartitioner 範圍為 0 至 2127-1。

分區摘要

分區索引 的子集。預設會抽樣 128 個分區金鑰中的 1 個。

分區器

將資料分佈到整個叢集。分區器的類型包括 Murmur3Partitioner(預設)、RandomPartitioner 和 OrderPreservingPartitioner。

無法解析 modules/ROOT/pages/glossary.adoc 中的 include 指令 - include::ROOT:partial$persistent-volume.adoc[]

無法解析 modules/ROOT/pages/glossary.adoc 中的 include 指令 - include::ROOT:partial$persistent-volume-claim.adoc[]

主鍵

分區金鑰。一或多個欄位,用來唯一識別 表格 中的一列。

R

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

範圍移動

指派給節點的權杖範圍變化。

讀取修復

使用最新版本的頻繁讀取資料更新資料庫複本的程序。

複本

整個資料庫一部分的副本。每個節點都持有部分複本。

複本配置策略

決定每列資料複本的規範。

複製因子 (RF)

整個叢集的複本總數,簡稱為 RF。複製因子為 1 表示叢集內每列只有一個副本。如果包含該列的節點發生故障,則無法擷取該列。複製因子為 2 表示每列有兩個副本,且每個副本都在不同的節點上。所有複本都同樣重要;沒有主複本或主要複本。

複製群組

請參閱 資料中心

角色

指派給使用者的權限組,用於限制他們存取資料庫資源。在使用內部驗證時,角色也可以有密碼,並代表單一使用者、DSE 伺服器工具或應用程式。

滾動式重新啟動

在叢集中升級節點時執行的程序,可達成零停機時間。節點會逐一升級和重新啟動,而其他節點會持續線上運作。

1) 具有相同主鍵的欄位。
2) 儲存引擎中每個欄位組合的儲存格集合。

列快取

用於提升讀取密集操作效能的資料庫元件。列快取會在非堆疊記憶體中儲存從本機 SSTable 最近讀取的列。每個本機讀取操作會將其結果集儲存在列快取中,並將其傳送至協調器節點。下一次讀取會先檢查列快取。如果所需的資料存在,資料庫會立即傳回資料。此初始讀取可節省在 Bloom 篩選器、分割鍵快取、分割摘要、分割索引和 SSTable 中的進一步搜尋。

資料庫使用 LRU (最近最少使用) 驅逐演算法,以確保列快取會更新為最常存取的列。列快取的大小可以在 cassandra.yaml 檔案中設定。

S

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

種子

種子或種子節點用於引導加入叢集的新節點的八卦程序。種子節點不提供其他功能,且不是叢集的單一故障點。

無法解析 modules/ROOT/pages/glossary.adoc 中的 include 指令 - include::ROOT:partial$segment.adoc[]

可序列化一致性

請參閱 可線性化一致性

SizeTieredCompactionStrategy (STCS)

預設壓縮策略。此策略會在磁碟上有許多大小相似的 SSTable 時觸發次要壓縮,由表格子屬性 min_threshold 設定。次要壓縮不會涉及鍵空間中的所有表格。另請參閱相關 CQL 文件中的STCS 壓縮子屬性

切片

分割中的一組群集欄位,您可以使用條件 WHERE 子句等方式將其作為一組查詢。

偵測器

將節點的 IP 位址對應至實體和虛擬位置(例如機架和資料中心)的對應。請求路由機制會受到所使用的偵測器類型影響。

SSD

固態硬碟 (SSD) 是一種固態儲存裝置,使用整合電路來持續儲存資料。與 HDD 相較。

SSTable

已排序字串表格 (SSTable) 是資料庫定期將記憶表寫入的不可變資料檔案。SSTable 會依序儲存在磁碟上,並為每個資料庫表格維護。

靜態欄

一個由分區中所有列共享的特殊欄。

串流

一個在叢集中處理節點之間資料交換的元件。它是 SSTable 檔案的一部分。

範例包括

  • 在啟動新節點時,新節點會使用串流從現有節點取得資料。

  • 在執行 nodetool repair 時,節點會使用串流交換不同步的資料。

  • 在從備份大量載入資料時,sstableloader 會使用串流來完成任務。

強一致性

當資料庫讀取資料時,它會在傳回結果之前執行 讀取修復

超級使用者

超級使用者是一種角色屬性,可提供資料庫根目錄存取權。超級使用者對所有物件擁有所有權限。Apache Cassandra 資料庫預設包含超級使用者角色 cassandra,密碼為 cassandra。此帳戶會執行查詢,包括登入,一致性層級為 QUORUM。建議使用者為部署建立超級使用者,並移除 cassandra 角色。

T

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

表格

依名稱排序並依列擷取的欄集合。列包含欄,並具有主鍵;金鑰的第一部分是欄名稱。複合金鑰的後續部分是其他定義表格中欄順序的欄名稱。

TimeWindowCompactionStrategy (TWCS)

此壓縮策略會根據一系列時間視窗壓縮 SSTable。在目前的時間視窗中,SSTable 會壓縮成一個或多個 SSTable。在目前的時間視窗結束時,所有 SSTable 會壓縮成一個較大的 SSTable。壓縮程序會在下一時間視窗的開始重複。每個 TWCS 時間視窗都包含指定範圍內的資料,並包含不同數量的資料。

令牌

環上取決於分區器的元素。決定節點在環上的位置和它負責的資料部分。Murmur3Partitioner(預設)的範圍為 -263 到 +263。RandomPartitioner 的範圍為 0 到 2127-1。

墓碑

列中表示已刪除欄的標記。在壓縮期間,標記的欄會被刪除。

TTL

存活時間 (TTL) 是插入欄中的值的選用過期日期。

可調整一致性

資料庫確保任何給定列的所有複製品 最終會完全一致。對於需要立即且完全一致性的情況,可以調整資料庫以提供指定作業、資料中心或叢集的 100% 一致性。資料庫無法調整為所有資料和作業完成一致性。

U

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

UnifiedCompactionStrategy (UCS)

此壓縮策略會根據一系列時間視窗壓縮 SSTable。在目前的時間視窗中,SSTable 會壓縮成一個或多個 SSTable。在目前的時間視窗結束時,所有 SSTable 會壓縮成一個較大的 SSTable。壓縮程序會在下一時間視窗的開始重複。每個 TWCS 時間視窗都包含指定範圍內的資料,並包含不同數量的資料。

涵蓋分層、階層和時間窗壓縮策略的應用,包括在壓縮層級不同層級中分層和階層的組合。此壓縮可以以類似於 [STCS](其中 w = T4 符合 STCS 的預設臨界值 4)、LCS(其中 w = L10 以符合 LCS 的預設扇出係數 10)的模式運作,並且在與大型階層扇出係數(例如 w = T20)搭配使用時,也能夠很好地處理時間序列工作負載。讀取密集型工作負載,特別是無法從布隆過濾器或時間順序中受益的工作負載(即廣泛分區非時間序列)最適合分層配置。寫入密集型、時間序列或鍵值工作負載最適合階層配置。

upsert

資料庫中的變更,如果資料庫中存在該欄,則會更新該欄中的指定欄。如果該欄不存在,則會插入該欄。

V

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

向量

表示特定物件或實體的浮點類型陣列。

檢閱資料庫上的資料,以確定向量之間的距離。距離越近,資料越相似。距離越大,資料越不相似。

虛擬節點

虛擬節點是虛擬節點。通常,節點負責叢集完整令牌範圍中的單一分區範圍。啟用虛擬節點後,每個節點負責多個虛擬節點,有效地將分區範圍擴散到叢集中的更多節點。啟用虛擬節點可以降低熱點或叢集中的單一節點負擔過重的風險。

W

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

弱一致性

讀取資料時,資料庫在傳回結果後執行 讀取修復

寬行

CQL 3 轉置為熟悉的基於行的結果集的資料分區。

X、Y、Z

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X, Y, Z

殭屍

刪除後在資料庫表格中重新出現的行或儲存格。如果節點長時間停機,然後在未修復的情況下還原,則可能會發生這種情況。

已刪除的資料不會從資料庫表格中刪除;它會標記為 墓碑,直到壓縮。在一個節點上建立的墓碑必須傳播到包含已刪除資料的節點。如果其中一個節點在此之前發生故障,則該節點可能無法收到最新的墓碑。如果節點在重新上線之前未修復,則資料庫會找到未標記墓碑的項目,並將其作為新資料傳播到其他節點。

為避免此問題,請在將任何已還原的節點重新加入其叢集之前,對其執行 nodetool repair。