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
ToAurora.pdf
Search
hmatsu47
PRO
December 01, 2018
Technology
0
72
ToAurora.pdf
第25回 中国地方DB勉強会 in 鳥取(倉吉)LT
hmatsu47
PRO
December 01, 2018
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
BuriKaigi2024 にボランティアスタッフとして参加した話
hmatsu47
PRO
0
49
Aurora MySQL と Redshift の zero-ETL 統合のフィルター機能を試してみた
hmatsu47
PRO
0
19
Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた
hmatsu47
PRO
0
32
RDS Data API と Aurora zero-ETL 統合と BuriKaigi2024 の話
hmatsu47
PRO
0
15
RDS Data API のその後と Aurora zero-ETL 統合のデータ転送処理の話
hmatsu47
PRO
0
41
RDS_Aurora 関連アップデート 2023 版
hmatsu47
PRO
0
69
人工無能たいたん
hmatsu47
PRO
0
61
20 世紀末の地方税理士事務所で IT 導入の 1 → 10 を頑張った話
hmatsu47
PRO
0
37
パソコン通信むかしばなし
hmatsu47
PRO
0
200
Other Decks in Technology
See All in Technology
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
260
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
LLM開発・活用の舞台裏@2024.04.25
yushin_n
1
360
Janus
bkuhlmann
1
490
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
230
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
データベース02: データベースの概念
trycycle
0
160
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
310
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
250
Featured
See All Featured
Bash Introduction
62gerente
604
210k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Thoughts on Productivity
jonyablonski
58
3.8k
Testing 201, or: Great Expectations
jmmastey
28
6.4k
RailsConf 2023
tenderlove
4
540
Designing for humans not robots
tammielis
248
25k
It's Worth the Effort
3n
180
27k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Writing Fast Ruby
sferik
621
60k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
What's in a price? How to price your products and services
michaelherold
237
11k
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 であることに注意(これ重要︕)
ありがとうございました