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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
hmatsu47
PRO
August 15, 2023
Technology
0
350
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
さいきんの光ファイバーの話
hmatsu47
PRO
0
23
低いほうのレイヤを見てみる話
hmatsu47
PRO
0
5
IPv6 VPC の実装パターンをいくつか
hmatsu47
PRO
0
24
光ファイバーと IPv6 絡みの話
hmatsu47
PRO
0
32
AWS で試して学ぶ IPv6
hmatsu47
PRO
0
29
今年の MySQL/HeatWave ネタ登壇振り返り
hmatsu47
PRO
0
28
今年の DB ネタ登壇振り返り
hmatsu47
PRO
0
22
RDS/Aurora アップデート 2025
hmatsu47
PRO
0
75
YAPC::Fukuoka 2025 現地ハイブリッド参加の旅
hmatsu47
PRO
0
16
Other Decks in Technology
See All in Technology
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
190
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
250
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
520
ナレッジワークのご紹介(第88回情報処理学会 )
kworkdev
PRO
0
190
事例に見るスマートファクトリーへの道筋〜工場データをAI Readyにする実践ステップ〜
hamadakoji
1
290
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.7k
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
200
[2026-03-07]あの日諦めたスクラムの答えを僕達はまだ探している。〜守ることと、諦めることと、それでも前に進むチームの話〜
tosite
0
190
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
190
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.8k
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
From π to Pie charts
rasagy
0
150
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
84
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The Curse of the Amulet
leimatthew05
1
9.9k
4 Signs Your Business is Dying
shpigford
187
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Between Models and Reality
mayunak
2
230
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
390
A better future with KSS
kneath
240
18k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
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