阿里雲DRDS 5.3 效能提升300%,比速超跑

程式碼派就是我發表於2018-09-03

近日,阿里雲釋出了第三代DRDS分散式SQL引擎,即DRDS(阿里雲分散式關係型資料庫服務)5.3 版本 ,相較於大多數(拆分鍵上的等值查詢、讀寫分離等)場景,DRDS 5.3在效能上提升到之前的300%,且無需依賴第三方元件,就可執行分散式事務,使得操作實現最簡化。

極致效能源自多項卓越技術加身
超跑之所以跑得快,效能高,是因為使用了渦輪增壓發動機,渦輪增壓器等作為輔助。DRDS 5.3也不例外,使用了 Plan Cache、協程、FastSQL 等多項技術,
大幅提升了吞吐量,8C16G 規格的 DRDS 最大可以提供 6W+/s 的 QPS,這是什麼概念?就像文章開頭說說的,最大 QPS 較傳統SQL引擎提升高達300%。

首先,DRDS 5.3引入了 Plan Cache 技術能力,大幅降低了 SQL 解析與查詢最佳化的代價。

針對不同型別的 SQL,DRDS 5.3分成了多級 Plan Cache,其中,效能最高的被命中了一級 Plan Cache 的 SQL。無論引數取值如何,一定可以被下推到單分片執行的 SQL 會命中一級 Plan Cache,從而提升系統容量。

其次,在業務邏輯相同的情況下,透過使用協程模型與使用執行緒模型相比,系統容量提升了 30% 左右。

還有一點,DRDS 5.3 將Parser 部分,換成了從 Druid 剝離出來的 FastSQL。FastSQL 在 SQL 解析方面,比 antlr、javacc 等自動生成的 Parser
快了數十倍至數百倍,相對 DRDS 老版本的 Parser 帶來了一倍的效能提升。

DRDS 5.3的作用類似於統帥,除了要靠技術來實現效能提升,還需要豐富的拆分演算法,滿足應用不同業務場景下的拆分訴求,也就是軟實力。DRDS 5.3獨創RANGE_HASH、RIGHT_SHIFT拆分演算法,支援按數字、字串、時間單獨或者混合分片等多種豐富拆分函式,讓操作100億資料如同操作100萬資料高效。

DRDS 5.3原生分散式事務,整體事務鏈路更加穩定
DRDS 5.3 提供原生的分散式事務功能,提供柔性事務與XA事務兩種事務方案供使用者在不同的場景下進行選擇。這對於使用者來說有哪些好處?不依賴任何第三方元件,能力整合在 DRDS Server 中,專有云無需額外資源進行部署。公有云上購買的例項即可立即使用,不產生額外費用。

一般情況下,當 DRDS 後端的 MySQL 為 5.7 及以上版本時,推薦使用 XA 事務。

柔性事務的優勢在於放棄了隔離性,減小了事務中鎖的粒度,使得應用能夠更好的利用資料庫的併發效能,實現吞吐量的線性擴充套件。非同步執行方式可以更好的適應分散式環境,在網路抖動、節點故障的情況下能夠儘量保障服務的可用性(Availability)。

XA 事務使用兩階段提交協議(XA Protocol)保護子事務的提交與回滾,消除了柔性事務的非同步回滾問題。由於 XA Protocol 在提交與回滾階段始終加鎖,避免了事務結束前的髒讀和覆蓋,但是對效能有較大影響。

DRDS 5.3的超能力絕不僅於此,在SQL 相容性方面,DRDS 5.3 最大的特點在於明確了 SQL 的邊界,也即能夠明確的說明哪些 SQL 支援、哪些 SQL 不支援,並且提供了非常豐富的分散式 SQL 最佳化策略,例如對 Filter 的上拉、下壓、推導等最佳化,確保 DRDS 可以準確的識別出 SQL 中可以下推的部分;針對不同的場景,對排序與 Limit 進行最佳化,確保能將排序與 Limit 儘可能多的下推到儲存節點上,保證傳輸的資料量最小等等。

DRDS助力多家企業實現業務加速
DRDS經歷歷屆天貓雙十一核心交易業務和各類行業業務的考驗,並且成功將超能力賦予了多家企業,實現業務加速。

中國郵政目前新一代寄遞平臺、車管平臺、公式管理、CRM系統多達8個核心子系統均在使用DRDS。透過DRDS提供的資料庫拆分能力,快速的支援了中國郵政核心業務系統的不斷迭代,大幅節省了客戶針對資料庫層面的運維成本。

中石油新系統基於分散式資料庫DRDS,真正的實現了完整的替換IOE解決方案。
除此之外,中國外匯、廣發銀行、萬科等企業均不同程度上將核心業務系統均構建在DRDS之上,張弛有度地滿足了業務的伸縮需求。

我們希望能有更多的企業認識到DRDS 5.3的超能力,歡迎大家持續關注DRDS。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31550522/viewspace-2213430/,如需轉載,請註明出處,否則將追究法律責任。

相關文章