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
データベースにまつわるトイル削減の新手法の提案
Search
MIXI ENGINEERS
PRO
September 04, 2023
Technology
1
250
データベースにまつわるトイル削減の新手法の提案
2023/8/31に開催されたSRE Longe #15でお話した、みてね SREの伊東の登壇資料です。
https://sre-lounge.connpass.com/event/290455/
MIXI ENGINEERS
PRO
September 04, 2023
Tweet
Share
More Decks by MIXI ENGINEERS
See All by MIXI ENGINEERS
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
220
データベース研修 分析向けSQL入門【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
110
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
iOS研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
74
Android研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
100
Other Decks in Technology
See All in Technology
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.2k
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
750
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
さらに高品質・高速化を目指すAI時代のテスト設計支援と、めざす先 / AI Test Lab vol.1
shift_evolve
0
190
AWSでRAGを作る法方
sonoda_mj
1
140
スレットハンティングについて知っておきたいこと
hacket
0
130
MySQLのロックの種類とその競合
yoku0825
6
1.6k
Featured
See All Featured
Facilitating Awesome Meetings
lara
46
5.8k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
The Invisible Side of Design
smashingmag
294
50k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Visualization
eitanlees
139
14k
Making Projects Easy
brettharned
111
5.7k
Gamification - CAS2011
davidbonilla
78
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Design by the Numbers
sachag
277
18k
Clear Off the Table
cherdarchuk
89
320k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Transcript
データベースにまつわる トイル削減の新手法の提案 SRE Lounge #15
MIXI, Inc. 自己紹介 株式会社MIXI Vantageスタジオ みてねプロダクト開発部 基盤開発グループ SREチーム
伊東 宏起 https://hekki.info
MIXI, Inc. 家族アルバム みてねの紹介 写真プリント フォトブック スマホで撮影した子どもの写真や動画を家族と共有し、 コミュニケーションして楽しむ家族アルバムサービスで す。
MIXI, Inc. 家族アルバム みてねの紹介 利用者数1,800万人を突破(2023年5月時点) ※ iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計 7言語・175の国と地域でサービスを提供
MIXI, Inc. 本日お話する内容 - データベースにまつわるトイルについて - トイル削減のための新手法の提案 -
具体的な実装例の紹介 - まとめ
MIXI, Inc. データベースにまつわるトイルについて - Googleの「Site Reliability Engineering」によると、トイルの定義は次のようなものがある - 「トイルとは、手作業、繰り返される、自動化が可能、戦術的、長期的な価値がない、サービスの成長に比例して増加
する、といった特徴を持つ作業です。」 - https://cloud.google.com/blog/ja/products/gcp/identifying-and-tracking-toil-using-sre-principles - ではデータベースにまつわるトイルとは? - 監視の設定や調整 - データベースエンジンのアップグレード - セキュリティパッチの適用
MIXI, Inc. - みてねで運用しているいくつかのサービスのうち、メディアのエンコードを主な責務としているマイクロサー ビスがある - こちらのマイクロサービスの詳細については「1秒動画のつくり方 ― 「家族アルバム みてね」における動画エンコード
パイプラインとその最適化事例」をご覧ください - エンコードに関わるパラメータの管理などにDBを使っているものの、テーブルサイズは小さくクエリも非常 に少ない - そこで、これらのデータをDB以外に保存することでDB自体をなくしてトイルもなくすという手法を思いつく トイル削減のための新手法の提案
MIXI, Inc. - データの保存先はAmazon S3を採用し、JSON形式のテキストデータを保存する - 該当のマイクロサービスはRailsを使っており、通常であればActive Recordを使うところを改造
- Active Modelと自前のS3操作用のモジュールを組み合わせ、 Active Recordのinterfaceに似せた自前のモデルを実装 - テーブルのJOINやトランザクション等は使えないが 元々使っていなかったので問題なし - オブジェクトの保存・ロード・更新など 必要最低限の機能のみを実装 具体的な実装
MIXI, Inc. - 無事DBを廃止することができ、これに伴って冒頭で紹介したトイルを撲滅することに成功 - S3の高耐久性も相まって、リリース後から半年経過した現時点でトラブルなし - DBインスタンスがなくなったことによるコスト削減という副次的な効果も得られた
- 一方で、独自実装による分かりにくさといったデメリットも リリース後
MIXI, Inc. - DB自体をなくすという斬新な手法でDBの運用にまつわるトイルを撲滅することができました - どんなワークロードにも適用できるわけではないので注意 - たとえばDBのテーブルサイズが小さく・シンプルなクエリだけのパターンなど
- SREのプラクティスを推進するにあたって、アプリケーション開発のスキルを求められることはよく語られて いますが、今回のようなケースではそれを強く実感しました まとめ
MIXI, Inc.