天天看點

表格存儲 Tablestore 簡介

前言

近十年來網際網路技術得到了飛速的發展,越來越多的行業逐漸加入到了網際網路的陣營中來,同時也産生了更豐富、更複雜的業務場景和需求,這對于資料應用系統的性能無疑是巨大的挑戰。傳統應用系統通常會選擇關系型資料庫 MySQL 作為存儲引擎,原因是 MySQL 自身擁有強大的資料查詢能力,同時能滿足 ACID 強事務處理。但僅以單點 MySQL 作為存儲系統架構會存在如下幾個問題:

第一,存儲規模和并發都存在瓶頸,難以支援規模很大的業務場景。

第二,叢集需要預備計算和存儲資源,彈性低。且叢集擴縮容需要進行資料遷移,擴充性差。

第三,成本非常高。業務規模變大後成本會直線飙升,但是性能卻存在瓶頸。

如何優化

上述的問題本質上也是關系型資料庫瓶頸所在。可以從存儲和流量兩個方面來分析可優化的點。第一點是存儲,可以按照通路頻率、資料量将資料劃分為熱資料與冷資料。熱資料的特點為規模小、通路頻率高、事務相關性強。冷資料的特點為規模大、通路頻率低、事務相關性弱。MySQL 僅負責熱資料的存儲,而将冷資料遷移到其他成本低、規模大的存儲引擎中,具備這兩個特性的毫無疑問是 NoSQL 資料庫。第二點是流量,可以将流量劃分為資料查詢、資料檢索、資料分析。其中資料檢索、分析對服務計算資源消費比較高,可以将這部分流量解除安裝到 NoSQL 資料庫中,MySQL隻負責處理簡單的資料查詢。整體的優化如下圖所示。

表格存儲 Tablestore 簡介

存儲和流量解除安裝是資料分層架構的展現,資料分層存儲架構在衆多業務場景得到了廣泛應用,例如電商訂單場景,關于訂單場景分層架構實作可參考

基于 MySQL + Tablestore 分層存儲架構的大規模訂單系統實踐

,文章中講解的訂單場景裡選擇了表格存儲 Tablestore 作為分層架構中的 NoSQL 資料庫。

什麼是表格存儲

表格存儲 Tablestore 于 2009 年阿裡雲成立之初即立項研發,基于底層飛天平台從零開始建構,是一款多模型、多引擎的 NoSQL 分布式資料庫。目前已輸出到金融、能源、電力、物流、醫療、政企等行業,服務于公有雲 1000 多企業客戶和 500 多線下項目。覆寫了國内外 30 多個區域,擁有 1.5 萬伺服器規模和 200PB 存儲規模,是阿裡雲衆多商業化産品的底層存儲。表格存儲 Tablestore 對标 HBase 和 ElasticSearch,擁有極緻彈性體驗、免運維、即開即用的特性,支援 PB 級資料存儲和千萬 TPS 毫秒級延遲,同時具備資料檢索與分析能力,是集存儲、搜尋和分析多功能一體的一站式結構化資料存儲平台。表格存儲 Tablestore 的整體架構如下圖所示。

表格存儲 Tablestore 簡介

書中後續章節将介紹表格存儲的簡單使用方法,帶您快速上手 Tablestore 。如對本書中所述有疑問或者希望進一步了解表格存儲,歡迎加入釘釘群:“表格存儲公開交流群-2”。群内提供免費的線上專家服務,歡迎掃碼加入,群号:23307953。

表格存儲 Tablestore 簡介