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
280
データベースにまつわるトイル削減の新手法の提案
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
運営11年目タイトルを守る最強の盾の有効性と活用法
mixi_engineers
PRO
2
220
MIXI における技術広報とその役割
mixi_engineers
PRO
2
240
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
7
2.3k
IT企業でロボットを作った話 / A story about building a robot in an IT company
mixi_engineers
PRO
2
91
「共闘ことばRPG コトダマン」 SREチーム流 アプリのユーザー体験向上を支えるオブザーバビリティ
mixi_engineers
PRO
1
260
MIXI M のこれまでとこれから / Welcome Fintech Community #2
mixi_engineers
PRO
1
200
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
3
1.4k
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
7
1.8k
データベース研修 分析向けSQL入門【MIXI 24新卒技術研修】
mixi_engineers
PRO
4
820
Other Decks in Technology
See All in Technology
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
130
強いチームと開発生産性
onk
PRO
35
12k
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
SSMRunbook作成の勘所_20241120
koichiotomo
3
170
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
710
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
350
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
120
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
13k
AIチャットボット開発への生成AI活用
ryomrt
0
170
TypeScript、上達の瞬間
sadnessojisan
46
14k
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
GitHub's CSS Performance
jonrohan
1030
460k
Being A Developer After 40
akosma
87
590k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
What's in a price? How to price your products and services
michaelherold
243
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
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.