Share
Embed
HeatWave をオンプレの MySQL と同じように使おうとしてみた!
2025/04/17
HeatWavejp Meetup #13 HeatWave の 〇〇 やってみた!LT大会!!
https://heatwavejp.connpass.com/event/349599/
yoku0825
April 17, 2025
Transcript
20 slides
-
\こんばんわ/ yoku0825@とある企業のDBAだったもの オラクれない ‐ ポスグれない ‐ マイエスキューエる ‐ 生息域 Twitterだったもの:
@yoku0825 ‐ Blog: 日々の覚書 ‐ 日本MySQLユーザ会副代表 ‐ MySQL Casual ‐ 1/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 2/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 3/19 -
2台で高可用構成を組みたい Active / Standby 型の高可用構成 Standbyにトラフィックを流しちゃうとどっちが転けても影響が出るのでStandbyは何もしない ‐ GroupReplication3台と比べるとコストが3割減る というかGroupReplication3台にするとコストが1.5倍になる ‐
台数が気にならないならGroupReplicationでいいはず ‐ HeatWave MySQLの「読み取りレプリカの作成」ではこれはできない それぞれ別個のHeatWave MySQLインスタンスを作って「チャネルの作成」でつなげて、DNS管理でCNAME をかぶせて切り替える? ‐ そんなことするなら単にComputeの上にフルスクラッチで作った方がマシ ‐ 4/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 5/19 -
レプリケーション遅延のないALTER TABLEを実現するツールが使いたい pt-osc 使えた ‐ gh-ost おま環かもしれないけど成功していない… ‐ Rolling Schema
Upgrade SET SESSION sql_log_bin = 0 を駆使してレプリカから ALTER TABLE を流しちゃうアレ ‐ 使えない ‐ Rolling Schema Upgradeの変形 レプリカに先に適用してからフェイルオーバー(特に2台構成だと楽) ‐ 使えない ‐ 6/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 7/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 9/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 11/19 -
Change Data Capturingにも使えるようにしたい バイナリログを吸い上げたりするやつ Debeziumとかtroccoとか ‐ できるにはできるんだけど読み取りレプリカが log_replica_updates=OFF なので必ずソースか ら取らないといけない
バイナリログ吸うだけならそれでもいいかも知れないけど全件同期からやり直したい時にもソースから吸う… ‐ 12/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 13/19 -
ディスク使用量の分析をしたい yoku0825的「MySQLが壊れました」4年連続第1位受賞(個人調べ) アラートになったとしても、バイナリログが膨らんでいるのかibdファイルが膨らんでいるのか 稀にibtファイルが膨らんでいたりすることも ‐ ibd/ibtファイルに関しては information_schema.INNODB_TABLESPACES である程度 想像がつくけれど バイナリログのホットスポットになっているテーブルがどこか
( transaction_length が大きいトラン ザクションはどれか)とかを調べにくいので「じゃあどうすれば容量に効くの?」が調べにくい 設定によって自動拡張できるのが救い Always Freeだとオフラインでも拡張できなくて二度と更新できないHeatWave MySQLができあがった() ‐ 14/19 -
オンプレの MySQL と同じように #とは 2台で高可用構成を組みたい レプリケーション遅延のないALTER TABLEを実現するツールが使いたい Point-In-Time-Recoveryがしたい GroupReplicationのSECONDARYを読み取り用に活用したい Change
Data Capturingにも使えるようにしたい ディスク使用量の分析をしたい クラッシュさせたりして遊びたい 15/19