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
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
Search
Yuta Kikai
April 12, 2024
Technology
1
290
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
Aurora MySQL v3でオンラインDDLを実行すると、
実行完了までリーダーインスタンスから実行したテーブルの存在が見えなくなる挙動について、
全v3バージョンで再現検証しました。
Yuta Kikai
April 12, 2024
Tweet
Share
More Decks by Yuta Kikai
See All by Yuta Kikai
SRG Study #4 そろそろMySQL8.0を考えませんか
yutakikai
0
480
Other Decks in Technology
See All in Technology
スレットハンティングについて知っておきたいこと
hacket
0
130
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
AOAI Dev Day - Opening Session
yoshidashingo
2
440
Matterport を使ってクラスメソッド各拠点のバーチャルオフィスツアーを作成してみた
wakatsuki
0
160
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Into the Great Unknown - MozCon
thekraken
20
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Designing for humans not robots
tammielis
247
25k
Leading Effective Engineering Teams 2024
addyosmani
3
300
Why Our Code Smells
bkeepers
PRO
332
56k
Code Reviewing Like a Champion
maltzj
517
39k
How to Think Like a Performance Engineer
csswizardry
4
590
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Git: the NoSQL Database
bkeepers
PRO
423
64k
Designing with Data
zakiwarfel
96
5k
Transcript
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
@FAT47 • 最近はAurora MySQL v2からのアップグレード対応やっています • イベントでMySQLの泥臭い対応の話をしました • サウナ好き
Aurora MySQL v3のオンラインDDL罠挙動
Aurora MySQL v3のオンラインDDLの罠挙動 Aurora MySQL Version3の特定バージョンで、 ALTER TABLEなどINPLACEアルゴリズムのDDLを ライターインスタンスで実行をすると、 実行が完了するまでリーダーインスタンスから該当テーブルが見えなくなる挙動
ブログ: Amazon Aurora MySQL Version3でのOnline DDLの落とし穴とその回避方法
本番環境で発生しユーザー影響が出た 当時利用バージョン: • Aurora MySQL v3.04.0 実行したオペレーション: • セカンダリインデックスの追加操作
オンラインDDLでINPLACEになるもの一例 インデックス操作: • セカンダリインデックスの追加 カラム操作: • カラム名変更 テーブルの操作: • OPTIMIZE
TABLE MySQL公式ドキュメント: 15.12.1 オンライン DDL 操作
Aurora MySQL v3のリリースノートを見てみると 2023年08月29日 v3.03.2(MySQL8.0.26互換) 2023年10月25日 v3.05.0(MySQL8.0.32互換) 2024年03月15日 v3.04.2(MySQL8.0.28互換)
現在利用できるAurora MySQL v3 全バージョンで再現検証
現在利用できるAurora MySQL v3全バージョンで再現検証 Aurora MySQLバージョン MySQL互換バージョン リリース日 オンラインDDL罠挙動 3.01.0 MySQL8.0.23互換
2021-11-18 Yes 3.01.1 MySQL8.0.23互換 2022-04-15 Yes 3.02.0 MySQL8.0.23互換 2022-04-20 Yes 3.02.1 MySQL8.0.23互換 2022-09-07 Yes 3.02.2 MySQL8.0.23互換 2022-11-18 Yes 3.02.3 MySQL8.0.23互換 2023-04-17 Yes 3.03.0 MySQL8.0.26互換 2023-03-01 Yes 3.03.1 MySQL8.0.26互換 2023-05-11 Yes 3.03.2 MySQL8.0.26互換 2023-08-29 No 3.03.3 MySQL8.0.26互換 2023-12-08 No 3.04.0 MySQL8.0.28互換 2023-07-31 Yes 3.04.1 MySQL8.0.28互換 2023-11-13 Yes 3.04.2 MySQL8.0.28互換 2024-03-15 No 3.05.2 MySQL8.0.32互換 2024-01-31 No 3.06.0 MySQL8.0.34互換 2024-03-07 No
オンラインDDL挙動解消までのリリースのタイムライン 2021-11-18 v3.01.0(MySQL8.0.23) v3がリリース 2023-07-31 v3.04.0(MySQL8.0.28) v3初のLTSがリリース 2023-08-29 v3.03.2(MySQL8.0.26) オンラインDDL挙動解消
2023-10-25 v3.05.0(MySQL8.0.32) オンラインDDL挙動解消 2024-03-15 v3.04.2 LTSでオンラインDDL挙動解消 オンラインDDL影響あり 影響なし
オンラインDDL挙動解消までのリリースのタイムライン 2021-11-18 v3.01.0(MySQL8.0.23) v3がリリース 2023-07-31 v3.04.0(MySQL8.0.28) v3初のLTSがリリース 2023-08-29 v3.03.2(MySQL8.0.26) オンラインDDL挙動解消
2023-10-25 v3.05.0(MySQL8.0.32) オンラインDDL挙動解消 2024-03-15 v3.04.2 LTSでオンラインDDL挙動解消 オンラインDDL影響あり 影響なし v3リリースから最初の解消まで 1年9ヶ月 v3リリースからLTSでの解消まで 2年3ヶ月
まとめ • Aurora MySQL v3リリース日から約2年間オンラインDDL罠挙動があった • v3.05以降では解消済み • LTSバージョンであるv3.04.2でも解消してくれて嬉しい