您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“MySQL HeatWave的功能有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“MySQL HeatWave的功能有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
MySQL 作為全球最歡迎的數據庫,已在交易場景叱咤風云多年。在 2020 年底,OCI(Oracle Cloud Infrastructure)推出了一個黑科技插件,它彌補了 MySQL 在分析場景的短板,Oracle 官方稱它比 Aurora 快 1400 倍,比 Redshift 快 6.5 倍,而且還能以二分之一的成本完成這些工作,它就是 MySQL HeatWave。
MySQL HeatWave 是一個內置高性能內存查詢加速器的 MySQL 云服務。借助該服務,我們無需對當前應用進行任何更改,即可將混合工作負載的 MySQL 性能提高數個量級。
相比傳統的分析場景,MySQL HeatWave 可以讓用戶無需再使用單獨的分析數據庫、單獨的機器學習 (ML) 工具以及提取、轉換和加載(ETL)復制。同時,借助 MySQL HeatWave 機器學習,開發人員和數據分析師可以在 MySQL HeatWave 中構建、訓練、部署和解釋機器學習模型,無需將數據遷移到單獨的機器學習服務中。
目前 MySQL HeatWave 可在 OCI(Oracle Cloud Infrastructure)、AWS(Amazon Web Services)和 Microsoft Azure 上使用。
MySQL HeatWave 可以附加到 MDS(MySQL Database Service)來支持分析類查詢,它不會暴露給應用程序。MySQL HeatWave 的數據庫是以列存形式存儲在內存當中。
簡單了解 MySQL HeatWave,首先了解如下三條內容即可:
使用同一個 MySQL 數據庫來支持 OLTP 和 OLAP;
數據以分區的方式存儲在內存中;
應用程序無需做任何更改。
MySQL HeatWave 的架構如下圖所示,它以一個插件的形式存在于整個 MySQL 數據庫系統當中,它不會直接面對應用程序,可以理解為 MySQL HeatWave 掛在了 MDS 之下,用戶無需修改原有的數據訪問方式。
MySQL HeatWave 插件對應著若干個 MySQL HeatWave Node。MySQL HeatWave 的數據在內存中以列存的方式存儲,其持久化的數據是存放在對象存儲中,可在 Node 失效后快速完成恢復。
HeatWave 的數據以列存方式存儲在內存中,便于向量化處理,同時數據在加載到內存前會進行編碼和壓縮,可提高性能和減少內存占用,從而降低客戶的成本。
基于行存數據做水平分區,基于水平分區,可以將查詢在節點級并行執行來加速 scan、join、group-by、aggr 和 top-k 等算子,同時分區規劃是與底層 RAPID 定制化硬件適配的。
分區內部將數據按照schema定義組織成列式存儲,以引入向量化執行,每個向量化計算的單位是16KiB 的 vector,各列對應行的vector組合在一起成為 chunk,每個 partition 會有多個 chunks。
為了適配 DMS,vector 又劃分為多個 tile,每 64 行組成一個tile作為數據傳輸的最小單元。
為了減少內存的使用,所有存儲的數據都會做編碼或壓縮。
一個 MySQL 數據庫滿足 OLTP 和 OLAP 兩種需求
對 ETL 無依賴
提供實時分析
增強安全性
無需修改應用程序
支持 MySQL 數據庫所支持的 BI 和數據可視化工具
可在公有云和用戶的數據中心使用
高性能內存查詢加速器
采用大規模擴展和高性能架構設計
針對云進行了優化
針對高事務處理量和連接進行了優化
In-database 機器學習
無需額外的機器學習服務
利用機器學習生命周期自動化,節省時間并減輕工作量
可解釋的機器學習模型
MySQL 自動駕駛
自動配置
自動線程池
自動分片預測
自動編碼
自動查詢計劃優化
自動數據安置
MySQL 湖倉一體(beta)
TPC-H 性能優于同類產品
快速分析所有數據
可擴展的管理、處理數據架構
機器學習驅動自動優化,提升性能并節省時間
實時彈性
在高峰時間始終保持穩定的高性能,成本更低且無停機時間
避免過度預配實例
全托管數據庫服務
由 MySQL 工程團隊開發、管理和提供支持
MySQL HeatWave 交互式控制臺:管理資源、運行查詢和監視性能
高級安全性
通過密鑰生成和數字簽名進行非對稱加密
數據脫敏
SQL 白名單
RAPID 引擎支持語句中相關函數;
RAPID 引擎執行時間評估少于 InnoDB 的執行時間。
當同時滿足以上兩個條件時,將由 RAPID 引擎,也就是 MySQL HeatWave 來處理相關業務請求。
在啟用 MySQL HeatWave 插件后,對于接收到的請求,MDS 會通過兩個條件來判斷該請求是否走 RAPID 引擎,MySQL HeatWave 所使用的引擎是 RAPID,在研發階段 MySQL HeatWave 的名字就是“RAPID”。
對于 MySQL HeatWave 的數據,可通過如下三種方式進行加載:
手動加載數據,每次加載一張表;
通過自動并行方式加載數據,通過 Autopilot 的方式可并行執行,效率較高;
通過 MySQL HeatWave 的控制臺,以可視化的操作來完成數據加載,這種方式目前僅限在 AWS 上進行操作。沒錯,這里確實是只有 AWS 支持 MySQL HeatWave 控制臺,AWS 快了 OCI 一步。
在初次數據加載時可能會耗時久一些,在完成數據加載后,MySQL HeatWave 會自動地保持與 InnoDB 數據一致,這里值得關注的是,自動同步變更數據的模式是異步的,最多可能要用戶接受 200ms 的數據延遲,也就是說 MDS 上的數據變更不會等待 MySQL HeatWave 的反饋。
MDS 會根據如下策略對數據進行同步:
每 200 ms;
當變更傳輸緩沖區達到 64MB 時;
在 MDS 中,經過 DML 變更的數據被后續的 HeatWave 查詢需要讀取時。
MySQL HeatWave 可支持在 OCI(Oracle Cloud Infrastructure)、AWS(Amazon Web Services)和 Microsoft Azure 上使用。
所需的 HeatWave 節點數取決于數據大小,OCI 和 Azure 最多支持 64 個節點。在亞馬遜網絡服務(AWS)上,一個HeatWave集群最多支持128個 節點。
混合部署是指本地部署 OLTP + 云端部署 OLAP 的方式,在這種混合部署中,客戶可以使用 MySQL 復制將本地 MySQL 數據復制到 OCI 或 AWS 的 MySQL HeatWave,而無需通過 ETL 來滿足分析業務需求。
這種混合部署方式需要考慮數據延遲情況,在“數據加載”中已介紹,InnoDB 和 HeatWave 間數據是異步進行傳輸的,加上網絡的延遲,需要考慮數據的實時性問題。據了解目前中國區沒有 MySQL HeatWave。
OCI 支持部署在用戶的數據中心,可滿足合規要求,讓數據駐留在用戶的數據中心。這樣的部署方式具備以下特點:
具有獨立的 OCI 云區域,由 Oracle 托管;
滿足數據駐留在用戶數據中心的需求;
滿足低延遲的需求。
MySQL HeatWave 和 Amazon Redshift 「最快的實例」進行性能對比,對 19 次 TPC-H 測試結果進行幾何平均計算后,MySQL HeatWave 比 Amazon Redshift 速度快 2.7 倍,成本僅為 Amazon Redshift 的三分之一。
MySQL HeatWave 和 Amazon Redshift 「低成本實例」進行性能對比,MySQL HeatWave 性能上要領先 Amazon Redshift 17 倍以上,投入成本持平。
從官方公布的性價比數據看,相比圖上其他幾款產品,MySQL HeatWave 性價比最高。
在 Oracle 公益課堂中,我們可以了解到 MySQL HeatWave 的大概使用成本,對于這張圖我們只需要關注下半部分,對于 2T 數據量的環境,每月的成本約為 1260 美元。
其中包括了 MDS 費用、MDS 存儲的費用和 HeatWave 的費用。
HeatWave 在 OCI 和 AWS 兩朵云的 Roadmap 上的差異是比較有趣的,前面已提到可視化的數據加載只能通過 AWS 來完成,不只是這項能力,通過下圖來看,AWS 在用戶體驗上要優于 OCI。
在 OCI 中需要使用控制臺時,將會跳轉到 AWS。
對于 Azure 用戶,仍然可以使用 MySQL HeatWave 服務,它是通過 Azure VNET 連接 OCI 的 MySQL HeatWave,也就是說,實際上使用的還是 OCI 的環境。
目的是為 Azure 用戶提供原生用戶體驗,私有互聯的方式將網絡延遲控制在 2ms 內。
讀到這里,這篇“MySQL HeatWave的功能有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。