そのDB負荷、"仕様変更"で解決しませんか? 技術だけじゃない負荷対策アプローチ
by
むらまつ
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
2025年6月28日 むらまつ そのDB負荷、"仕様変更"で解決しませんか? 技術だけじゃない負荷対策アプローチ
Slide 2
Slide 2 text
2 自己紹介 村松 遼 むらまつ りょう ● 所属 ○ 株式会社コドモン ● 最近気になっているツール ○ Gemini CLI
Slide 3
Slide 3 text
すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。 3
Slide 4
Slide 4 text
4 3 2 今日話すこと コドモンで直面したDB負荷の課題 仕様を変更するというアプローチ 負荷対策で得た教訓 1 2 1 2 3
Slide 5
Slide 5 text
5 3 2 今日話すこと コドモンで直面したDB負荷の課題 仕様を変更するというアプローチ 負荷対策で得た教訓 1 2 1
Slide 6
Slide 6 text
6 CONFIDENTIAL - © 2022 CoDMON Inc. 6 1. コドモンで直面したDB負荷の課題 課題:保護者アプリのタイムライン機能
Slide 7
Slide 7 text
7 CONFIDENTIAL - © 2022 CoDMON Inc. 7 1. コドモンで直面したDB負荷の課題 課題:保護者アプリのタイムライン機能
Slide 8
Slide 8 text
8 この機能、実は。。。
Slide 9
Slide 9 text
9 Reader DB負荷全体の 1/2以上を占めていました😱
Slide 10
Slide 10 text
10 DB負荷が上がりつつづけている現状
Slide 11
Slide 11 text
11 チームで改善することにしました⚔
Slide 12
Slide 12 text
12 しかし、改善するのがかなり難しい
Slide 13
Slide 13 text
13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 負荷改善が難しい理由について ✖ ✖ ✖ ✖ ✖ ● 新しいもの順に表示する
Slide 14
Slide 14 text
14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 負荷改善が難しい理由について ✖ ✖ ✖ ✖ ✖ ● 新しいもの順に表示する ↓ ⚠ 7テーブル(15種類)のデータを並び替える
Slide 15
Slide 15 text
15 CONFIDENTIAL - © 2022 CoDMON Inc. 15 負荷改善が難しい理由について ✖ ✖ ✖ ✖ ✖ ● 新しいもの順に表示する ↓ ⚠ 7テーブル(15種類)のデータを並び替える ⚠ limitでデータを絞れない
Slide 16
Slide 16 text
16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 負荷改善が難しい理由について ✖ ✖ ✖ ✖ ✖ ● 新しいもの順に表示する ↓ ⚠ 7テーブル(15種類)のデータを並び替える ⚠ limitでデータを絞れない ⚠ テーブル構造が原因で有効なINDEXが貼れない ものもある
Slide 17
Slide 17 text
17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 チームで考えた技術的アプローチ ✖ ✖ ✖ ✖ ✖ ● タイムライン表示用テーブル作って
Slide 18
Slide 18 text
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 チームで考えた技術的アプローチ ✖ ✖ ✖ ✖ ✖ ● タイムライン表示用テーブル作って ● 更新のイベントを元に
Slide 19
Slide 19 text
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 チームで考えた技術的アプローチ ✖ ✖ ✖ ✖ ✖ ● タイムライン表示用テーブル作って ● 更新のイベントを元に ● Debeziumを使ってデータを更新し
Slide 20
Slide 20 text
20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 チームで考えた技術的アプローチ ✖ ✖ ✖ ✖ ✖ ● タイムライン表示用テーブル作って ● 更新のイベントを元に ● Debeziumを使ってデータを更新し ● 過去のデータも移行し。。。
Slide 21
Slide 21 text
21 技術的に解決するのは難しそう。。。
Slide 22
Slide 22 text
22 デザイナー:「仕様変えてみては?」
Slide 23
Slide 23 text
23 たしかに💡 仕様を変えるなら簡単に解決できそう!
Slide 24
Slide 24 text
24 デザイナーチームと協力することに🤝
Slide 25
Slide 25 text
25 3 2 1 今日話すこと コドモンで直面したDB負荷の課題 仕様を変更するというアプローチ 負荷対策で得た教訓
Slide 26
Slide 26 text
26 CONFIDENTIAL - © 2022 CoDMON Inc. 26 仕様を変更するというアプローチ ● 日付の期間の絞り込みを必須にする
Slide 27
Slide 27 text
27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 仕様を変更するというアプローチ ● 日付の期間の絞り込みを必須にする 👉クエリされる範囲は期間内で限定される
Slide 28
Slide 28 text
28 CONFIDENTIAL - © 2022 CoDMON Inc. 28 仕様を変更するというアプローチ ● 日付の期間の絞り込みを必須にする 👉クエリされる範囲は期間内で限定される 👉ユーザーは期間検索が行える様になった
Slide 29
Slide 29 text
29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 仕様を変更するというアプローチ タイムラインの負荷対策 ● 日付の期間の絞り込みを必須にする 👉クエリされる範囲は期間内で限定される 👉ユーザーは期間検索が行える様になった Reader DBのReadIO
Slide 30
Slide 30 text
30 2 3 1 今日話すこと コドモンで直面したDB負荷の課題 仕様を変更するというアプローチ 負荷対策で得た教訓
Slide 31
Slide 31 text
31 CONFIDENTIAL - © 2022 CoDMON Inc. 31 負荷対策で得た教訓 ● 負荷対策は仕様を変更しないことが前提ではない
Slide 32
Slide 32 text
32 CONFIDENTIAL - © 2022 CoDMON Inc. 32 負荷対策で得た教訓 ● 負荷対策は仕様を変更しないことが前提ではない ● 負荷対策とUX向上の両方を考える
Slide 33
Slide 33 text
33 CONFIDENTIAL - © 2022 CoDMON Inc. 33 負荷対策で得た教訓 ● 負荷対策は仕様を変更しないことが前提ではない ● 負荷対策とUX向上の両方を考える ● 負荷対策はエンジニアだけで行うものではない
Slide 34
Slide 34 text
34 ご清聴ありがとうございました!