Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マイクロサービス環境におけるDB戦略 in DMMプラットフォーム

マイクロサービス環境におけるDB戦略 in DMMプラットフォーム

Database Engineering Meetup #2 の登壇資料です。
https://scalar.connpass.com/event/310641/

pospome

March 19, 2024
Tweet

More Decks by pospome

Other Decks in Technology

Transcript

  1. DMMプラットフォームで利用されているDB オンプレ • MySQL • Cassandra • Couchbase GCP •

    Firestore • Spanner • Cloud SQL AWS • RDS Aurora(MySQL) • Dynamo DB その他 • TiDB Cloud
  2. マイクロサービスのダウンタイムは面倒 • マイクロサービスはダウンタイムを伴う変更がめんどくさい。 ◦ 例:メンテナンス作業など • 面倒な理由 ◦ どこに影響があるか分からない。 ◦

    どの程度影響があるか分からない。 ◦ 関係各所への連絡が必要になる。 ▪ どの程度のダウンタイムであれば許容できるか。 ◦ ダウンタイムなしで頑張るのもそれなりの工数がかかる。
  3. 認証基盤ではTiDBを採用 • TiDB ◦ New SQL ▪ Writeがスケールする ▪ 強整合性

    ◦ MySQLプロトコル互換 ◦ 分散DBなのでメンテナンスによるダウンタイムがない。 ▪ 瞬断するのでリトライは必須 • 中長期的に非機能要件を満たせる。
  4. 多くのハードル・・・ • TiDBはゆーてNewSQLである。 ◦ RDB, NoSQLが実現できる要件を満たせるとは限らない。 ◦ 特にレイテンシの悪化は避けられない。 ▪ MySQLからTiDBへの移行によってアプリケーションの

    p99のレイテンシが数十msec高くなった実績がある。 • マルチテナントを運用する難易度 ◦ リソース制御機能があったとしても、キャパプラ難易度が高い。