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 と Aurora _ Redshift zero-...
Search
hmatsu47
PRO
September 16, 2023
Technology
1
100
MySQL HeatWave on AWS と Aurora _ Redshift zero-ETL 統合(プレビュー)を比べてみる
四国クラウドお遍路 2023 - 四国の外のモノサシを知ってみよう- 2023/9/16
hmatsu47
PRO
September 16, 2023
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
Claude 3.5 で Haiku
hmatsu47
PRO
0
14
HeatWave on AWS の PrivateLink インバウンドレプリケーションで Aurora フェイルオーバーに追従する
hmatsu47
PRO
0
13
大吉祥寺.pm の LT で ChatGPT の力を借りて Next.js App Router ベースの投句箱を作って、 Lambda Web Adapter を使って公開した話
hmatsu47
PRO
0
17
ある日突然 DB の性能が 1/2(サイズのインスタンス相当)になった話
hmatsu47
PRO
0
38
pgvectorscale と pgai の話(ざっくり)
hmatsu47
PRO
0
61
pgvector 0.7.0 の新機能と、これから来る(かもしれない)pgvectorscale
hmatsu47
PRO
0
57
大人の社会科見学 ~ NTT 技術史料館に行ってみよう!
hmatsu47
PRO
0
450
pgvector 0.6.0 以降の進化についてざっくり取り上げてみる
hmatsu47
PRO
0
81
Cloudflare Workes からMySQL 系 DB への接続事情(2024/4 現在)
hmatsu47
PRO
0
160
Other Decks in Technology
See All in Technology
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
C++26 エラー性動作
faithandbrave
2
730
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
480
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
740
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
410
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Mobile First: as difficult as doing things right
swwweet
222
9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Producing Creativity
orderedlist
PRO
341
39k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Transcript
MySQL HeatWave on AWS と Aurora / Redshift zero-ETL 統合
(プレビュー)を比べてみる 四国クラウドお遍路 2023 - 四国の外のモノサシを知ってみよう- 2023/9/16 まつひさ(hmatsu47)
自己紹介 松久裕保(@hmatsu47) • https://qiita.com/hmatsu47 • 現在のステータス: ◦ 名古屋で Web インフラのお守り係をしています
▪ 2017 年秋に AWS 上へ引っ越し完了 ◦ 現在は自社サービスのセキュリティ強化中 ◦ そしてなぜかフロントエンド刷新に取り組み中 ◦ ついでに MySQL HeatWave をのんびり検証中 2
本日お話しする内容 • MySQL HeatWave on AWS とは? ◦ MySQL HeatWave:分析・集計クエリを高速化
◦ AWS 上のリソースを使って MySQL HeatWave を提供 • Aurora / Redshift zero-ETL 統合(プレビュー)とは? ◦ ETL の構築・設定を簡素化 ◦ ほぼリアルタイムでデータの流し込み(複製)を可能に • 比べてみた 3
本日お話しする内容 • MySQL HeatWave on AWS とは? ◦ MySQL HeatWave:分析・集計クエリを高速化
◦ AWS 上のリソースを使って MySQL HeatWave を提供 • Aurora / Redshift zero-ETL 統合(プレビュー)とは? ◦ ETL の構築・設定を簡素化 ◦ ほぼリアルタイムでデータの流し込み(複製)を可能に • 比べてみた 4 AWS の(半分だけ)外のモノサシ?
本日お話ししない内容(5 分の LT なので…) • 具体的な設定方法 ◦ 各ページのリンク先記事にて説明 • それぞれの性能比較
◦ HeatWave と Redshift の性能比較はこちらの資料を参照 ▪ https://speakerdeck.com/heatwavejp/redshift-tonoxing-neng-bi-jiao-cun-tian-tai-shi-suma tosutairu • 価格/コスパ比較 5
MySQL HeatWave(on AWS も同じ) • 分析クエリも得意な MySQL のマネージドサービス https://dev.mysql.com/doc/heatwave/en/mys-hw-architecture.html より引用
6 【処理の流れ】 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 では機械学習で一部のテーブル列をカラム型へ振り分け ▪ 自動振り分けを無効化して手動指定も可能 7
HeatWave Cluster • 列指向型のインメモリ・分散データベース ◦ 列指向データベース:集計処理に強い • Google Cloud の
AlloyDB(PostgreSQL 互換)でも似た アプローチを採用している ◦ HeatWave はユーザーが指定したテーブル(列)すべてが対象 ◦ AlloyDB では機械学習で一部のテーブル列をカラム型へ振り分け ▪ 自動振り分けを無効化して手動指定も可能 8 TiDB(MySQL 5.7 互換 NewSQL)は HTAP(OLTP + OLAP)をウリに
MySQL HeatWave on AWS を試してみた • Qiita に 4 つ(+
1 つ)の記事を投稿 ◦ https://qiita.com/hmatsu47/items/8f202eef64ea57e7d948 ◦ https://qiita.com/hmatsu47/items/0979f877ad596cf3cf67 ◦ https://qiita.com/hmatsu47/items/4c61ce90adcdbbea74e9 ◦ https://qiita.com/hmatsu47/items/230d345e481701a5d735 ◦ https://qiita.com/hmatsu47/items/34f4ab2047b95f767f18 (RDS から DMS レプリケーション) • チュートリアル用に提供されている TPC-H 用データでは ◦ 最小サイズのシェイプで 17 倍以上高速化(MySQL DB 比) 9
Aurora / Redshift zero-ETL 統合(プレビュー) • ETL の構築・設定を簡素化・ニアリアルタイム連携 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/zero-etl.html より引用
10 • 複数 RDB から 1 つの DWH へ
Aurora / Redshift zero-ETL 統合を試してみた • Zenn に記事を投稿 ◦ https://zenn.dev/hmatsu47/articles/aurora-rs-zeroetl-preview
• 現状(プレビュー)は ◦ 記事にあるようにまだ少し面倒かつ設定手順が不安定 ◦ 簡素化の代償として細かい設定ができない ◦ ただしまだプレビューなのでいずれも改善される可能性がある 11
比べてみた 【注】いずれも 2023/9/10 時点の内容 • MySQL HeatWave on AWS の強み
◦ MySQL の SQL 文法がそのまま使える(自動振り分け可能) ◦ テーブル単位・列単位の除外が可能 • MySQL HeatWave on AWS の弱み ◦ AWS とは別に Oracle Cloud(OCI)の契約が必要 ◦ RDS / Aurora 連携が弱い(binlog インバウンドレプリケーション不可) 12
比べてみた 【注】いずれも 2023/9/10 時点の内容 • MySQL HeatWave on AWS の強み
◦ MySQL の SQL 文法がそのまま使える(自動振り分け可能) ◦ テーブル単位・列単位の除外が可能 • MySQL HeatWave on AWS の弱み ◦ AWS とは別に Oracle Cloud(OCI)の契約が必要 ◦ RDS / Aurora 連携が弱い(binlog インバウンドレプリケーション不可) 13 前掲 URL の記事(RDS for MySQL から HeatWave on AWS へ DMS レプリケーション) で binlog レプリケーションの代わりに DMS レプリケーションを試してみた • https://qiita.com/hmatsu47/items/34f4ab2047b95f767f18
比べてみた 【注】いずれも 2023/9/10 時点の内容 • Aurora / Redshift zero-ETL 統合の強み
◦ AWS 内で全て完結する ▪ 別契約不要 • Aurora / Redshift zero-ETL 統合の弱み ◦ 細かい設定の調整が(現状では)できない ▪ BLOB 列のみの連携除外など 14
まとめ • MySQL HeatWave on AWS ◦ MySQL DB に
HeatWave Cluster を追加して分析クエリを高速化 ▪ OLTP / OLAP をまとめて処理(自動振り分け)→ ETL 不要 ◦ 別途 OCI の契約が必要で RDS / Aurora との連携に課題がある • Aurora / Redshift zero-ETL 統合(プレビュー) ◦ ETL の構築・設定を簡素化・ニアリアルタイム連携が可能 ◦ 細かい設定の調整が(現状では)できない点に課題がある 15