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
260
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
ある日突然 DB の性能が 1/2(サイズのインスタンス相当)になった話
hmatsu47
PRO
0
21
pgvectorscale と pgai の話(ざっくり)
hmatsu47
PRO
0
17
pgvector 0.7.0 の新機能と、これから来る(かもしれない)pgvectorscale
hmatsu47
PRO
0
14
大人の社会科見学 ~ NTT 技術史料館に行ってみよう!
hmatsu47
PRO
0
360
pgvector 0.6.0 以降の進化についてざっくり取り上げてみる
hmatsu47
PRO
0
36
Cloudflare Workes からMySQL 系 DB への接続事情(2024/4 現在)
hmatsu47
PRO
0
82
BuriKaigi2024 にボランティアスタッフとして参加した話
hmatsu47
PRO
0
68
Aurora MySQL と Redshift の zero-ETL 統合のフィルター機能を試してみた
hmatsu47
PRO
0
120
Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた
hmatsu47
PRO
0
86
Other Decks in Technology
See All in Technology
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.5k
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
220
Optuna: a Black-Box Optimization Framework
pfn
PRO
1
110
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
38
13k
PdMはどのように全てのスピードを上げられるか ~ 非連続進化のための具体的な取り組み ~
sansantech
PRO
1
160
疎通2024
sadnessojisan
5
1k
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
210
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
120
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
5
910
Evolving DevOps Teams and Flexible Organizational Culture
kakehashi
1
260
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
720
Featured
See All Featured
Designing for Performance
lara
604
68k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
A better future with KSS
kneath
235
17k
Unsuck your backbone
ammeep
667
57k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
We Have a Design System, Now What?
morganepeng
48
7.1k
How to Ace a Technical Interview
jacobian
275
23k
RailsConf 2023
tenderlove
27
800
Practical Orchestrator
shlominoach
185
10k
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