Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スケーラビリティの課題解決に向けたココナラのデータベース移行戦略
Search
coconala_engineer
June 13, 2024
Technology
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スケーラビリティの課題解決に向けたココナラのデータベース移行戦略
大規模データベース移行の技術的チャレンジと実践例の登壇資料。
https://findy.connpass.com/event/320871/
coconala_engineer
June 13, 2024
More Decks by coconala_engineer
See All by coconala_engineer
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
3
1.6k
『誰の責任?』で揉めるのをやめて、エラーバジェットで判断するようにした ~感情論をデータで終わらせる、PMとエンジニアの意思決定プロセス~
coconala_engineer
2
3.1k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
2k
「守りのIT」から「攻めの基盤」へ!上場前後でやりきった情シス・モダナイゼーション
coconala_engineer
0
150
障害対応訓練、その前に
coconala_engineer
0
400
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
51k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
1.1k
SwiftTestingによる_モダンなiOSテスト手法とBDD.pdf
coconala_engineer
1
470
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
1.4k
Other Decks in Technology
See All in Technology
Goodbye ShellScript, Hello File-based App
shunsock
0
150
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.9k
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
6
2.9k
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
110
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
120
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.4k
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
740
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
120
あるけみー式LTスライド作成術
alchemy1115
2
220
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
The Mindset for Success: Future Career Progression
greggifford
PRO
0
500
Tell your own story through comics
letsgokoyo
1
1.1k
BBQ
matthewcrist
89
10k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Designing for Performance
lara
611
70k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Six Lessons from altMBA
skipperchong
29
4.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
Copyright coconala Inc. All Rights Reserved. スケーラビリティの課題解決に向けた ココナラのデータベース移行戦略 株式会社ココナラ 川崎
雄太 2024/06/13 大規模データベース移行の 技術的チャレンジと実践例
Copyright coconala Inc. All Rights Reserved. 自己紹介(川崎 雄太) 2 川崎
雄太 Yuta Kawasaki @yuta_k0911 株式会社ココナラ システムプラットフォーム部 部長 / Head of Information SRE / 情シス / セキュリティ領域のEM SRE NEXT 2024のコアメンバー 最近の推し:K-POP、麺屋武蔵
Copyright coconala Inc. All Rights Reserved. 3 ココナラの事業内容
Copyright coconala Inc. All Rights Reserved. ココナラのエンジニア数の変遷 4 事業拡大に合わせて3年で約3倍の組織規模に成長 2020年
2023年 フェーズ 上場前 上場後 エンジニア数 20人強 70人強 リポジトリ数 45 170以上
Copyright coconala Inc. All Rights Reserved. 5 Agenda ココナラで抱えていたデータベースの課題 課題にどう向き合ったか?
今後の取り組み 2 1 3
Copyright coconala Inc. All Rights Reserved. ココナラで抱えていたデータベースの課題 Chapter 01 6
Copyright coconala Inc. All Rights Reserved. 「データベースの課題」といっても、 さまざまな切り口がありますよね🤔 ココナラでもたとえば、QCDの バランス確保やライフサイクルへの
追随で悩んできました😓 7
Copyright coconala Inc. All Rights Reserved. ひとことで言うと、スケーラビリティが確保できていなかった 8 設定したKPIより、AWS RDSのSLAの方が低い
KPIとして設定している目標はリクエ スト成功率が99.96%以上。 一方で、Amazon RDS(マルチAZ クラスタ)のSLAは99.95%となって おり、そもそも自社でコントロールでき ないところで、KPI達成が難しい状況 … イコール、意図せずKPIとして無理が ある設定になっていた。
Copyright coconala Inc. All Rights Reserved. IOPS(1秒あたりのI/Oアクセスの数)も限界が迫っていた 9 このままだと、近い未来にIOPSの上限に抵触する Amazon
RDSのインスタンスサイズは 適切なものを利用していたので、CPU やメモリなどは問題なかったが、 IOPSの上限に抵触しそうになっ た。 暫定的にデータベースのデータ量と無 関係にストレージを拡張すること で、IOPSの上限を上げていった が、一時しのぎであった。
Copyright coconala Inc. All Rights Reserved. 前述の課題に加えて、MySQL 5.7 EOL 対応も迫ってきた…😓
放っておいても数年後には限界を 迎えることも自明😭 本腰を上げたのが、2022年の春頃! 10
Copyright coconala Inc. All Rights Reserved. 課題にどう向き合ったか? Chapter 02 11
Copyright coconala Inc. All Rights Reserved. Amazon Auroraへの移行 12 定めたKPIの達成に向けてAmazon
Auroraを採用 Amazon Aurora(マルチAZクラ スタ)のSLAは99.99%なので、定 めているリクエスト成功率(99.96%) よりも高い。 また、IOPSの上限も撤廃されるた め、2つの課題を一気にクリアできる ことを期待して、Amazon Auroraへ 移行することを意思決定した。 Amazon Aurora Amazon RDS
Copyright coconala Inc. All Rights Reserved. DB移行は一大プロジェクトなので、マイルストーンを設定し、経営層と合意形成 13 MySQL5.7 EOL期限をデッドラインとして、計画を策定
経営層に「技術課題として、一番リスクと 難易度が大きいもの」とインプットするため に対応するタスクの整理と、マイルストーン 設定から着手。 MySQL5.7 EOL期限から逆算して、1年半が かりのプロジェクトを立ち上げ、ナレッジを 徐々に蓄積できるように5つのデータ ベースを影響が少ないところから順に対 応していく計画とした。
Copyright coconala Inc. All Rights Reserved. メンテナンス時間削減を目的としたブルーグリーンデプロイの採用 14
Copyright coconala Inc. All Rights Reserved. Insight Database Testingを活用したSQLのテスト自動化 15
8億本ものSQLに対するテストを自動化するツールを利用
Copyright coconala Inc. All Rights Reserved. IOPS上限問題 抱えていた課題はどうなった? 16 SLO未達問題
EOL期限問題
Copyright coconala Inc. All Rights Reserved. 今後の取り組み Chapter 03 17
Copyright coconala Inc. All Rights Reserved. データベース移行はやっぱり事前の準備が大事 18 集められる情報は集めて、自社としての最適解を見つける 「データベース移行」といっても、システム構
成やシステム特性によって、考慮するポイ ントはさまざま。 類似したアーキテクチャーを採用しているシ ステムの情報を参考に「自社のベストプラク ティス」を探すことが重要。 なんといっても、数年に一度は必ず訪れる イベント・・・
Copyright coconala Inc. All Rights Reserved. システムメンテナンスの無い世界を目指していきたい 19 無停止でメンテナンスイベントをこなす最適解を見つける クラウドサービスを使っている限り、「基盤の
メンテナンス」は切っても切れないイベント になる。(全てがライブマイグレーションにな れば、みんなHappyだけど…) ココナラは「全てがそろうスキルマーケット」を 目指しているので、極力システムメンテナ ンスがない世界を実現するための机上 / 実機検証を続ける。
Copyright coconala Inc. All Rights Reserved. データベースはどの企業でも利用してい るので、ナレッジを公開している企業は たくさんあります。 過去の知見や、AWS等のベンダーを
使い倒して、長きに渡るデータベース 移行を安全に乗り切りましょう!!😁 20
Fin