教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

TiDB的核心特性有哪些?

更新時間:2021年10月06日17時21分 來源:傳智教育 瀏覽次數:

好口碑IT培訓

TiDB 具備如下眾多特性,其中兩大核心特性為:水平擴展與高可用。

1. 高度兼容 MySQL
大多數情況下,無需修改代碼即可從 MySQL 輕松遷移至 TiDB,分庫分表后的 MySQL 集群亦可通過 TiDB 工具進行實時遷移。
對于用戶使用的時候,可以透明地從MySQL切換到TiDB 中,只是“新MySQL”的后端是存儲“無限的”,不再受制于Local的磁盤容量。在運維使用時也可以將TiDB當做一個從庫掛到MySQL主從架構中。
 
2. 分布式事務
TiDB 100% 支持標準的 ACID 事務。
 
3. 一站式 HTAP 解決方案
HTAP: Hybrid Transactional/Analytical Processing
TiDB 作為典型的 OLTP 行存數據庫,同時兼具強大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解決方案,一份存儲同時處理 OLTP & OLAP,無需傳統(tǒng)繁瑣的 ETL 過程。
 
4. 云原生 SQL 數據庫
TiDB 是為云而設計的數據庫,支持公有云、私有云和混合云,配合 TiDB Operator 項目 可實現自動化運維,使部署、配置和維護變得十分簡單。
 
5. 水平彈性擴展
通過簡單地增加新節(jié)點即可實現 TiDB 的水平擴展,按需擴展吞吐或存儲,輕松應對高并發(fā)、海量數據場景。
 
6. 真正金融級高可用
相比于傳統(tǒng)主從 (M-S) 復制方案,基于 Raft 的多數派選舉協(xié)議可以提供金融級的 100% 數據強一致性保證,且在不丟失大多數副本的前提下,可以實現故障的自動恢復 (auto-failover),無需人工介入。

水平擴展的特點:
無限水平擴展是 TiDB 的一大特點,這里說的水平擴展包括兩方面:計算能力(TiDB)和存儲能力(TiKV)。
TiDB Server 負責處理 SQL 請求,隨著業(yè)務的增長,可以簡單的添加 TiDB Server 節(jié)點,提高整體的處理能力,提供更高的吞吐。
TiKV 負責存儲數據,隨著數據量的增長,可以部署更多的 TiKV Server 節(jié)點解決數據 Scale 的問題。
PD 會在 TiKV 節(jié)點之間以 Region 為單位做調度,將部分數據遷移到新加的節(jié)點上。
所以在業(yè)務的早期,可以只部署少量的服務實例(推薦至少部署 3 個 TiKV, 3 個 PD,2 個 TiDB),隨著業(yè)務量的增長,按照需求添加 TiKV 或者 TiDB 實例。


高可用特點:

TiDB的核心特性
高可用是 TiDB 的另一大特點,TiDB/TiKV/PD 這三個組件都能容忍部分實例失效,不影響整個集群的可用性。下面分別說明這三個組件的可用性、單個實例失效后的后果以及如何恢復。
1. TiDB
TiDB 是無狀態(tài)的,推薦至少部署兩個實例,前端通過負載均衡組件對外提供服務。當單個實例失效時,會影響正在這個實例上進行的 Session,從應用的角度看,會出現單次請求失敗的情況,重新連接后即可繼續(xù)獲得服務。單個實例失效后,可以重啟這個實例或者部署一個新的實例。
 
2. PD
PD 是一個集群,通過 Raft 協(xié)議保持數據的一致性,單個實例失效時,如果這個實例不是 Raft 的 leader,那么服務完全不受影響;如果這個實例是 Raft 的 leader,會重新選出新的 Raft leader,自動恢復服務。PD 在選舉的過程中無法對外提供服務,這個時間大約是3秒鐘。推薦至少部署三個 PD 實例,單個實例失效后,重啟這個實例或者添加新的實例。
 
3. TiKV
TiKV 是一個集群,通過 Raft 協(xié)議保持數據的一致性(副本數量可配置,默認保存三副本),并通過 PD 做負載均衡調度。單個節(jié)點失效時,會影響這個節(jié)點上存儲的所有 Region。對于 Region 中的 Leader 節(jié)點,會中斷服務,等待重新選舉;對于 Region 中的 Follower 節(jié)點,不會影響服務。當某個 TiKV 節(jié)點失效,并且在一段時間內(默認 30 分鐘)無法恢復,PD 會將其上的數據遷移到其他的 TiKV 節(jié)點上。


TiDB 存儲和計算能力

TiDB的核心特性

存儲能力-TiKV-LSM

TiKV Server通常是3+的,TiDB每份數據缺省為3副本,這一點與HDFS有些相似,但是通過Raft協(xié)議進行數據復制,TiKV Server上的數據的是以Region為單位進行,由PD Server集群進行統(tǒng)一調度,類似HBASE的Region調度。
TiKV集群存儲的數據格式是KV的,在TiDB中,并不是將數據直接存儲在 HDD/SSD中,而是通過RocksDB實現了TB級別的本地化存儲方案,著重提的一點是:RocksDB和HBASE一樣,都是通過 LSM樹作為存儲方案,避免了B+樹葉子節(jié)點膨脹帶來的大量隨機讀寫。從何提升了整體的吞吐量。
 

計算能力-TiDB Server
TiDB Server本身是無狀態(tài)的,意味著當計算能力成為瓶頸的時候,可以直接擴容機器,對用戶是透明的。理論上TiDB Server的數量并沒有上限限制。
 

總結

TiDB作為新一代的NewSQL數據庫,在數據庫領域已經逐漸站穩(wěn)腳跟,結合了Etcd/MySQL/HDFS/HBase/Spark等技術的突出特點,隨著TiDB的大面積推廣,會逐漸弱化 OLTP/OLAP的界限,并簡化目前冗雜的ETL流程,引起新一輪的技術浪潮。
一言以蔽之,TiDB,前景可待,未來可期。





猜你喜歡:

什么是TiDB數據庫?數據管理技術的發(fā)展

怎樣操作Spark SQL性能調優(yōu)?

使用Django開發(fā)過程中如何優(yōu)化數據庫?

MySQL數據庫常用的搜索引擎有哪些,區(qū)別是什么?

傳智教育python大數據開發(fā)培訓

0 分享到:
和我們在線交談!