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
360
データベースにまつわるトイル削減の新手法の提案
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
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
32
月間4億メディアの画像解析を救え!みてね発・オンデバイスMLで挑む圧倒的コストカット作戦
mixi_engineers
PRO
2
17
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
4
1.6k
プロジェクトマネジメント実践論|現役エンジニアが語る!~チームでモノづくりをする時のコツとは?~
mixi_engineers
PRO
5
440
セキュリティ研修【MIXI 25新卒技術研修】
mixi_engineers
PRO
4
2k
QA・ソフトウェアテスト研修【MIXI 25新卒技術研修】
mixi_engineers
PRO
3
1.8k
AI研修【MIXI 25新卒技術研修】
mixi_engineers
PRO
6
3.4k
ソフトウェアアーキテクチャ研修【MIXI 25新卒技術研修】
mixi_engineers
PRO
36
15k
Writing with AI【MIXI 25新卒技術研修】
mixi_engineers
PRO
3
830
Other Decks in Technology
See All in Technology
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
580
テストを軸にした生き残り術
kworkdev
PRO
0
180
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
270
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.2k
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
120
ガチな登山用デバイスからこんにちは
halka
1
220
Obsidian応用活用術
onikun94
1
410
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.3k
エニグモ_会社紹介資料(エンジニア職種向け).pdf
enigmo_hr
0
2.2k
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
280
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Done Done
chrislema
185
16k
Statistics for Hackers
jakevdp
799
220k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Into the Great Unknown - MozCon
thekraken
40
2k
Optimizing for Happiness
mojombo
379
70k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Site-Speed That Sticks
csswizardry
10
810
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.