全部產品
Search
文件中心

:玄武分析型儲存

更新時間:Jul 06, 2024

玄武分析儲存引擎為使用者提供高可靠、高可用、高效能、低成本的企業級資料存放區能力,是AnalyticDB實現高吞吐即時寫入、高效能即時查詢的基礎支撐。

高吞吐即時寫入

AnalyticDB通過三層並行架構實現了極強的吞吐能力,從接入層、到儲存節點層再到持久分布式儲存層,都可以並行擴充,再結合行列混合儲存引擎,增量和全量的非同步轉換實現了高吞吐高並發即時寫入。

在即時可見度方面,AnalyticDB通過Raft一致性協議+同步寫入Apply的方式,實現了寫入立即可查,保證寫入一致性。儲存引擎上通過基於Mark-for-delete技術實現了高吞吐的即時更新和刪除,同時基於MVCC的技術保證資料原子性和完整性。

高吞吐即時寫入

行列混合儲存

玄武儲存引擎支援行列混存的儲存格式,其中行列混存是一種以列存為基礎兼顧行存的模式,類似於Hadoop中的ORC/Parquet格式。不同的是玄武的行列混存不僅兼顧分析類的列裁剪和大吞吐掃描效能,而且結合其行對齊的能力,可以實現很好的隨機尋找效能,這對於任意多維索引過濾的情境也擁有出色的效能優勢。

行列混存的儲存格式如下:

行列混存

自適應索引

OLAP情境下需要支援任意維度查詢,傳統的OLTP單列或複合式索引難以滿足該需求。玄武採用了自適應列級自動索引技術,針對字串、數字、文本、JSON、向量等列類型都有自動設定的索引資料結構,並且可以做到列級索引任意維度組合檢索、多路漸進流式歸併,大幅提升了資料過濾效能。

目前索引類型主要有:倒排索引、BKD-Tree索引和Bitmap索引。同時索引的效能主要受資料分布特徵影響,包括:cardinality(散列程度),範圍查詢的記錄數/表記錄數。在某些情況下,例如 age > 0 and age <100 這種查詢走索引的開銷反而比掃描高。因此玄武基於CBO智能選擇索引或掃描。

多種索引類型多路歸併尋找的過程如下所示:

玄武-自適應索引

結構化與非結構化融合

玄武儲存層索引管理器實現結構化索引與非結構化索引的統一管理,如數值類的BKD索引、字串類的倒排索引、非結構化的JSON索引及向量索引,還有文本資料的全文索引。對計算層提供統一的運算式,使得計算層的SQL邏輯相容異構資料類型,同時都得到索引加速。因此AnalyticDB實現了全文資料與結構化表之間的關聯分析,SQL表達的複雜邏輯都能夠統一支援。如下圖所示:

玄武-結構與非結構融合

SQL語義說明:對子查詢裡的全文檢索索引的結果集進行關聯分析,分析後的結果按照打分值降序排列,輸出前10,000行。