Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ToAurora.pdf
Search
hmatsu47
PRO
December 01, 2018
Technology
0
88
ToAurora.pdf
第25回 中国地方DB勉強会 in 鳥取(倉吉)LT
hmatsu47
PRO
December 01, 2018
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
今年の DB ネタ登壇振り返り
hmatsu47
PRO
0
6
RDS/Aurora アップデート 2025
hmatsu47
PRO
0
9
YAPC::Fukuoka 2025 現地ハイブリッド参加の旅
hmatsu47
PRO
0
5
今年の FESTA で初当日スタッフ+登壇してきました
hmatsu47
PRO
0
11
攻略!Aurora DSQL の OCC(楽観的同時実行制御)
hmatsu47
PRO
0
7
PostgreSQL でもできる!GraphRAG
hmatsu47
PRO
0
8
Aurora DSQL のトランザクション(スナップショット分離と OCC)
hmatsu47
PRO
0
14
いろんなところに居る Amazon Q(Developer)を使い分けてみた
hmatsu47
PRO
0
33
「ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御)」の結果ログから Aurora DSQL の動作を考察する
hmatsu47
PRO
0
10
Other Decks in Technology
See All in Technology
初めてのDatabricks AI/BI Genie
taka_aki
0
200
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
310
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
250
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
400
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
12
5.7k
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
12
10k
RAG/Agent開発のアップデートまとめ
taka0709
0
180
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
220
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
190
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
210
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Practical Orchestrator
shlominoach
190
11k
The Invisible Side of Design
smashingmag
302
51k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Docker and Python
trallard
47
3.7k
Transcript
オンプレ MySQL から Aurora への移⾏ (要約版) @hmatsu47(まつひさ)
はじめに ⾃⼰紹介はありません 話す内容=個⼈の⾒解です 基本的に作業時点で確認した情報です(2017/6 〜 9) 詳細は Qiita にまとめています https://qiita.com/hmatsu47
https://hmatsu47.hatenablog.com/aurora
今⽇話す内容 移⾏前後の環境 データ移⾏ 性能問題 その他の制約(Failover 処理/バグ/未サポート機能)
移⾏前の環境 よくある 1 ラックの構成 VMware vSphere MySQL 5.5 × 2(メインは
1 台) データは 1TiB 未満(DB/ファイル) Webサーバ数台(Java 8/Tomcat 8)
移⾏後の環境 Web サーバは EC2 へ(東京 AZ-a と AZ-c に分散配置) Aurora
は db.r3.2xlarge がメイン(途中で db.r4 へ) ファイルは S3 へ
データ移⾏ DMS は使わず MySQL Replication で複製 お⾏儀の悪いデータ(0000-00-00 00:00:00)の存在 キャラクタセット︓UTF8MB4 ⾮サポート
タイムゾーン不⼀致問題(オンプレ側設定もれ) 「SYSTEM」が指す時刻︓JST(オンプレ)/UTC(Aurora) 対応策︓オンプレ側で明⽰的に JST(Asia/Tokyo) を設定 バグも踏む(後述)
性能問題 Connection Pooling の性能問題が発⽣ ピーク時クエリ数を捌けない AZ 内のネットワークレイテンシの影響 オンプレ⽐ 1.5 〜
2 倍のレイテンシ(移⾏当時) その後幾分改善(AWS の性能向上) AZ 間のネットワークレイテンシの影響 ms オーダーなので、DB データ書き込み時に必要な数の ACK が返るまでの時間がどうしても⻑くなる 改善策 1︓Java GC 時間の調整 改善策 2︓Connection Pooling ⼊れ替え︓DBCP2 → HikariCP ほかにバッチ処理の実⾏時間の延⻑問題も
その他の制約/Failover 処理 Aurora Failover で Writer 向けの Connection が Reader
に接続 してしまう 通常は MariaDB Connector/J で Failover 対応する MySQL Connector/J と挙動が違うので断念 Connecion Validation ⽤のストアドを作成して対応 Reader に接続したらエラー→ Connection Pooling 側で再 接続するように
その他の制約/バグと未サポート機能 バグ︓MySQL 5.6.10/MySQL 5.7.12 より後に Fix されたバグ のうち AWS が対処せず残したもの
例︓レプリケーションフィルタが使⽤されていると LAST_INSERT_ID が不正にレプリケートされる (バグ #69861) バージョン 1.17 で Fix (2018/3/13) 未サポート機能︓MySQL 5.6.10/MySQL 5.7.12 より後に実装 された機能の⼤半 例 1︓RANDOM_BYTES()/MySQL 5.6.17 でサポート 例 2︓MySQL 8.0 で実装された JSON 関数のバックポート /MySQL 5.7.22 でサポート
まとめ Aurora 固有の問題というより AWS 環境(複数 AZ による冗⻑ 化)にフィットさせるのに苦労した(レイテンシ問題) Aurora 固有の問題は、MySQL
で Fix or 追加実装された機能の 取り込みが追い付いていない点への対処がメインだった 「MySQL 5.x 互換」といってもベースのバージョンが 5.6.10 / 5.7.12 であることに注意(これ重要︕)
ありがとうございました