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產品架構