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
DBトラブルの原因特定スピードアップ! ~DB可視化の勘所~
Search
Akira.S
September 25, 2025
Technology
0
19
DBトラブルの原因特定スピードアップ! ~DB可視化の勘所~
2025年9月12日に開催された「JPOUG Tech Talk Night #14」での発表資料です。
DBの稼働状況やリソース情報を可視化する際のポイントを実例を元に解説しています。
Akira.S
September 25, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
#普通の文系サラリーマンチャレンジ 自分でアプリ開発と電子工作を続けたら人生が変わった
tatsuya1970
0
740
RailsのPostgreSQL 18対応
yahonda
0
1.2k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
pprof vs runtime/trace (FlightRecorder)
task4233
0
140
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
100
BirdCLEF+2025 Noir 5位解法紹介
myso
0
140
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
520
Goを使ってTDDを体験しよう!
chiroruxx
1
230
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
170
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
31
9.3k
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
850
Pure Goで体験するWasmの未来
askua
1
150
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
139
7.1k
Being A Developer After 40
akosma
90
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Become a Pro
speakerdeck
PRO
29
5.5k
How to train your dragon (web standard)
notwaldorf
96
6.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
Agile that works and the tools we love
rasmusluckow
330
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
950
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Transcript
DBトラブルの原因特定スピードアップ! DB可視化の勘所 SBペイメントサービス株式会社 システム本部 システム基盤部 基盤運用課 鈴木 彰
自己紹介
自己紹介 SBペイメントサービス株式会社 システム本部システム基盤部基盤運用課 鈴木 彰 データベース・エンジニア ※Oracle特化型 主な業務 • OracleDBに関することならなんでも
• DBリプレイスPJでは大体PL兼DB担当 • チームマネジメントや運用改善をやることも Akira.S(@nag_akrs)
会社紹介 3 インターネット コンテンツ 決済・金融 通信 海外投資 その他 Softbankグループ ソフトバンク傘下の決済分野における中核事業会社
SBペイメントサービスとは
会社紹介 4 ソフトバンク携帯ユーザー向けの「ソフトバンクカード」のカード発行・運営をし ています。 ソフトバンクカードは、Visa加盟店で利用できるプリペイドカードです。ご利 用金額に応じてTポイントが貯まります。 カード発行業務 決済代行 EC運営事業者さま向けにオンライン決済事業を運営しています。豊富な 決済手段をまとめてご提供しています。
カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメンバーシップライセンスを保 有しており、各ブランドのアクワイアラー(クレジットカード加盟店契約会 社)としての加盟店審査や管理事業、端末決済サービスを提供していま す。 ソフトバンクと共同で、ソフトバンク携帯ユーザー向けの通話料合算請求 「ソフトバンクまとめて支払い」の開発・運営をしています。 キャリア決済 実店舗/訪問販売 EC/ネット店舗 事業内容
ソフトバンク携帯ユーザー向けの「ソフトバンクカード」のカード発行・運営をし ています。 ソフトバンクカードは、Visa加盟店で利用できるプリペイドカードです。ご利 用金額に応じてTポイントが貯まります。 カード発行業務 カード加盟店業務 Visa、Mastercard、UnionPay(銀聯)のメンバーシップライセンスを保 有しており、各ブランドのアクワイアラー(クレジットカード加盟店契約会 社)としての加盟店審査や管理事業、端末決済サービスを提供していま す。
ソフトバンクと共同で、ソフトバンク携帯ユーザー向けの通話料合算請求 「ソフトバンクまとめて支払い」の開発・運営をしています。 キャリア決済 実店舗/訪問販売 会社紹介 5 決済代行 EC運営事業者さま向けにオンライン決済事業を運営しています。豊富な 決済手段をまとめてご提供しています。 EC/ネット店舗 事業内容
会社紹介 6 加盟店 通販サイト ゲーム 電子書籍/動画 教育 不動産 その他 チケット
決済機関 コンビニ支払い 携帯キャリア決済 クレジットカード バーコード決済 口座振替 ポイント支払い アカウント連携決済 当社 決済サービス 全て一本化 リンク 型 API 型 オンライン決済サービス ECサイト向けに多種多様な決済手段に対応した決済画面や決済APIを提供
システム概要図 7 加盟店様 フロントエンド AP 外部接続 GW DB (Master) DB
(Slave) 決済 管理画面 加盟店様 各種決済機関 GoldenGate
すみません、、、ようやく本題です
本日お話しすること 9 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
本日お話しすること 10 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
DBの可視化とは? 1. 従来(古来?)のモニタリング プロセス ログ メトリクス ✓CLIでの情報取得 • 変化/変動に気付きにくい ✓監視対象毎にウィンドウ
• 数が多すぎて見きれない • 準備の手間がかかる ➢ 各種情報の相関がわからない • ウィンドウが分割されていたり時間間隔が統一されていないの で相関関係が読み取りづらい ✓『今』しかわからない • 直近数分でいいから推移が見たい 面倒くさいのにイマイチ意味がない
DBの可視化とは? 12 2. ダッシュボードによる各種情報の可視化 = 可観測性の向上 DBサーバ モニタリング・プラットフォーム メトリクス情報/ログを送信 リアルタイムグラフ化
気軽に確認できるし わかりやすい!
本日お話しすること 13 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
DBダッシュボードの実例 14 1. 当社のDBダッシュボード OSメトリクス アクティブ セッション数 待機イベント
DBダッシュボードの実例 15 1. 当社のDBダッシュボード 総セッション数 GoldenGate レプリ・ラグ
本日お話しすること 16 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
可視化の際に見るべき情報 17 1. アクティブセッション数 ❏ 分かること ➢ (オンライン処理)処理滞留の有無 • 瞬間的な上昇(スパイク)は無視してOK
• 継続的な上昇はDB上で何らかのボトルネックが発生しているとみてよい ➢ (バッチ処理)過度な並列処理 • CPUコア数などのHWの限界を超えた処理の有無 超重要 ❏ 情報ソース ➢ V$SESSION • STATUS=ACTIVE であるセッション数をカウント • DB接続の設計に因るがUSERNAME/SERVICE_NAME/MACHINEなどでグループ化すると良い
可視化の際に見るべき情報 18 ❏ 情報ソース ➢ V$SESSION • 「待機イベント」は実は「待機クラス」⇒ 待機イベントだと細分化されすぎてわかりづらい •
「総セッション数」は「アクティブセッション数」から「STATUS = ‘ACTIVE’」の条件を外しただけ 2. 待機イベント・総セッション数 重要 ❏ わかること ➢ アクティブセッション数の変動の原因 • かなり大雑把な情報(真因究明には更に詳細調査が必要) • とはいえ一次調査用としては十分かつわかりやすい
可視化の際に見るべき情報 19 3. OSメトリクス ❏ 分かること ➢ OSリソース不足 • 正直なところ補足情報でしかない(OSリソースの逼迫=DB処理滞留ではない)
※ もちろん放置して良いわけではない 補足情報 ❏ 情報ソース ➢ プラットフォームの機能を利用 • モニタリングプラットフォームにOSメトリクス収集機能はデフォルトで備わっていることが多い • 万が一備わっていない場合はOS標準コマンド(sar、vmstatなど)を活用
可視化の際に見るべき情報 20 4. GoldenGateレプリケーション状況 ❏ 分かること ➢GoldenGateによる論理レプリケーションのタイムラグ • 当社ではGoldenGateを用いて参照専用スレーブDBを構築しているためこれもモニタリング対象としている •
他にもDataGuardなど環境によってモニタリング対象を検討すると良い おまけ(?) ❏ 情報ソース ➢<GGスキーマ>.gg_lag • GoldenGateのハートビートテーブル機能を利用した際に作成されるラグ監視用のビュー • 詳細はGoldenGateのドキュメント参照
本日お話しすること 21 ➢ DBの可視化とは? ➢ DBダッシュボードの実例(当社の場合) ➢ 可視化の際に見るべき情報 ➢ ダッシュボードを構築する際に意識すること
ダッシュボードを構築する際に意識すること 22 ❏ やりすぎない ➢ 何のための可視化か?そのためには何を可視化すべきか?をよく検討する ➢ 情報は厳選する • 何でもかんでも盛り込まない
※人は情報過多になると混乱する • やるなら目的別にダッシュボードを分ける ➢ 可能な限り1画面に収まるようにデザインする • 表示できないとそもそも可視化の意味が無い ❏ わかりやすさ ➢ DBエンジニアだけがわかってもダメ • 「誰が見てもわかる」を意識する(当社はDBエンジニア以外のメンバーやマネージャー層も前出のダッシュボードを見ます) ➢ ダッシュボードのデザインを工夫する 例えば・・・ ・ 重要な物は大きく表示 ・ 併せてに見たい情報は隣接させる など ➢ 以下の様な点でもぱっと見でわかるように表示を工夫する • 時間の単位(秒/分/時間) • ホスト名やインスタンス名は論理名に置き換える • UIは適度に日本語化する
ご清聴ありがとうございました 23