#reco_tech OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

17
© RecoChoku Co.,Ltd. Proprietary and Confidential 株株株株株株株株株 株株 株株 06/14/2022 Oracle 株株 Aurora 株 feat. 株株株株株株株株株株株株株株株株株

Transcript of #reco_tech OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

Page 1: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

株式会社レコチョク酒井 修平

05/03/2023

Oracle から Aurora へfeat. 開発しかやってこなかったエンジニア

Page 2: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Agenda

205/03/2023

クラブレコチョクという会員サービスをOracle から Aurora へ移行したお話

1. クラブレコチョクとは

2. Oracle から Aurora へ

3. 運用を始めました

4. Aurora の使いどころ

5. Aurora に期待するところ

6. まとめ

Page 3: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

クラブレコチョクとは

305/03/2023

• どんなサービスか?

– レコチョクが展開するサービスへ会員機能を提供する

• 自社サービス

• 協業サービス

– 主な機能

• 会員登録・ログイン• 会員の属性情報管理 (My アーティスト登録 )• セッション管理• 端末管理

Page 4: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

クラブレコチョクとは

• 有効会員数:約 1000 万ユーザー

• レコード数:約 2 億レコード

405/03/2023

今年で創業15 周年クマ~

Page 5: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

クラブレコチョクとは

505/03/2023

概要

会員システム

WEB

API

他システム

DWH

ここの話

Page 6: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Oracle から Aurora へ

• そもそもなんで Aurora に?

– 高い可用性を担保する必要がある

• 様々なサービスから参照

• 元々 Oracle RAC で運用

– 運用工数を抑えたい

• DB の運用を開発チームに移管 ( 元々は DB を管理するチームがいました )

Aurora は他の RDS と比べて可用性、運用面で優れていた ・ フェールオーバーが短い、ディスクの自動拡張・自動障害検知と復旧 etc..

605/03/2023

Page 7: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Oracle から Aurora へ

※   OracleRAC も検討しました

– EC2 上に OracleRAC をデプロイできるけど、運用コストがかかりそう

– サービス調整がしやすかった

705/03/2023

Page 8: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Oracle から Aurora へ

• どんな対応をした?

– Oracle と MySQL のエンジンの違いを埋めていく

• Oracle で使えていた関数や構文が MySQL では使えない– MERGE 構文、 DECODE 関数、 TO_CHAR 関数  etc..

• パフォーマンスチューニング– Index の追加、 SQL のチューニング

» 性能試験やスロークエリを見ながら性能が出ていない SQL を監視

– 検索用のテーブルを追加» CS で使うユーザ検索で後方一致検索が 10 分以上かかってしまった。。

805/03/2023

Page 9: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Oracle から Aurora へ

• どのように移行した?

– 1 ヶ月ぐらい前からデータ移行を実施。更新データも日時で連携

905/03/2023

Page 10: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Oracle から Aurora へ

– 意外と見落としてしまうかも?

• デフォルトのトランザクション分離レベルが Oracle と違う– Oracle

» Read Commited– MySQL

» Repeatable Read

• 生年月日が未来日の人が。。。– MySQL は 1 から 69 と 70 から 99 の範囲の値を、 2001 から 2069

と 1970 から 1999 の範囲の YEAR 値に変換

1005/03/2023

Page 11: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

運用をはじめました

• 見るべきメトリックがわからない

– 元々インフラを管理していた人とかに相談

• 標準的に見るべき項目や閾値を策定してもらう– CPU 、メモリ、クエリ数、スロークエリ、スループット

• ダッシュボードの作成

1105/03/2023

Page 12: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

運用をはじめました

• Aurora に合わせた監視内容に

– CPU 使用率が比較的高め• インスタンスリソースをフルに活用する

– CPU 使用率が 95% を超えたことがありました– が、正常に動き続けてました。。

– インスタンスリソースによる alarm をやめる• スループットやレイテンシーの監視のみ

1205/03/2023

Page 13: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

運用をはじめました

• Aurora は開発が活発

– 機能追加 (Lambda ・ S3 連携 )

– アップデートによるメンテナンスあり• 8 ヶ月間で 2 回• 監視していたメトリックが突如消える。。

1305/03/2023

Page 14: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

運用をはじめました

• 結果的にどうだったか?

– Aurora による障害はこれまで 0

– 性能は問題なし ( チューニングは必要 )

– DB サーバ運用に工数をほとんど割かなくてよい

– メンテナンスがたまにある ( 数秒~数十秒の停止。 8 ヶ月で 2回。 )

1405/03/2023

Page 15: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Aurora の使いどころ

• 稼働中で割と負荷がある DB の移行

– インスタンスタイプが大きいものしかない

– DB エンジンの違いは工数をさいて対応すれば可能

• 運用コストを抑えたい

– 対応コストとの天秤

1505/03/2023

Page 16: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

Aurora に期待するところ

• 小さいインスタンスタイプも選択できるようにしてほしい– アクセスの少ないテスト用の環境にも db.r3.large を適用

• PostgreSQL互換がほしい– レコチョクでは PostreSQL を使っているシステムも多い

• 移行がもう少し楽になっていた?

1605/03/2023

Page 17: #reco_tech   OracleからAuroraへ feat. 開発しかやってこなかったエンジニア

© RecoChoku Co.,Ltd. Proprietary and Confidential

まとめ

• オンプレ時代と同等の高可用性を実現

• 対応は必要だが、性能は全く問題なし

• 運用経験がなくても Aurora に任せられる部分がほとんどなので、本来の開発業務に集中できる

1705/03/2023