欧美优质美女网站_国产大片精品免费永久看nba_亚洲自拍与偷拍_精品久久久久久久久久久院品网_中文字幕日韩一区二区_欧美中文字幕在线_美女一区二区久久_夜夜嗨av一区二区三区免费区 _欧美一区二区在线不卡_日韩三级电影网址

極簡實現 TiDB 冷熱數據分層存儲 | He3 團隊訪談

參加 Hackathon 可以接觸到內核、工具、生態各個領域中志同道合的小伙伴,通過他們的項目學習到非常好的創意。大家的想法都很奇妙,充滿了創新力,在平時的研發過程中,很少能接觸到這些,Hackathon 能夠幫助我們打開思維,讓我們知道原來 TiDB 還可以這么玩。

—— He3 團隊

TiDB 在使用過程中,隨著用戶數據量的持續增長,存儲成本在數據庫總成本中的占比將會越來越高。如何有效降低數據庫存儲成本擺在了許多用戶面前。

在眾多解決方案中,有一種方法是將冷熱數據實現分層存儲。在絕大部分場景中,數據其實都可以分為 “冷數據” 和 “熱數據”。數據劃分的原則,可以根據時間遠近、熱點/非熱點用戶等等。用戶通常只訪問一段時間之內的數據,例如近一周或一個月。如果數據不做劃分,必然會導致一定程度上的性能、成本損耗。

在剛剛收官的 TiDB Hackathon 2021 中, He3 團隊就選擇了冷熱數據分層存儲來降低 TiDB 的存儲成本。他們在設計中將熱數據存放在 TiKV 上,將查詢和分析幾率比較少的冷數據存放到便宜通用的云存儲 S3,同時使 S3 存儲引擎支持 TiDB 部分算子下推,實現 TiDB 基于 S3 冷數據的分析查詢。項目獲得了評委的一致好評,力奪本屆賽事的一等獎。

這個項目為后面 TiDB 與 S3 的整合打下不錯的基礎,在這次 Hackathon 驗證了可行性。它的原理其實很簡單,將冷的數據放到 S3,將算子盡量下推到 S3,通過 S3 原生的 select 功能加速查詢。當然,如果數據已經在 S3,還可以通過 Cloud 上其他的服務,譬如 Athena, 來做更多的查詢聚合操作,加速查詢。這次大家都是在通過 partition 做文章,畢竟根據時間片來分的 partition 是非常常用的一種操作。我們內部現在也在通過 LSM 做一些跟 S3 整合的研究,我還是很期待這些都能在今年看到不少的成果產出。譬如 TiDB Cloud dev tier 集群就可以完全用這套機制來驗證。

—— 評委唐劉點評

為什么選擇冷熱數據分層存儲這個方向?

He3 團隊的隊長薛港,隊員時丕顯、沈政,都是來自移動云數據庫團隊的研發工程師,三人平時的工作就是從事云數據庫服務的開發,降低用戶在云上使用數據庫的成本是他們一直追求的目標。

在去年 7 月份的 Hacking Camp 中,He3 就曾基于 TiDB 實現了提供 Serverlessdb 服務的 Serverlessdb for HTAP 項目。用戶在使用 TiDB 時可以按使用量付費,不用再像傳統 RDS 需要包年包月,大大降低了用戶使用 TiDB 的成本。該項目也因此獲得了 Hacking Camp 優秀畢業生和最佳應用獎。

隨著產品在移動云上的落地,很多用戶在使用了一段時間后發現隨著數據量的增加,存儲成本越來越高。薛港解釋道,在公有云上,塊存儲收費比 S3 對象存儲要高很多,用戶部分場景的數據其實很多是冷數據,完全可以存放在 S3 上。于是在去年 12 月份時,他們就開始思考如何降低 TiDB 的存儲成本。恰好這時 TiDB Hackathon 2021 啟動了,薛港和時丕顯、沈政一商量,就決定將冷熱數據分層存儲作為今年的比賽項目。在答辯時,他們專門用了一頁 PPT 分析了運用該項目后的成本變化:

項目方向定了,接下來就該報名了。隊長薛港在看電視的時候對氦 -3 這種元素產生了興趣,經過了解,發現它可以用作核聚變燃料,比現有的核燃料能量更大,并且只有很少的放射性,是一種清潔高效安全的發電燃料。這種特性和他們對分布式云數據庫的期望完全一致 —— 安全、高性能、易用、價格便宜,于是 He3 便成了隊名。

在接下來不到一個月的時間中,薛港作為隊長負責整體需求的確認、架構設計、方案驗證以及具體框架的開發。其他隊員主要負責功能開發,時丕顯負責算子下推與數據類型支持,沈政重點在性能優化以及 TPC-H 測試。

該項目解決了什么問題?

He3 開發的 TiDB 冷熱數據分層存儲項目,能夠以極簡的方式實現冷熱數據分離:

針對普通表:實現 insert into select 的方式完成冷熱數據分離:

  • 支持創建 S3 外部表;
  • 支持通過 insert into s3_table select from tikv_table where … ,把 TiKV 內部表的數據轉儲到 S3 對象存儲上;
  • 支持通過 insert into tikv_table select from s3_table where … ,把 S3 外部表的數據轉儲到 TiKV 內部表。

針對分區表:自動完成分片表轉化成 S3 外部表,保留主表和 S3 外部表的主從關系。

支持通過 Alter 分區表操作,把 TiKV 內部分區表的數據自動轉儲到對應的 S3 外部表中,自動完成以下幾件事:

  • 內部 TiKV 分區表數據轉存到 S3 對象存儲中;
  • 更改分區表元數據,把 TiKV 內部分區表轉化成 S3 外部表,核心要點保留 S3 外部表和主表的分區關系;
  • 刪除 TiKV 內部分區表數據。

轉換后 S3 外部分區表對用戶完全透明,對用戶來說,S3 外部表就是主表的一個分片表。例如針對主表的查詢結果包含部分 TiKV 內部分片表以及部分 S3 外部表對應的分片表數據,那么返回的結果就會來自兩部分:TiKV 內部分片表,以及 S3 外部表。

保證用戶使用 S3 外部表和 TiKV 內部表沒有任何區別:

  • S3 外部表支持所有的數據類型;
  • S3 外部表支持所有的算子;
  • 優化 S3 外部表操作性能在用戶可接受的范圍內。

通過支持謂詞(邏輯運算、比較運算、數值運算),聚合函數、Limit 等算子下推到 S3 節點,利用 S3 的計算能力提升查詢性能。

為了達到期望所有效果,He3 在此次 Hackathon 中開發修改了 TiDB 一些模塊:

SQL Parser 模塊、系統表模塊

  • 增加一個新的系統表,用于保存 S3 元數據, 每一條記錄對應一個 S3 存儲元數據:包含 S3 的 endpoint, access key, secret key, s3 bucket。insert into mysql.serverobject values(“s3object”,”http://192.168.117.220:9000″,”minioadmin”, “minioadmin”,”s3bucket”);
  • 支持創建外部表,相比普通表增加了 s3option 選型,對應 S3 元數據對象,外部表對應 S3 的存儲路徑:Bucketname/DBName/TableName create table s3_table(id1 int8,id2 char(30)) s3options s3object;
  • 支持分片表自動轉換成 S3 外部表

Alter table employees alter partition employees_01 s3options s3object

執行器模塊

  • 能夠區分操作表是否是 S3 外部表,如果是外部表,寫入時,數據以 256M 為粒度保存到 S3 的一個對象中 , 當查詢 S3 外部表時,S3 對象會被以流式的方式裝配到 chunk 中,以支持上層算子操作;
  • 支持算子下推到 S3 節點,利用 S3 節點的計算能力加速 S3 外部表的性能;
  • S3 外部表支持所有的數據類型,存儲在 S3 的數據按 S3 外部表的 schema 對應的數據類型保存到 chunk 里,相關列都會基于數據類型編碼;
  • 支持 Alter 實現內部分片表數據自動轉儲到 S3 外部表中,同時保留主表和 S3 外部表的主從關系不變。

優化器模塊

少量無法下推 S3 的算子,He3 修改了優化器阻止這部分算子下推。當前不支持的算子,主要就是包含 TopN 算子。

來自性能測試的挑戰

He3 最初設定的目標有兩個:一是希望數據能夠以比較簡單的方式直接實現冷熱數據分離;二是希望冷數據分離到 S3 后,它的查詢性能能夠在合理的時間范圍內。所以一開始就把跑通 TPC-H 作為目標。

項目的冷熱數據分離功能很快就完成了開發,但是接下來他們遇到了一個最大的問題——性能總是無法達標。一開始的方案設計是將全部數據都讀取到 TiDB 上集中處理,但在測試中發現即使只有 10GB 的數據,TPC-H 也跑不出來。三名隊員通過討論、調研、分析,發現 S3 其實也具備一定的計算能力,是否可以把部分計算下推到 S3 ,讓 S3 和 TiKV 一樣能夠承載部分計算?

改變方案后通過幾個場景算子下推,He3 發現性能提升非常明顯,在之后的開發中就將能下推的算子全部下推,項目的整個性能優化每天都會以 20% 的幅度在提升。最終在比賽日上,他們跑通了整個 TPC-H 測試。

He3 在 Hackathon 中的 TPC-H 測試成績

此次 Hackathon 中,其實還有另一支賽隊 Interstellar 也選擇了分層存儲,這也給 He3 隊員們留下了一個有趣的畫面:在 Interstellar 開始答辯時,He3 以為是自己在投屏,手忙腳亂地到處找關閉投屏按鈕,直到對方開始答辯了,他們才意識到原來是兩個隊伍的題目撞衫了。

本次參賽的心路歷程

He3 隊員們其實在去年也參加了 TiDB Hackathon,因為剛接觸 TiDB ,并沒有碰內核。當時心中就埋下一個想法,下次參賽一定要做夠硬的項目。這也是薛港在畢業后就給自己樹立的目標 —— 做數據庫內核,并認為這是一件很酷的事情。于是在今年比賽中, He3 選擇了最硬核的賽道 —— 內核組。

過去一年的工作對他們幫助非常大,由于三人平時的工作和 TiDB 結合非常多,在碰到問題的時候就會去想有什么解決方案,這個過程中很容易產生各種好的 idea。例如這次如何降低 TiDB 存儲成本的問題,他們當時就想出了至少三種方案:第一種是將 TiDB 底層的編碼方式做一些改變,讓 TiDB 的整個壓縮比能夠再下降 50% – 60%;第二種也是一種冷熱數據分離方案,將 LSM-tree 和 S3 集成;第三種就是現在的冷熱數據存儲分層方案。但前兩種方案在 Hackathon 如此短的周期內很難完成,于是他們就采用了第三種方案。

未來, He3 還會從三個方向將該項目持續演進、迭代:

  • 通過新的編碼方式以及加速算法,降低數據在 S3 的存儲容量,基于本次比賽中實現的效果再降低 50% 的存儲容量;
  • 持續優化 TiDB 對接 S3 的存儲差異性能,在這次比賽的后期,這塊性能每天都有 20% 的性能提升,He3 認為這里其實還有很大的提升空間;
  • 進一步簡化用戶的冷熱數據分離方式。對這次項目的最終實現, He3 其實還有一些遺憾,一開始設計的時候他們想過現在冷熱數據分離還需要 DBA 來做一些操作,如果能將這個工作進一步實現自動化操作,就可以讓冷熱數據分離應用性再上一個臺階,不過由于時間比較有限的原因沒能實現。

此外,除了項目本身繼續完善外,He3 還希望在迭代到一定程度后就將整個產品的代碼提交給社區,用開源的方式回饋社區,大家一起共創。

(0)
上一篇 2022年1月25日 18:08
下一篇 2022年1月25日 18:08
欧美优质美女网站_国产大片精品免费永久看nba_亚洲自拍与偷拍_精品久久久久久久久久久院品网_中文字幕日韩一区二区_欧美中文字幕在线_美女一区二区久久_夜夜嗨av一区二区三区免费区 _欧美一区二区在线不卡_日韩三级电影网址
91在线播放网址| 欧美一激情一区二区三区| 亚洲一线二线三线视频| 成人av资源站| 国产精品电影院| 日本精品免费观看高清观看| 国产精品萝li| 欧美三电影在线| 蜜桃久久精品一区二区| 91精品欧美一区二区三区综合在| 亚洲精品免费视频| 91精品91久久久中77777| 欧美亚洲国产一区二区三区va| 日本vs亚洲vs韩国一区三区二区 | 亚洲人成电影网站色mp4| 欧日韩精品视频| 国产伦理精品不卡| 亚洲电影你懂得| 国产欧美一区在线| 欧美女孩性生活视频| 久久综合久久久久88| 国产一区二区三区四区五区美女 | 欧美大度的电影原声| 成人自拍视频在线| 亚洲sss视频在线视频| 国产福利一区二区| 日韩制服丝袜先锋影音| 国产色爱av资源综合区| 日韩亚洲欧美成人一区| 中文字幕一区av| 国产日韩av一区二区| 亚洲一二三四在线| av一本久道久久综合久久鬼色| 国产综合色视频| 视频一区视频二区中文字幕| 成人国产免费视频| 久久九九99视频| 狠狠色丁香久久婷婷综合_中 | 欧美一区二区三区四区在线观看| caoporm超碰国产精品| 欧美成人一区二区三区片免费| 欧美日韩在线播| 亚洲男人的天堂一区二区| 懂色一区二区三区免费观看| 精品在线观看免费| 国产主播一区二区| 日韩欧美国产午夜精品| 裸体一区二区三区| 久久精品视频在线看| 奇米精品一区二区三区在线观看| 欧美日本国产一区| 天涯成人国产亚洲精品一区av| 亚洲一区二区在线视频| 91免费视频观看| 亚洲综合无码一区二区| 欧美午夜精品久久久久久超碰 | 欧美国产精品中文字幕| 中文字幕欧美区| 成人app网站| 亚洲精品视频在线| 欧美日韩二区三区| 精品夜夜嗨av一区二区三区| 欧美精彩视频一区二区三区| 91网上在线视频| 亚洲 欧美综合在线网络| 欧美不卡视频一区| 成人午夜碰碰视频| 日韩精品一卡二卡三卡四卡无卡| 精品日韩在线观看| 色综合色狠狠综合色| 日韩欧美在线影院| 粉嫩一区二区三区在线看| 亚洲自拍与偷拍| 久久精品夜色噜噜亚洲a∨| 色噜噜狠狠色综合欧洲selulu| 亚洲国产日韩一区二区| 狠狠色丁香久久婷婷综| 亚洲欧美日韩国产成人精品影院| 日韩一区二区影院| 一本色道久久加勒比精品| 九色综合狠狠综合久久| 18成人在线观看| 精品久久久久久久人人人人传媒 | 国产日本一区二区| 91精品国产福利在线观看 | 亚洲午夜精品一区二区三区他趣| 久久综合视频网| 欧美另类一区二区三区| 亚洲色图视频网| 国内成人精品2018免费看| 亚洲欧美激情一区二区| 日韩欧美国产系列| 91精品啪在线观看国产60岁| 色94色欧美sute亚洲线路一ni| 成人黄色小视频| 国产精品1区2区3区在线观看| 欧美一级片在线观看| 欧美中文字幕一区二区三区亚洲| 国产精品一区三区| 国产麻豆91精品| 国产精品资源在线| 国产一区二区导航在线播放| 久久99国产精品免费| 奇米色777欧美一区二区| 美腿丝袜在线亚洲一区| 日韩精品乱码免费| 日本在线观看不卡视频| 欧美丰满一区二区免费视频| 欧美伊人久久大香线蕉综合69| 成人白浆超碰人人人人| 成人国产精品免费观看| 成人av电影免费在线播放| 91麻豆精品秘密| 一本久久a久久精品亚洲| 欧美亚洲高清一区二区三区不卡| 欧美在线免费观看亚洲| 欧美乱妇15p| 26uuu亚洲综合色欧美| 国产精品嫩草99a| 亚洲欧美日韩一区| 日韩精品电影在线| 国产精品一品视频| 91丨porny丨蝌蚪视频| 欧美视频完全免费看| 日韩欧美在线1卡| 亚洲国产精品精华液2区45| 国产精品久久久久三级| 亚洲一级二级三级| 国产精品亚洲午夜一区二区三区 | 久久嫩草精品久久久精品| 国产河南妇女毛片精品久久久 | 337p日本欧洲亚洲大胆精品| 亚洲视频免费观看| 亚洲va欧美va天堂v国产综合| 麻豆国产一区二区| 色噜噜狠狠色综合中国| 精品欧美一区二区久久| 亚洲乱码国产乱码精品精可以看| 肉色丝袜一区二区| 91偷拍与自偷拍精品| 2023国产一二三区日本精品2022| 亚洲视频免费观看| 成人午夜视频在线| 日韩欧美的一区二区| 一区二区三区高清不卡| 久久久久久黄色| 一区二区三区中文字幕电影| 激情伊人五月天久久综合| 欧美日韩在线免费视频| 欧美激情综合五月色丁香| 日韩av一区二区三区| 91麻豆国产在线观看| 久久蜜臀中文字幕| 奇米色一区二区| 欧美日韩在线播放三区| 亚洲欧美一区二区三区久本道91| 久久99精品久久久久| 777xxx欧美| 亚洲国产裸拍裸体视频在线观看乱了| 国产成人精品亚洲日本在线桃色| 欧美一级欧美一级在线播放| 亚洲国产成人av| 欧美日韩在线播| 亚洲成av人片一区二区梦乃| 99久久精品免费精品国产| 国产91精品免费| 亚洲精品一区二区三区影院| 精品国产乱码久久久久久久久| 亚洲超碰精品一区二区| 欧美四级电影在线观看| 亚洲一区中文日韩| 欧美精品丝袜久久久中文字幕| 亚洲国产视频一区二区| 7777精品久久久大香线蕉| 日韩影院在线观看| 精品国产乱码久久久久久闺蜜| 久色婷婷小香蕉久久| 精品99999| 成人av午夜电影| 亚洲美女偷拍久久| 欧美三级欧美一级| 精品一区二区三区免费观看| 26uuu久久综合| av中文字幕一区| 视频在线观看国产精品| 欧美草草影院在线视频| 91丨porny丨国产入口| 丝袜美腿成人在线| 久久久国产综合精品女国产盗摄| 成人性视频网站| 亚洲一区在线电影| 欧美videos中文字幕| 不卡视频在线观看| 热久久久久久久| 中文字幕在线观看一区| 欧美一区二区在线看| 99视频有精品| 极品少妇一区二区| 亚洲第一成人在线| 国产精品久久久久久久久果冻传媒|