原文地址: https://mysqlsolutionsarchitect.blogspot.com/2022/03/analyze-your-mysql-database-servicemds.html
原文作者:CHANDAN KUMAR
用 Zeppelin 分析 MDS-Heatwave 數(shù)據(jù)
使用 Zeppelin 通過 HeatWave 訪問 MDS 的完整指南
在本指南中,我們將介紹如何安裝和使用 Heatwave 訪問 MDS。
1.? ? ? ?什么是 MDS 和 HeatWave?
2.? ? ? ?什么是 Zeppelin?
3.? ? ? ?環(huán)境細(xì)節(jié)
4.? ? ? ?如何安裝 Zeppelin?
5.? ? ? ?網(wǎng)絡(luò)方面的考慮
6.? ? ? ?如何訪問 HeatWave
7.? ? ? ?使用 Zeppelin 的 MDS 數(shù)據(jù)分析
8.? ? ? ?結(jié)語
Zeppelin 和 MySQL 數(shù)據(jù)庫服務(wù)與 HeatWave 的概述
============================================
我們生活在數(shù)據(jù)世界中,隨著數(shù)據(jù)的高速增長,更快獲得結(jié)果是非常重要的,直到早些時候,MySQL 一直在挑戰(zhàn)以更快的方式處理更大規(guī)模的數(shù)據(jù),但是,目前 MySQL 的解決方案有了 “范式轉(zhuǎn)變”。
現(xiàn)在,MySQL(僅在 OCI 的 PaaS 模型中)配備了 HeatWave,這是一個分布式的、可擴展的、無共享的、內(nèi)存中的、混合列式的查詢處理引擎,旨在實現(xiàn)極限性能。
當(dāng)你向 MySQL 數(shù)據(jù)庫系統(tǒng)添加 Heatwave 集群時,它就會被啟用。
因此,MySQL 數(shù)據(jù)庫服務(wù)(MDS)將給出更快的結(jié)果,然后需要一些數(shù)據(jù)分析工具來使數(shù)據(jù)有意義,獲得更多的數(shù)據(jù)洞察力。
在這篇博客中,讓我介紹一下 Apache Zeppelin 用于 MDS 的數(shù)據(jù)分析。
Apache Zeppelin 是一個開源的多用途筆記本(notebook),它可以幫助用戶以圖形或圖表的形式來表示和分析你的數(shù)據(jù),從而幫助組織快速做出決定。
我們將詳細(xì)探討每個項目…
總的來說,我的想法是向你展示快速的演示,你如何輕松地通過 Zeppelin 連接 MDS。
Zepplein 可以安裝在任何地方(任何公共/私有云,企業(yè)內(nèi)部)。
什么是 MDS 和 HeatWave?
Oracle MySQL 數(shù)據(jù)庫服務(wù)(MDS)是一種完全可管理的數(shù)據(jù)庫服務(wù),可讓開發(fā)人員使用世界上最流行的開源數(shù)據(jù)庫快速開發(fā)和部署安全的云原生應(yīng)用程序。
MySQL 數(shù)據(jù)庫服務(wù)是唯一具有集成的高性能內(nèi)存查詢加速器–Heatwave 的 MySQL 云服務(wù)。它使客戶能夠直接針對其運行中的 MySQL 數(shù)據(jù)庫運行復(fù)雜的分析,消除了對復(fù)雜、耗時和昂貴的數(shù)據(jù)移動以及與單獨的分析數(shù)據(jù)庫整合的需要。
MySQL 數(shù)據(jù)庫服務(wù)是由 OCI 和 MySQL 工程團(tuán)隊 100%建立、管理和支持的。
更多信息:- https://www.oracle.com/mysql/
HeatWave:- https://www.oracle.com/mysql/heatwave
MDS 的商業(yè)利益:-
https://mysqlsolutionsarchitect.blogspot.com/2022/02/understanding-mysql-database-servicemds.html
什么是 Zeppelin?
Zeppelin 是基于網(wǎng)絡(luò)的筆記本,它可以用 SQL、Scala、Python、R 等語言實現(xiàn)數(shù)據(jù)驅(qū)動、交互式數(shù)據(jù)分析和協(xié)作式文檔。
像數(shù)據(jù)攝取、數(shù)據(jù)瀏覽、數(shù)據(jù)可視化和數(shù)據(jù)分析都可以在 zeppelin 筆記本中完成。
Apache Zeppelin 的特點
- 數(shù)據(jù)攝取-
- 數(shù)據(jù)發(fā)現(xiàn)-
- 數(shù)據(jù)分析-
- 數(shù)據(jù)可視化和協(xié)作
更多信息:- https://zeppelin.apache.org/
網(wǎng)絡(luò)考慮
確保在你的環(huán)境中,zeppelin 8080 的端口是白名單。
如果您使用的是 Oracle 云基礎(chǔ)設(shè)施(OCI),那么請確保入口規(guī)則被配置為安裝 Zeppelin 的計算實例被加入白名單,同時計算實例能夠與 MDS 實例進(jìn)行 ping。
要訪問 Zeppelin,一定要用有解釋器?(**Interpreter)**訪問權(quán)限的適當(dāng)用戶,否則任何用戶都可以訪問你的 Zeppelin。
有時,匿名用戶通過輸入 Zeppelin 的公共 IP 地址進(jìn)入 Zeppelin 的門戶,但如果你的解釋器被限制在特定的用戶,那么你的工作空間就會更安全。
因此,在 Apache Zeppelin 中擁有數(shù)據(jù)源授權(quán)是很重要的。
https://zeppelin.apache.org/docs/0.10.0/setup/security/datasource_authorization.html

注:我無法深入了解安全方面的細(xì)節(jié),我的主要重點是你在哪里,你如何訪問 Zeppelin,如何獲得與 MDS 和 HeatWave 的無縫體驗,并進(jìn)行出色的可視化和數(shù)據(jù)分析。
安裝 Zeppelin
在這篇博客中,Zeppelin 的安裝將在 Oracle 云基礎(chǔ)設(shè)施( https://www.oracle.com/in/cloud/ )上進(jìn)行。
使用以下軟硬件配置

步驟 1 #安裝 JDK
sudo yum install java-11-openjdk-devel
第 2 步:-使用以下命令下載 Zeppelin
wget https://dlcdn.apache.org/zeppelin/zeppelin-0.10.0/zeppelin-0.10.0-bin-all.tgz
第 3 步 :- 創(chuàng)建用戶并給予權(quán)限
sudo adduser -d /home/opc/zeppelin -s /sbin/nologin zeppelin
sudo chown -R zeppelin: zeppelin /home/opc/zeppelin
第 4 步:- 將 zeppelin 站點模板重命名為 zeppelin 站點
cd /home/opc/zeppelin/conf
sudo cp zeppelin-site.xml.template zeppelin-site.xml
sudo cp zeppelin-site.xml.template zeppelin-site.xml
步驟 5 :- #啟動 Zeppelin
連接 Zeppelin
http://<計算實例的 IP 地址/本地 IP>::8080/#/

通過 Zeppelin 連接 MDS 和 Heatwave
下載 MySQL Connector/J
https://dev.mysql.com/downloads/connector/j/
rpm -ivh mysql-connector-java-8.0.28-1.el7.noarch.rpm
warning: mysql-connector-java-8.0.28-1.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
**error**: Failed dependencies:
??????? java-headless >= 1:1.8.0 is needed by mysql-connector-java-1:8.0.28-1.el7.noarch
\[
用此命令修復(fù)以上錯誤:-
yum -y install java-headless
創(chuàng)建一個 MySQL 解釋器(interpreter)
#在 zeppelin 的 interpreter 文件夾下創(chuàng)建名為 mds 的目錄
# mkdir mds
#將 "mysql-connector-java.jar "文件移到 MDS 文件夾中
#cp /usr/share/java/mysql-connector-java.jar /home/opc/zeppelin/interpreter/mds/
導(dǎo)航到解釋器(interpreter)
http://<計算實例的 IP 地址/本地 IP>:8080/#/interpreter
搜索 MDS interpreter 并填寫以下信息

## 最后,一旦修改完成,它看起來就像下面這樣

從 MDS 和 Heatwave 獲取數(shù)據(jù)
請確保 MDS 和 Heatwave 已經(jīng)啟動并運行。

通過 Zeppelin 創(chuàng)建一個筆記本(notebook)并通過HeatWave訪問MDS



棒極了! Zeppelin 已連接 MDS
讓我們通過 Zeppelin 進(jìn)行數(shù)據(jù)分析
在這個演示中,假設(shè) MDS 與 Heatwave 已經(jīng)啟動并運行,并且數(shù)據(jù)已經(jīng)加載到 HeatWave 中。
如果你想關(guān)注快速啟動演示,以及如何將數(shù)據(jù)加載到 HeatWave,請點擊以下鏈接。
演示中使用的模式是 “AirportDB”,數(shù)據(jù)庫大小為 50GB。
首次將數(shù)據(jù)加載到 HeatWave 的命令:-
運行 Auto Parallel Load 將 airportdb 數(shù)據(jù)加載到 HeatWave 中:
CALL sys.heatwave\_load(JSON\_ARRAY('airportdb'), NULL);

##運行以下 SQL 語句來生成報告
use airportdb;
SELECT?airline.airlinename, SUM(booking.price) as price\_tickets, count(\*) as nb\_tickets
FROM?booking, flight, airline, airport\_geo
WHERE?booking.flight\_id=flight.flight\_id AND
airline.airline\_id=flight.airline\_id AND
flight.from=airport\_geo.airport\_id AND
airport\_geo.country = "UNITED STATES"
GROUP BY
airline.airlinename
ORDER BY
nb\_tickets desc, airline.airlinename limit 10;


關(guān)于 Heatwave 的更多信息:- https://www.oracle.com/mysql/heatwave/
總結(jié)
Apache Zeppelin 是一種工具,它使數(shù)據(jù)科學(xué)家的生活變得順利,他們可以在一個地方做他們需要的一切。像數(shù)據(jù)攝取、數(shù)據(jù)瀏覽、數(shù)據(jù)可視化和數(shù)據(jù)分析都可以在 zeppelin 筆記本中完成,而 MDS HeatWave 是 Oracle MySQL 數(shù)據(jù)庫服務(wù)的大規(guī)模并行、高性能、內(nèi)存查詢的加速器,可以依據(jù)分析和混合工作負(fù)載的重要性加速 MySQL 的性能,成本卻低于專家分析產(chǎn)品,如 Amazon Redshift、Aurora、Snowflake、Azure Synpase、google Big Query 等。




