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
230
データベースにまつわるトイル削減の新手法の提案
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
MIXI の DevRel 活動は採用にどう影響を与えようとしているか? / Effective Developer Relations for hiring at MIXI, Inc.
mixi_engineers
PRO
1
99
【D2-5】MIXI SREの最新事例まるわかり! 〜 各事業のSRE活動にかかわるエンジニアに本音を聞く | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
3
94
【D2-7】共闘ことばRPG コトダマンの自律分散型QA組織 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
1
42
【D2-S1】MIXIオンプレミス設備のこれまでとこれから~そして印西へ~ | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
1
86
【D2-6】モンスト10周年における真獣神化実装担当者が10年分の形態変化の設計をイチから作り直した話 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
2
96
【D2-8】WordPressのヘッドレス運用化 〜minimo roomのJamstack構成移行プロジェクト〜 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
2
47
【D2-S2】Kotlin と Flutter を愛であう会 for Android開発 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
2
76
なんで私に登壇依頼が?! ~頼られるエンジニアになるためには~ /
mixi_engineers
PRO
2
260
【D1-3】フィギュアスケートにおける自動追尾カメラ開発 - 位置情報+AI画像解析 | #MTDC2024 | MIXI TECH DESIGN CONFERENCE 2024
mixi_engineers
PRO
1
360
Other Decks in Technology
See All in Technology
Databricksの生成AI戦略
taka_aki
1
380
「できる!」を増やすGitHub Copilot活用法 / How to use GitHub Copilot to expand your possibilities
sansan_randd
1
240
QA Engineer Life @ LINE
line_developers_tw
PRO
0
150
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
910
Real World Type Puzzle and Code Generation
yukukotani
4
640
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
150
Money-saving tips for the frugal serverless developer
theburningmonk
1
400
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
38k
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
170
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
12
7.9k
RailsConf 2024 Keynote "Startups on Rails in 2024"
irinanazarova
0
830
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
yanaemon
6
1.3k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
21
4k
How to name files
jennybc
65
94k
We Have a Design System, Now What?
morganepeng
43
6.8k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
Designing for humans not robots
tammielis
247
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Designing for Performance
lara
601
67k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Building Applications with DynamoDB
mza
88
5.7k
GraphQLとの向き合い方2022年版
quramy
33
13k
Designing the Hi-DPI Web
ddemaree
276
33k
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.