溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL Taurus技術(shù)有什么優(yōu)點

發(fā)布時間:2021-12-04 10:11:26 來源:億速云 閱讀:147 作者:iii 欄目:云計算

本篇內(nèi)容介紹了“MySQL Taurus技術(shù)有什么優(yōu)點”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

云原生數(shù)據(jù)庫技術(shù)趨勢

傳統(tǒng)的數(shù)據(jù)庫體系結(jié)構(gòu)已有 30 多年的歷史,專為本地部署,本地存儲和單機數(shù)據(jù)庫實例而設(shè)計和優(yōu)化,此后很長一段時間內(nèi),該體系結(jié)構(gòu)未針對公有云環(huán)境進行優(yōu)化。在公有云環(huán)境下,計算和存儲通過網(wǎng)絡分離以支持多租戶數(shù)據(jù)庫實例并 scale out 向兩端擴展;并不要求單個節(jié)點的高可靠性。

舉例來說,假設(shè)一個本地數(shù)據(jù)庫的每個數(shù)據(jù)庫實例都有本地存儲,為了支持高可用性,通常部署一個備實例并使用數(shù)據(jù)庫內(nèi)部復制機制將數(shù)據(jù)庫日志(MySQL binlog)發(fā)送到備實例重建數(shù)據(jù)庫副本。目前,大多數(shù)云廠商都采用類似機制來支持云數(shù)據(jù)庫高可用性。但是,這種內(nèi)部復制機制并沒有利用云存儲已經(jīng)通過存儲層復制提供的可靠性,這導致大量存儲和帶寬浪費。實際上,備數(shù)據(jù)庫實例可以通過云存儲與主實例共享數(shù)據(jù),不僅可以節(jié)省磁盤空間和帶寬,還可以為云數(shù)據(jù)庫服務提供快速 RTO。

很明顯,在將傳統(tǒng)數(shù)據(jù)庫遷移上云時,需要重新設(shè)計和優(yōu)化數(shù)據(jù)庫系統(tǒng)。過去幾年,主要云供應商,比如 AWS 和阿里云,已經(jīng)做了部分工作。預計未來幾年,更多云和數(shù)據(jù)庫供應商將遵循這一趨勢,構(gòu)建某種形式的云原生數(shù)據(jù)庫技術(shù)。此外,Gartner 預測,到 2019 年,90%的云數(shù)據(jù)庫架構(gòu)將支持計算和存儲分離。

值得注意的是,除了基于云環(huán)境的數(shù)據(jù)庫架構(gòu)重新設(shè)計之外,這一領(lǐng)域還存在兩大趨勢:

  • 在云原生數(shù)據(jù)庫中利用新硬件:如新硬件和RDMA。這些都是活躍的研究領(lǐng)域,然而除了充當緩存和計算機與存儲之間的快速鏈接之外,到目前為止,我們還沒有看到任何其他的突破性。

  • 基于即時和歷史收集的數(shù)據(jù),使用ML(機器學習)和統(tǒng)計技術(shù)來幫助管理和自我調(diào)整云數(shù)據(jù)庫,包括但不限于數(shù)據(jù)庫實例自動伸縮和參數(shù)設(shè)置和自動調(diào)整,異常檢測等。

云上 MySQL 的不足

當前,對于 RDS for MySQL,各大云廠商基本都采用主備高可用模式、主備間使用 Binlog 復制,該架構(gòu)下每添加一個從庫都需要全棧式資源,這導致了一些問題:

1、資源浪費

備庫往往不承擔流量;復制線程會消耗主庫 / 從庫計算資源,造成計算資源浪費;EVS 的 3 副本冗余機制下,N 個備庫最大需要 3*(N+1) 個副本,造成存儲資源浪費以及多種數(shù)據(jù)需要走存儲網(wǎng)絡進行刷盤,造成網(wǎng)絡資源浪費等。

2、擴展性不佳

添加只讀時需要拷貝數(shù)據(jù),重放 binlog,對于大數(shù)據(jù)量情況下速度很慢,尤其是采用本地盤方案。主從復制延遲問題會讓主備倒換受影響,難以保證 RTO。此外,采用物理備份、邏輯備份時備份恢復速度很慢, 1T 以上數(shù)據(jù)量都以小時計,使得數(shù)據(jù)庫擴展性受限。
MySQL Taurus技術(shù)有什么優(yōu)點

華為云 RDS 架構(gòu)演進

華為云 Taurus 與 Amazon Aurora 數(shù)據(jù)庫進化的方向是一致的,然而進化路徑各有不同,這是由各自的數(shù)據(jù)庫云服務實現(xiàn)方式不同所決定的。華為云 RDS MySQL 有如下幾個版本,這些產(chǎn)品形態(tài)滿足不同的用戶業(yè)務場景,具有不同的特點,可以進行優(yōu)勢互補。

MySQL 單機版

MySQL 單機版采用數(shù)據(jù)庫計算節(jié)點和存儲節(jié)點分離的方式,利用云盤數(shù)據(jù)本身的可靠性和多副本的特性,同時也利用 ECS 云服務器虛擬化來提升標準化部署、版本和運維管理效率,能夠滿足低端用戶不太注重高可用服務的業(yè)務場景。

MySQL 主備版

MySQL 高可用版則是針對企業(yè)級用戶提供的高可用數(shù)據(jù)庫版本,提供 99.95% 的 SLA 保障。采用 Active-Standby 高可用架構(gòu),主節(jié)點和備節(jié)點之間通過 MySQL Binlog 進行數(shù)據(jù) Replication。當主節(jié)點發(fā)生故障,備節(jié)點接管服務。同時還支持最多 5 個只讀節(jié)點,支持負載均衡的數(shù)據(jù)讀寫分離的訪問方式。

MySQL 金融版

MySQL 金融版是針對金融行業(yè)等高端用戶設(shè)計的高可用、高可靠云服務產(chǎn)品。一主兩備三節(jié)點架構(gòu),可跨 AZ 部署,任意一臺服務器宕機不影響業(yè)務可用性;基于 Paxos 協(xié)議,實現(xiàn)了分布式下數(shù)據(jù)的強一致性,擁有更加優(yōu)異的故障恢復時間,滿足數(shù)據(jù)容災備份等業(yè)務場景的需求。

Taurus 的進化

MySQL Taurus技術(shù)有什么優(yōu)點
Taurus 采用計算與存儲解耦的技術(shù)架構(gòu),同時可以最多支持 15 個只讀節(jié)點。主節(jié)點和只讀節(jié)點之間是 Active-Active 的 Failover 方式,計算節(jié)點資源得到充分利用,由于使用共享存儲,進一步降低了用戶使用成本。

Taurus 的設(shè)計思想有幾個大的革新:

  • 將部分計算能力卸載到存儲節(jié)點

  • 軟硬件深度優(yōu)化,充分利用 RDMA 網(wǎng)絡、NVME SSD 等硬件優(yōu)勢

  • 日志即數(shù)據(jù),與傳統(tǒng) RDS for MySQL 相比,不再需要刷 page,所有更新操作都記錄日志,不再需要 double
    write,減少了網(wǎng)絡通信。

另外在 DB Server 設(shè)計上,完全擁抱開源生態(tài),完全兼容 MySQL 8.0。

華為云 Taurus 和 Amazon Aurora 的一個共同設(shè)計哲學就是,先推出一寫多讀的版本,根據(jù)市場需求,適時推出多寫版本,滿足絕大多數(shù) OLTP 應用場景和性能要求。

Taurus 架構(gòu)設(shè)計原則:

采用華為下一代云存儲(DFV)作為快速,可擴展,可靠和共享數(shù)據(jù)庫存儲。不復制存儲層中的已有功能,例如,數(shù)據(jù)復制,跨 AZ 可靠性,數(shù)據(jù)清理。

  • 單個數(shù)據(jù)庫集群應該只需要一份足夠可靠的數(shù)據(jù)庫副本集。所有只讀副本共享存儲在云存儲中,甚至跨
    AZ,數(shù)據(jù)庫層中沒有邏輯復制。一寫多讀,沒有獨立的備用實例。主節(jié)點發(fā)生故障轉(zhuǎn)移時,只讀副本可以切換到接管主服務器。

  • 記錄為數(shù)據(jù)庫。僅順序?qū)懭胍宰钚』?SSD 磨損(避免寫入放大)

  • 只有數(shù)據(jù)庫日志通過網(wǎng)絡從數(shù)據(jù)庫計算機節(jié)點寫入 DFV 存儲層。沒有頁面檢查點和刷新跨網(wǎng)絡,沒有雙重寫入?;?DFV
    存儲層內(nèi)的數(shù)據(jù)庫日志重建數(shù)據(jù)面,以避免繁重的網(wǎng)絡流量。

  • 基于跨 DFV 存儲節(jié)點的切片策略對數(shù)據(jù)庫進行分區(qū),以支持大型數(shù)據(jù)庫卷。單個 DFV
    存儲節(jié)點管理來自不同數(shù)據(jù)庫集群實例的多個分片,實現(xiàn)存儲容量和處理能力的無限擴展。

Taurus 數(shù)據(jù)庫關(guān)鍵技術(shù)點剖析

MySQL Taurus技術(shù)有什么優(yōu)點

Taurus 架構(gòu)

如圖所示,Taurus 是一個分布式集群架構(gòu)設(shè)計,采用計算與存儲分離的設(shè)計理念,滿足公有云計算環(huán)境下用戶業(yè)務彈性擴展的剛性需求。數(shù)據(jù)庫計算節(jié)點和存儲節(jié)點之間采用高速網(wǎng)絡互聯(lián),并通過 RDMA 協(xié)議進行數(shù)據(jù)傳輸,使得 I/O 性能不再成為瓶頸。

數(shù)據(jù)庫節(jié)點采用和 MySQL 完全兼容的設(shè)計。主節(jié)點和只讀節(jié)點之間采用 Active-Active 的 Failover 方式,提供 DB 的高可用服務。同時 ,DB Server 之間僅需同步 Redo log 相關(guān)的元數(shù)據(jù)信息。

  1. SQL Nodes

  2. 管理客戶端連接、解析 SQL 請求,、分析執(zhí)行計劃并執(zhí)行和管理事務隔離級別

  3. 一主多讀

  4. 主庫和只讀松耦合

  5. 主庫和只讀通信少

  6. 快速 Failover

  7. 引入內(nèi)核中的一些特性
    Query result cache
    Query plan cache
    Online DDL

SQL Replication

只讀節(jié)點在本地 buffer pool 中維護數(shù)據(jù)頁的多個版本

  • 減少從存儲的遠端讀取數(shù)據(jù)頁

主庫交互

  • MVCC: 同步主庫當前活躍事務列表

  • 頁失效: 接收主庫頁失效列表

高速網(wǎng)絡下的 RDMA 協(xié)議

部署 RoCE RDMA 以減少網(wǎng)絡延遲并增加帶寬。在單個 AZ 中,Taurus 可以利用高速網(wǎng)絡(RDMA)來獲得更新和讀取的低延遲存儲 I/O,這對于低客戶端連接方案非常有用。

存儲抽象層 (SAL)

存儲抽象層 (SAL) 是邏輯層,將數(shù)據(jù)存儲和 SQL 前端、事務、查詢執(zhí)行等進行隔離。由一組容量和處理能力按需擴展的分片節(jié)點組成,SAL 將所有 SQL 節(jié)點需要的數(shù)據(jù)頁按分片管理和橫向擴展。隨著數(shù)據(jù)庫規(guī)模的增長,可用資源(存儲、內(nèi)存)隨著分片創(chuàng)建按比例增長。數(shù)據(jù)處理本地化,數(shù)據(jù)密集型操作是在存儲節(jié)點上按分片服務執(zhí)行。

Taurus Storage

Taurus 存儲基于華為云存儲 DFV 持久層。DFV 持久層集群包括多個存儲節(jié)點。每個存儲節(jié)點包含多個 SSD 設(shè)備和適應 SSD 介質(zhì)的 append 存儲服務進程。 DFV 持久層為 SQL 節(jié)點提供存儲接口。

Taurus 采用日志化方式處理 SQL 節(jié)點數(shù)據(jù),即通常表述的“日志即數(shù)據(jù)”。數(shù)據(jù)組織采用面向 SSD 重新設(shè)計的 Append 模式,顯著減少系統(tǒng)寫放大,減少存儲時延。同時,在 Append 模式下,數(shù)據(jù)回滾和回檔變得非常快速。

Taurus 核心競爭力

成本更低

與傳統(tǒng) RDS for MySQL 相比,只有一份存儲。添加只讀節(jié)點時,只需添加計算節(jié)點,無需額外購買存儲。只讀節(jié)點越多,節(jié)省的存儲成本越多。

擴展性、可靠性更高

  • 橫向擴展更快。Taurus 采用共享存儲,只需添加計算節(jié)點,無論多大數(shù)據(jù)量,只需 5 分鐘左右,并且支持 15 個只讀.

  • 縱向擴展更快。容器化部署,規(guī)格變更更快。

  • 主從倒換時間更快。 消除了復制延遲,RTO 有保證。

  • 數(shù)據(jù)庫 Crash 恢復更快。

  • 性能更強

軟硬結(jié)合,基于硬件:Hi1822 卸載,NVMe SSD,RDMA,同時內(nèi)核進行優(yōu)化:去掉 double write,Query Cache/Plan Cache 優(yōu)化,Innodb Lock Management 優(yōu)化,Audit Plugin 效率優(yōu)化,性能達到原生 MySQL 的 7 倍。

備份恢復更快

專為 Taurus 引擎定制的分布式存儲系統(tǒng),極大提升數(shù)據(jù)備份、恢復性能

  • 強大的數(shù)據(jù)快照處理能力。AppendOnly vs. WriteInPlace,數(shù)據(jù)天然按多時間點多副本存儲,快照秒級生成,支持海量快照。

  • 任意時間點快速回滾。基于底層存儲系統(tǒng)的多時間點特性,不需增量日志回放,可直接實現(xiàn)按時間點回滾。

  • 并行高速備份、恢復。備份及恢復邏輯下沉到各存儲節(jié)點,本地訪問數(shù)據(jù)并直接與第三方存儲系統(tǒng)交互,高并發(fā)高性能。

  • 快速實例恢復。通過異步數(shù)據(jù)拷貝 + 按需實時數(shù)據(jù)加載機制, Taurus 實例可在數(shù)分鐘內(nèi)達到完整功能可用。

“MySQL Taurus技術(shù)有什么優(yōu)點”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI