Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MySQL HeatWave on AWS を試してみる
Search
hmatsu47
PRO
August 15, 2023
Technology
0
290
MySQL HeatWave on AWS を試してみる
color is 【クラウド LT 大会 vol.4】フリーテーマ! 2023/8/15
hmatsu47
PRO
August 15, 2023
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
CloudWatch Database Insights 関連アップデート
hmatsu47
PRO
0
4
さいきんの MySQL との付き合い方 〜 MySQL 8.0 より後の世界へようこそ 〜
hmatsu47
PRO
0
12
ベクトルストア入門
hmatsu47
PRO
0
12
Aurora DSQL について
hmatsu47
PRO
0
9
DynamoDB Global Tables MRSC・pgvector 0.8.0・caching_sha2_password 関連アップデート
hmatsu47
PRO
0
10
10 年(+1 年)の振り返りと 2025 年の活動予定
hmatsu47
PRO
0
24
RDS/Aurora アップデート(2024 年版)
hmatsu47
PRO
0
31
Aurora DSQL と楽観的同時実行制御(OCC)
hmatsu47
PRO
0
43
Claude 3.5 で Haiku
hmatsu47
PRO
0
26
Other Decks in Technology
See All in Technology
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
110
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
340
開発者体験を定量的に把握する手法と活用事例
ham0215
0
130
アジリティを高めるテストマネジメント #QiitaQualityForward
makky_tyuyan
1
270
【Snowflake九州ユーザー会#2】BigQueryとSnowflakeを比較してそれぞれの良し悪しを掴む / BigQuery vs Snowflake: Pros & Cons
civitaspo
2
380
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
110
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
110
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
210
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
2
110
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
280
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Designing for humans not robots
tammielis
250
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
530
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
380
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
YesSQL, Process and Tooling at Scale
rocio
172
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
The Language of Interfaces
destraynor
156
24k
Transcript
MySQL HeatWave on AWS を試してみる color is 【クラウド LT 大会
vol.4】 2023/8/15 まつひさ(hmatsu47)
自己紹介 松久裕保(@hmatsu47) • https://qiita.com/hmatsu47 • 現在のステータス: ◦ 名古屋で Web インフラのお守り係をしています
▪ 2017 年秋に AWS 上へ引っ越し完了 ◦ 現在は自社サービスのセキュリティ強化中 ◦ ついでに MySQL HeatWave をのんびり検証中 • 今日は X の FF さんの申し込みを偶然見かけて LT 参加 2
本日お話しする内容 • Oracle Cloud (OCI) の MySQL HeatWave ◦ MySQL
が苦手な分析クエリを高速化 • MySQL HeatWave on AWS ◦ AWS 上のリソースを使って MySQL HeatWave を提供 ◦ 2023/5 に東京リージョンでの提供を開始 • MySQL HeatWave (on AWS) 使用上の注意 ◦ 構成上の制約や使える SQL 文の制限など 3
Oracle Cloud (OCI) の MySQL HeatWave • 分析クエリも得意な MySQL のマネージドサービス
https://dev.mysql.com/doc/heatwave/en/mys-hw-architecture.html より引用 4
Oracle Cloud (OCI) の MySQL HeatWave • 分析クエリも得意な MySQL のマネージドサービス
https://dev.mysql.com/doc/heatwave/en/mys-hw-architecture.html より引用 5 1. SQL 文を MySQL DB System が受け取る
Oracle Cloud (OCI) の MySQL HeatWave • 分析クエリも得意な MySQL のマネージドサービス
https://dev.mysql.com/doc/heatwave/en/mys-hw-architecture.html より引用 6 1. SQL 文を MySQL DB System が受け取る 2. 普通に処理したほうが高速か HeatWave 非対応の SQL 文は InnoDB で処理
Oracle Cloud (OCI) の MySQL HeatWave • 分析クエリも得意な MySQL のマネージドサービス
https://dev.mysql.com/doc/heatwave/en/mys-hw-architecture.html より引用 7 1. SQL 文を MySQL DB System が受け取る 2. 普通に処理したほうが高速か HeatWave 非対応の SQL 文は InnoDB で処理 3. HeatWave で処理したほうが良いと判断した SQL 文は HeatWave Plugin を経由して HeatWave Cluster に渡して並列処理
Oracle Cloud (OCI) の MySQL HeatWave • 分析クエリも得意な MySQL のマネージドサービス
https://dev.mysql.com/doc/heatwave/en/mys-hw-architecture.html より引用 8 1. SQL 文を MySQL DB System が受け取る 2. 普通に処理したほうが高速か HeatWave 非対応の SQL 文は InnoDB で処理 3. HeatWave で処理したほうが良いと判断した SQL 文は HeatWave Plugin を経由して HeatWave Cluster に渡して並列処理 4. MySQL DB System から Client に結果を返す
HeatWave Cluster • 列指向型のインメモリ・分散データベース ◦ 列指向データベース:集計処理に強い • Google Cloud の
AlloyDB(PostgreSQL 互換)でも似た アプローチを採用している ◦ HeatWave はユーザーが指定したテーブル(列)すべてが対象 ◦ AlloyDB では機械学習で一部のテーブル列をカラム型へ振り分け ▪ 自動振り分けを無効化して手動指定も可能 9
MySQL HeatWave on AWS • AWS 上のリソースを使って MySQL HeatWave を提供
◦ AWS からのアクセスは AWS のネットワーク内で完結 • 2023/4 にサービス開始 ◦ 東京リージョンでは 2023/5 開始 • 対応バージョン(2023/8/15 現在) ◦ 8.1 系:8.1.0 ◦ 8.0 系 : 8.0.33 までの 3 マイナーバージョン(8.0.34 未対応) 10
MySQL HeatWave on AWS を試してみた • Qiita に 4 つの記事を投稿
◦ https://qiita.com/hmatsu47/items/8f202eef64ea57e7d948 ◦ https://qiita.com/hmatsu47/items/0979f877ad596cf3cf67 ◦ https://qiita.com/hmatsu47/items/4c61ce90adcdbbea74e9 ◦ https://qiita.com/hmatsu47/items/230d345e481701a5d735 • チュートリアル用に提供されている TPC-H 用データでは ◦ 最小サイズのシェイプで 17 倍以上高速化 ◦ HeatWave Cluster のノードサイズを上げるとさらに高速化 11
MySQL HeatWave on AWS の注意点 【注】いずれも 2023/8/15 時点で • Oracle
Cloud (OCI) の契約が必要 ◦ AWS Marketplace 提供サービスではない • シェイプサイズや HeatWave Cluster を変更できない ◦ エクスポートしたデータかバックアップのリストアが必要 • HA 構成をサポートしていない 12
MySQL HeatWave on AWS の注意点 【注】いずれも 2023/8/15 時点で • PrivateLink
をサポートしていない ◦ パブリック IP アドレスでアクセスする必要がある • インバウンドレプリケーションをサポートしていない ◦ RDS / Aurora のレプリカ(スレーブ)としては使えない 13
MySQL HeatWave(on AWS 含む)の注意点 【注】いずれも 2023/8/15 時点で • HeatWave では使えない機能や
SQL 文がある ◦ ただいま調査・検証中 ▪ https://qiita.com/hmatsu47/items/5bf7b37f694e56f3dc82 ▪ https://qiita.com/hmatsu47/items/a9667762fb5ecdd66e75 ▪ https://qiita.com/hmatsu47/items/bae9e9c406416069c65b ◦ ほとんどは自動で InnoDB に振り分けられるので大丈夫だが… ▪ もしくは HeatWave へのデータロード時にエラーが出るか 14
MySQL HeatWave(on AWS 含む)の注意点 【注】いずれも 2023/8/15 時点で • HeatWave で制限がある機能のうち、以下は特に要注意
◦ 外部キーで CASCADE UPDATE / DELETE するテーブル ▪ 親テーブルの行更新・削除で HeatWave 側のデータが不整合に ◦ タイムゾーンを UTC 以外に設定 ▪ 初期のデータロードでは大丈夫だが、後から追加・更新されたデータが HeatWave 側で不整合に • エラーが出ずサイレントに不整合が生じる点が問題 15
まとめ • MySQL HeatWave (on AWS) とは ◦ MySQL が苦手な分析クエリを高速化するマネージドサービス
▪ OLTP / OLAP をまとめて処理(自動振り分け)→ ETL 不要 ◦ on AWS:AWS 上のリソースを使ってこの機能を提供 • MySQL HeatWave (on AWS) 使用上の注意 ◦ 構成上の制約や使える SQL 文の制限がある ▪ 特に、エラーが出ずサイレントにデータ不整合が生じるケースに注意 16