IT產業正在經歷新的週期,離散的私有IT基礎設施轉向集中式,這在產業發展史上已經不甚新鮮,主機時代、PC時代咱們都曾經歷過不一樣的轉變,從主機的集中到我的計算機的分散再到雲計算,IT的發展彷佛也在遵循着「否認之否認」的鐘擺定理。
數據庫做爲計算機架構的核心底層軟件,一樣處於變化之中,其歷史能夠追溯到1970年,50年來數據庫領域廠商進進出出,但傳統數據庫廠商的地位從未動搖,直到雲計算的出現。
Gartner預測,到2023年全球3/4的數據庫都會跑在雲上,企業正將新應用向雲轉移,對數據存儲和計算分析的能力要求不斷增強。雲數據庫自然具有云上靈活性,可以提供強大的創新能力、豐富多樣的產品體系、經濟高效的部署方式和按需付費的支付模式。雷鋒網對話騰訊雲數據庫產品總監王義成,獲悉騰訊雲在雲原生時代的數據庫發展思路。數據庫
騰訊雲數據庫佈局
緩存
上圖顯現了騰訊雲數據產品及工具的總體佈局,最上層是數據庫的SaaS層,包括DTS數據遷移類服務,支持MySQL、Redis、PG等通用開源協議;DMS數據管理層,幫助用戶實現圖形化數據管理;另外包括數據審計、數據訂閱等,審計支持實時記錄全部的增刪改查操做,訂閱可幫助用戶獲取雲數據庫的實時增量更新數據,支持動態增減訂閱對象、在線查看訂閱數據、修改消費時間點等特性;災備,用於跨雲容災和構建混合雲場景。
另外,用戶僅需提交問題和需求,便可得到騰訊雲數據庫專家的專業支持。騰訊雲數據庫專家服務團隊均有10年以上的 DBA 經驗,擁有億級用戶產品的數據庫管理經驗。據瞭解,騰訊雲數據庫推出的數據庫智能管理工具也即將上線,支持7×24小時的數據庫智能監控告警。
往下是數據庫的PaaS層,包括關係型數據庫、非關係型數據庫、分佈式數據庫和數據倉庫、新一代數據庫。關係型數據庫包括MySQL、Redis、PostGreSQL、MariaDB、SqLServer,Tdata,非關係型包括Redis、MemCache,MongoDB、CKV等等。
不少數據庫其實離咱們平常生活很近,騰訊自研的非關係型的數據庫CKV在微信紅包場景中大批量使用,按訪問量來收費的TcaplusDB在《王者榮耀》遊戲中使用,不少遊戲類應用或者騰訊系衍生的一些服務都會使用TcaplusDB。服務器
騰訊雲數據庫發展史微信
據王義成介紹,騰訊數據庫的發展史從QQ起步,開始是一種最先以的KV形式存儲,當時Redis還沒誕生,而後向CKV逐漸演變,再以後到財付通上線意味着騰訊有了純粹的金融業務,也是MySQL在開源社區萌芽時期,故而騰訊沒有選用傳統的商業數據庫,而是在MySQL基礎上修改。
固然,最初都是痛苦的,騰訊也不例外。好比單庫壓力太大或者說主機延遲比較大等問題,倒逼MySQL演進到分佈式數據庫,就是現在的TDSQL。「最先是在騰訊內部開始演進,從單機節點到集羣版,而後逐漸演進,再從一主一備,而後直接演進到三節點,基於Raft模式,這就是騰訊數據庫自研的歷史。」
此外,騰訊內部還有不少數據分析類業務,如廣告等業務,須要混合OLTP和OLAP而成的HTAP數據庫系統,基於OLTP的交易數據、OLAP的分析類數據,作整個廣告業務推薦、分析。
「騰訊整個大的策略也是整個集團內部上雲,TDSQL、CKV本就是騰訊內部演進的一些產品,在目前逐漸地遷移到雲化的機房來,這是一類;還有一類就是雲數據庫,徹底基於雲開發的數據庫, 好比像CynosDB、MongoDB,基於開源的Redis也在騰訊內部開始雲化,原來有些新興業務或者之前沒有用到開源數據庫的業務也開始逐步遷移上雲。好比一些遊戲場景和廣告部門,他們可能原來本身沒有MongoDB或者Redis總體的底層架構,如今也自動在騰訊內部雲化環境裏開始使用」。王義成介紹。網絡
雲原生數據庫CynosDB架構
從某種程度上來講,AWS一篇論文開啓了雲原生數據庫時代,AWS認爲,高吞吐量數據處理的核心問題已經從計算和存儲移到了網絡IO,Aurora提出了一種新的關係型數據庫架構,將REDO日誌的處理下沉到一個專門爲Aurora定製的多租戶可擴展的存儲服務上。
數據庫就此進入下一個紀元——雲原生。
2018年11月,騰訊雲公佈了新一代自研雲原生數據庫CynosDB,目前處於公測階段,將於今年Q3正式推出商業版本。CynosDB數據庫100%兼容開源數據庫引擎 MySQL 5.7和 PostgreSQL 10,幾乎無需改動代碼,便可完成現有數據庫的查詢、應用和工具平滑遷移;最高性能是 MySQL 數據庫八倍、PostgreSQL 數據庫的四倍;最高128TB的海量存儲,無服務器Serverless架構,自動擴縮容。
騰訊云云原生數據庫CynosDB產品架構
過去的雲數據庫是在傳統數據庫之上擴展一部分雲的能力,把數據庫賦予一部分雲的擴展性,但沒有對數據庫本質上作任何的改變,只是給用戶提供了一些基礎的運維和初級DBA的能力,而CynosDB這類數據庫走的是純粹的雲原生路線。
數據庫真正的挑戰在內核級,以MySQL爲例,傳統的MySQL數據寫在內存,而後再刷到REDO裏去,經過REDO再去刷內存頁,再輸到磁盤,這樣帶來一個明顯問題,擴容磁盤就必需要導數據,由於整個緩存和數據都是在一臺機器上。CynosDB把計算和存儲分開,REDO層面不在本機內刷,而是經過網絡傳到共享存儲,讓存儲層去感知MySQL REDO日誌,在存儲層作日誌回放。計算只負責計算,再也不負責存儲數據了。
「爲何作CynosDB?傳統的數據庫+雲的模式沒有給用戶帶來不少驚喜,咱們認爲,將來方向是「雲+數據庫」,數據庫將會發生根本性變革。雲原生、超融合、自治是帶領騰訊雲數據庫發展的三駕馬車。CynosDB就是雲原生時代的產物。」
王義成形象地比喻,傳統數據庫如SQL Server或者雲+數據庫形式,相似於買寬帶,放到雲計算領域則是實例,無論用多少,怎麼用,都要使用租用的方式,但實際使用量級可能比購買的要小不少。
「CynosDB是商業模式上的一種變化,但商業模式的變化必定是技術架構或者說技術的從新改造。之前是基於物理基因的模式去搞一個實例去作,用戶作一次升級或者搬遷,都要全面要把數據搬走。CynosDB實現存儲跟計算分離,存儲是一個大的共享磁盤,而且讓磁盤存儲可以感知MySQL或者數據庫的協議,而後把日誌下沉,在存儲的擴展性和性能上通過良好的一箇中和。」less
雲原生數據庫市場兩三年爆發運維
「雲原生數據庫市場可能在將來的兩三年內就會爆發」,王義成給出了兩個緣由。
第一,公有云的增量市場可能不會像之前那麼快,達到以前的100%、200%,在這種市場條件下,雲原生數據庫更迎合市場需求,雲廠商須要逐漸教育市場。
另外一方面,當前國外數據庫廠商的技術壟斷逐漸被打破,國產數據庫崛起勢頭強勁有望進一步發展,數據庫市場即將開始下半場角逐,雲廠商是影響這場戰役新的變量。與Oracle對標並作到Oracle這種程度是很長的過程,當下並不現實。
廠商如何用對數據庫市場的理解,或者在數據庫技術上的優點來去打動價值20-40億元的市場客戶,是擺在數據庫廠商面前的現實問題。分佈式
本文轉載自雷鋒網 張帥工具