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
さいきんの MySQL との付き合い方 〜 MySQL 8.0 より後の世界へようこそ 〜
hmatsu47
PRO
0
11
ベクトルストア入門
hmatsu47
PRO
0
10
Aurora DSQL について
hmatsu47
PRO
0
8
DynamoDB Global Tables MRSC・pgvector 0.8.0・caching_sha2_password 関連アップデート
hmatsu47
PRO
0
9
10 年(+1 年)の振り返りと 2025 年の活動予定
hmatsu47
PRO
0
23
RDS/Aurora アップデート(2024 年版)
hmatsu47
PRO
0
27
Aurora DSQL と楽観的同時実行制御(OCC)
hmatsu47
PRO
0
42
Claude 3.5 で Haiku
hmatsu47
PRO
0
25
HeatWave on AWS の PrivateLink インバウンドレプリケーションで Aurora フェイルオーバーに追従する
hmatsu47
PRO
0
22
Other Decks in Technology
See All in Technology
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
430
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
230
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
1
340
Active Directory攻防
cryptopeg
PRO
8
5.4k
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
350
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
内製化を加速させるlaC活用術
nrinetcom
PRO
2
140
偏光画像処理ライブラリを作った話
elerac
1
170
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
160
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
130
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
270
OPENLOGI Company Profile
hr01
0
60k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
BBQ
matthewcrist
87
9.5k
The Cult of Friendly URLs
andyhume
78
6.2k
Become a Pro
speakerdeck
PRO
26
5.2k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Designing for humans not robots
tammielis
250
25k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Side Projects
sachag
452
42k
Building Adaptive Systems
keathley
40
2.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
A designer walks into a library…
pauljervisheath
205
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