
一 前言
二 ADB PG雲原生架構

-
一個是檔案與表的關係 -
另外一個是被刪除的資料的delete bitmap
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
三 關鍵技術
1 彈性伸縮


2 分層儲存

3 讀寫流程
-
使用者寫入資料透過資料攢批直接寫入OSS,同時會在本地磁碟上記錄一條元資料。這條元資料記錄了,檔案和資料表的對應關係。元資料使用PG的行存表實現,我們透過file metadata表來儲存這個資訊。
-
更新或者刪除的時候,我們不需要直接修改OSS上面的資料,我們透過標記刪除來實現,標記刪除的資訊也是儲存在本地行存表中,我們透過visibility bitmap來存這個資訊。標記刪除會導致讀的效能下降,我們通過後臺merge來應用刪除資訊到檔案,減少刪除帶來的讀效能影響。
-
我們透過讀取file metadata表,得到需要掃描的OSS檔案。
-
根據OSS檔案去讀取對應檔案。
-
讀到的檔案透過元資料表visibility bitmap過濾掉已經被刪除的資料。
4 可見性表
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 行列混存

6 本地快取
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

7 向量化執行

8 有序感知
9 細粒度並行

四 效能結果
1 擴縮容效能
|
|
|
|
|
|
|
|
|
|
2 讀寫效能
寫效能測試
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
在單併發下新版本與儲存彈性版本的效能差不多,主要在於資源都沒有滿; -
在4併發下新版本的吞吐是儲存彈性的2倍,原因在於使用lineitem表都定義了sort key,新版本在寫入資料無需寫WAL日誌,另外攢批加上流水線並行相比彈性儲存版本先寫入,再merge,merge的時候也需要寫額外的WAL有一定優勢; -
在8併發下新版本與4併發差不多,主要由於4C 4併發已經把CPU用滿,所以再提升併發也沒有提升。
讀效能測試



-
雲原生版本對比老的彈性儲存版本均有1倍多的效能提升,原因在於細粒度並行帶來的加速效果; -
對於TPCH這種計算密集型的作業,即使資料一半快取,一半OSS效能也不錯,sf 2000資料量是sf 500的4倍,rt增加到原來的2.8倍,主要原因在於4*4C規格的例項沒有到OSS的頻寬瓶頸,另外由於本身讀取的預取等最佳化。
五 總結
-
透過儲存計算分離,使用者可以根據業務負載模型,輕鬆適配計算密集型或儲存密集型,儲存並按使用計費,避免儲存計算一體僵化而造成的資源浪費; -
動態的適配業務負載波峰和波谷,雲原生MPP架構計算側使用了shared-nothing架構,支援秒級的彈性伸縮能力,而共享儲存使得底層儲存獨立不受計算的影響。這降低了使用者早期的規格選型的門檻,預留了後期根據業務的動態調整靈活性; -
在儲存計算分離基礎上,提供了資料共享能力,這真正打破了物理機的邊界,讓雲上的資料真正的流動了起來。例如資料的跨例項即時共享,可支援一存多讀的使用模式,打破了傳統數倉例項之間資料訪問需要先匯入,再訪問的孤島,簡化操作,提高效率,降低成本。
六 後續計劃
雲原生版本將於2022年2月正式商業化發布,想要更多資訊可以訪問產品網站https://www.aliyun.com/product/gpdb
七 引用資料
關係型資料庫課程
關鍵詞
效能
使用者
時候
資訊
業務