iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
Software Development

TiDB學習筆記系列 第 9

Day 9 - TiFlash架構(上)

TiDB能做到HTAP的另一塊拼圖,TiFlash,是以Column為儲存模式的,適合用於一次讀取少許欄位但大量行數資料。

https://ithelp.ithome.com.tw/upload/images/20210904/20113220JltMTVMtuH.png

由上圖可看出TiKV與TiFlash的架構,相同的資料一樣是同一個raft group。
但是在資料的同步上,不同於TiKV裡頭leader或者follower的角色,TiFlash是learner。

其實在TiKV裡頭也有learner,就是一個未完成體的follower,當一個region replica要移到另一個TiKV store的時候,會先在store上建立一個副本,也就是learner。等到資料跟上之後,就會轉變成follower。

但是TiFlash永遠是learner,這也表示TiFlash是異步複製,所有的資料都需要透過TiKV做同步,目前是不支援直接寫入TiFlash的。但是好處是當TiFlash故障時也不會影響到TiKV的運行。

還有一個特色,我認為也是很大的優點就是TiDB可以智能選擇要用哪一種架構下查詢語法,甚至是小朋友才做選擇,我全都要!對於查詢速度的優化有很大的幫助。

另外TiFlash與TiKV一樣,也有一個Coprocessor能夠為TiDB分擔計算的loading,但是不是每個語法都能夠執行,在使用上也要多加留心。例如不會檢查加減乘除overflow,或者要使用sum的時候要注意不能帶字串,還有decimal的精準度差異等等。

接下來會細部介紹TiFlash的架構...


上一篇
Day 8 - 資料儲存
下一篇
Day 10 - TiFlash架構(下)
系列文
TiDB學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言