$30 off During Our Annual Pro Sale. View Details »

データベースにまつわるトイル削減の新手法の提案

 データベースにまつわるトイル削減の新手法の提案

2023/8/31に開催されたSRE Longe #15でお話した、みてね SREの伊東の登壇資料です。
https://sre-lounge.connpass.com/event/290455/

MIXI ENGINEERS
PRO

September 04, 2023
Tweet

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. データベースにまつわる
    トイル削減の新手法の提案
    SRE Lounge #15

    View Slide

  2. MIXI, Inc.
    自己紹介

    株式会社MIXI Vantageスタジオ 

    みてねプロダクト開発部 基盤開発グループ SREチーム 

    伊東 宏起


    https://hekki.info


    View Slide

  3. MIXI, Inc.
    家族アルバム みてねの紹介
    写真プリント
    フォトブック
    スマホで撮影した子どもの写真や動画を家族と共有し、
    コミュニケーションして楽しむ家族アルバムサービスで
    す。


    View Slide

  4. MIXI, Inc.
    家族アルバム みてねの紹介
    利用者数1,800万人を突破(2023年5月時点)
    ※ iOS・Android™ アプリ登録者数、ブラウザ版登録者数の合計
    7言語・175の国と地域でサービスを提供

    View Slide

  5. MIXI, Inc.
    本日お話する内容

    - データベースにまつわるトイルについて 

    - トイル削減のための新手法の提案 

    - 具体的な実装例の紹介 

    - まとめ


    View Slide

  6. MIXI, Inc.
    データベースにまつわるトイルについて

    - Googleの「Site Reliability Engineering」によると、トイルの定義は次のようなものがある 

    - 「トイルとは、手作業、繰り返される、自動化が可能、戦術的、長期的な価値がない、サービスの成長に比例して増加
    する、といった特徴を持つ作業です。」

    - https://cloud.google.com/blog/ja/products/gcp/identifying-and-tracking-toil-using-sre-principles

    - ではデータベースにまつわるトイルとは? 

    - 監視の設定や調整

    - データベースエンジンのアップグレード

    - セキュリティパッチの適用


    View Slide

  7. MIXI, Inc.
    - みてねで運用しているいくつかのサービスのうち、メディアのエンコードを主な責務としているマイクロサー
    ビスがある

    - こちらのマイクロサービスの詳細については「1秒動画のつくり方 ― 「家族アルバム みてね」における動画エンコード
    パイプラインとその最適化事例」をご覧ください

    - エンコードに関わるパラメータの管理などにDBを使っているものの、テーブルサイズは小さくクエリも非常
    に少ない

    - そこで、これらのデータをDB以外に保存することでDB自体をなくしてトイルもなくすという手法を思いつく 

    トイル削減のための新手法の提案


    View Slide

  8. MIXI, Inc.
    - データの保存先はAmazon S3を採用し、JSON形式のテキストデータを保存する 

    - 該当のマイクロサービスはRailsを使っており、通常であればActive Recordを使うところを改造 

    - Active Modelと自前のS3操作用のモジュールを組み合わせ、

    Active Recordのinterfaceに似せた自前のモデルを実装

    - テーブルのJOINやトランザクション等は使えないが

    元々使っていなかったので問題なし

    - オブジェクトの保存・ロード・更新など

    必要最低限の機能のみを実装

    具体的な実装


    View Slide

  9. MIXI, Inc.
    - 無事DBを廃止することができ、これに伴って冒頭で紹介したトイルを撲滅することに成功 

    - S3の高耐久性も相まって、リリース後から半年経過した現時点でトラブルなし 

    - DBインスタンスがなくなったことによるコスト削減という副次的な効果も得られた 

    - 一方で、独自実装による分かりにくさといったデメリットも 

    リリース後


    View Slide

  10. MIXI, Inc.
    - DB自体をなくすという斬新な手法でDBの運用にまつわるトイルを撲滅することができました 

    - どんなワークロードにも適用できるわけではないので注意 

    - たとえばDBのテーブルサイズが小さく・シンプルなクエリだけのパターンなど

    - SREのプラクティスを推進するにあたって、アプリケーション開発のスキルを求められることはよく語られて
    いますが、今回のようなケースではそれを強く実感しました 

    まとめ


    View Slide

  11. MIXI, Inc.

    View Slide