TiDB數(shù)據(jù)庫的存儲引擎是TiKV,它是一個分布式的Key-Value存儲引擎,基于Raft協(xié)議保證數(shù)據(jù)一致性。TiKV引擎采用RocksDB作為其底層存儲引擎,負責實際數(shù)據(jù)的存儲。以下是TiDB存儲引擎的詳細介紹:
TiKV存儲引擎
- 基本概念:TiKV是一個分布式的Key-Value存儲引擎,它通過Raft協(xié)議來保證數(shù)據(jù)的一致性和容錯性。
- 數(shù)據(jù)存儲:TiKV使用RocksDB作為其底層存儲引擎,RocksDB是一個由Facebook開發(fā)的單機Key-Value存儲引擎,適用于多CPU場景,能夠高效利用SSD等快速存儲。
- 數(shù)據(jù)復制和災備:TiKV通過Raft協(xié)議進行數(shù)據(jù)復制,確保在單機失效的情況下,數(shù)據(jù)不丟失且不出錯。
TiDB與TiKV的關系
- TiDB的角色:TiDB是計算層,負責接收SQL請求,處理SQL相關的邏輯,并通過PD找到存儲計算所需數(shù)據(jù)的TiKV地址,與TiKV交互獲取數(shù)據(jù),最終返回結果。
- TiKV的角色:TiKV是存儲層,負責實際的數(shù)據(jù)存儲,從外部看TiKV是一個分布式的提供事務的Key-Value存儲引擎。
TiDB通過其獨特的存儲引擎TiKV,結合Raft協(xié)議和RocksDB,實現(xiàn)了高可用、強一致性的分布式數(shù)據(jù)庫解決方案。