Special
» 2021年04月01日 10時00分 公開

担当者の退職によりDBの運用管理が困難に――窮地の後任担当者を救った一手とはデータベース性能のリアルタイム可視化を実現

間接材の購買サービスを提供するディーコープは、アプリケーションやデータベースに理解のある担当者の退職と、利用していたDBAサービスの提供終了によって、データベースの運用管理に課題を抱えることになった。同社は解決に向けてどのように取り組んだのか、担当者に聞いた。

[PR/@IT]
PR

社内と社外からデータベース管理者が消えた――運用業務の負荷が課題に

 間接材の購買支援やコンサルティングを手掛けるディーコープは2001年に創業し、相見積もりやリバースオークションなどの機能を実装した「見積@Dee」をはじめとする「システム&サービス」を展開している。企業のコスト最適化や取引機会などの付加価値を顧客に提供するものだ。

 ビジネスが成長する中で、近年では生産性向上につながるRPA(Robotic Process Automation)やAI(人工知能)を活用した自律走行式清掃ロボットといった先端製品の取り扱いを開始したり、コロナ禍ではマスクや消毒液などの衛生用品について調達先探しの需要が一気に高まったりしたこともあった。ビジネスの成長と需要の変化に伴い、ITインフラへの負荷が変化する業務内容だ。

ディーコープの小島宏朗氏

 ディーコープの小島宏朗氏(コーポレート本部 IT戦略部 サービス開発運用グループ)は全社的なインフラチームとして、社内外のサーバやネットワーク全体を運用保守する部署で働いてきた。だが、2019年にデータベースの運用管理を担当していた従業員が退職し、小島氏が引き継ぐことになったという。小島氏は当時の状況を次のように話す。

 「アプリケーションからデータベースまで広範に理解していた担当者が退職し、これまでの業務に加え、導入済みの『Oracle Database Appliance』とサービスで利用される全てのデータベースインスタンスの運用管理を任されることになりました。この時、前任者と同じレベルでデータベースの運用管理をこなすことは困難だと直感しました」(小島氏)

 時を同じくして当時利用していたデータベース管理サービスも提供終了となり、小島氏は一気に窮地に追い込まれた。担当者が退職し、頼れる外部のデータベース管理サービスまでなくなる。DBA(データベース管理者)が社内と社外から一気に消えるようなものだ。

 データベースに詳しいDBAが不在だと、データベースで起こった問題の切り分けが困難になる。例えば「アプリケーションの反応が遅い」という報告が上がるとデータベースが疑われることが多く、まずデータベースの内部を調査しなければならない。実行に時間がかかるSQLはどれか、さらにSQLが引き起こす大量のI/Oの原因を調べるために、インデックスや実行計画を探る必要がある。

 このような問題の解決はデータベース内部を監視できるツールはもちろん、専門知識を持ったエンジニアがいないと難しい。小島氏は次のように話す。

 「インフラ全般の監視は統合監視ソフトウェア『Zabbix』でこなしていましたが、データベースやSQLの詳細なパフォーマンスまでは分かりません。アプリケーション開発者はSQLを書くことはできますが、SQLがデータベース内部でどう動いているか、パフォーマンスがどうなっているのかを調べることは難しいのです。そこでデータベースの専門知識を持つ人に運用管理へ参画してもらいたいと考えました」(小島氏)

 課題はもう一つあった。問題に対処する過程におけるコミュニケーションだ。もし問題がSQLにあると分かれば、社内の開発チームに伝達する。運用チームと開発チームの間でこうした相談をする際、必要な情報は共有しているものの、SQL動作の証跡や負荷状況などは詳細な情報がないため、うまく伝えられないことが多い。また、トラブルの対応は定型的な共有の標準化などが難しいために、協議がスムーズに進まないというもどかしさがあった。

現在と過去の稼働状況を可視化する強力なツールと助っ人を手に入れる

 こうしたデータベース運用管理の課題を一挙に解決するために、ディーコープは日本エクセムが提供するデータベース可視化ツール「MaxGauge」とリモートDBA支援サービス「Smart DBA」を導入した。

 ディーコープのOracle Database Applianceへのデータベース移行作業を日本エクセムが請け負った際に、「切り替えがとてもスムーズで信頼できた」(小島氏)ことが導入した理由だ。

 MaxGaugeはデータベースの稼働状況を24時間365日記録し、リアルタイムでセッションやSQLの詳細を可視化するツールだ。GUI表示があるため、DBAだけではなく開発者や運用担当者もデータベースの稼働状況が分かる。ログの記録期間内であれば、パフォーマンスの低下がいつ、どのデータベースやSQLで発生し、その時の負荷がどうなっていたのか、詳細に調べることが可能だ。

MaxGaugeの画面 SQLの処理に要した時間などを確認できる

 ディーコープが導入したのは「MaxGauge for Oracle」だ。Oracle Database Applianceに最適化されており、稼働中のOracle Databaseへ負荷をかけずに、情報を漏れなく収集できる。GUI画面で情報をドリルダウンしていくことによって、障害の原因を即座に特定できることが特長だ。

 「インフラ監視のために利用していたZabbixでもパフォーマンスの監視をしていましたが、データベース内部までは手が届きませんでした。MaxGaugeを導入した結果、データベースのトランザクションや負荷状況も監視できるようになりました」(小島氏)

事後調査とリアルタイムモニタリングが役に立つ

 小島氏によれば、MaxGaugeに着目したポイントの一つが事後調査だという。データベースの障害はすぐに分かるとは限らない。事業部門などを経由して、時間が経過してから報告されることもある。事後になるとデータベースの利用状況は変化しており、障害の再現が難しい。MaxGaugeであればセッションや実行されたSQLなどを記録しているため、事後でもどのような状況だったか振り返って調査可能だ。ログに残す期間もストレージの都合に合わせて適宜調整できる。

過去にさかのぼってセッションの内容を確認できる

 事後調査だけではなく、問題をその場で察知する際にも役立つ。

 「MaxGaugeのリアルタイムモニタリング機能の画面からエラーが出ていないか、負荷が高そうなものを日々、確認しています。サービスの負荷に関する問い合わせがあれば、パフォーマンスアナライザ機能を使って稼働状況や遅延が生じていないか確認しています」(小島氏)

 「『今日は多数のオークションの入札を予定しているからパフォーマンスに問題が生じないかどうか気を付けてほしい』と営業部門から連絡が来ることがあります。リアルタイムモニタリングを確認していれば、いち早く問題に気付きやすいのもメリットです」(小島氏)

 MaxGaugeの一部の機能を利用できる権限をアプリケーション開発チームにも割り当てて、性能を監視できるようにしたため、性能改善のための調査や会話などのコミュニケーションも改善できたという。

回答がすぐに得られることがSmart DBAの魅力

 MaxGaugeだけでも運用監視は可能だったが、前任者の退職もあり、ディーコープはリモートDBA支援の「Smart DBA」も活用している。小島氏はデータベースの運用管理業務で分からないことがあると、メールや電話などで相談している。「普段はメールで相談しており、数分後から1時間以内には返事をもらえます。システムインフラ全体を見なければならない状況で、データベースの運用を支援してもらえるので、とても助かっています」と小島氏は話す。

 Smart DBAは月次の診断書も提供しており、性能報告だけではなく、具体的な課題の洗い出しや改善提案も盛り込まれている。

 「他社のDBAサービスにはなかった月次での性能報告書により、安心して運用をできるようになりました」(小島氏)

 「餅は餅屋」ではないが、やはり専門知識は専門家に頼るのが確実で効率的ではないだろうか。Smart DBAは月額30万円から利用可能であり、優秀なDBAを1人雇うための採用プロセス、人材育成コストを考えればそう高くはない。小島氏は「おかげさまで問題なく業務が遂行できているので、これからもお力添えをいただければ」と頼りにしているようだ。今後は現在利用中のAPM(アプリケーション性能管理)ツールが、価格改定などで継続利用は難しくなるため、アプリケーション監視に役立つ「MaxGauge for Java」の導入も検討しているという。

MaxGaugeをきっかけにDBへの理解を深めてほしい

 近年ではクラウドプロバイダーが提供するデータベースサービス(DBaaS:Database as a Service)の活用も広がりつつある。DBaaSを利用するなら、サーバの環境構築やチューニングは不要で、ソフトウェアを最新版にするなどの保守の労力も減る。導入後は日々こなしていたDBAの作業が激減する。

日本エクセムの後藤大介氏

 だが、日々のDBAの労力が減ったことで、DBAが鍛錬を積む機会も減ってしまう。日本エクセム CEOの後藤大介氏は「クラウドサービスで業務が簡素化されたことでデータベース技術者が減り、常時確保が難しくなってきています。しかし安定した運用には、DBaasであってもデータベースの内部構造や動作の仕組みを理解しておく必要があります。MaxGaugeによるデータベースの可視化は、今後データベースを学んでいきたい人にも有効です」と話す。

 「データベースはインフラとアプリケーションの中間に存在し、データベースを足掛かりにすることでシステム全体の把握にもつながります。システムの全容をつかみたいならデータベースを学ぶことを強くお勧めします。データベース技術の理解は容易ではありませんが、MaxGaugeを使うことで、データベースがどのように稼働しているのかを理解するきっかけにもなるはずです」(後藤氏)

 現時点でMaxGaugeはオンプレミスで稼働しているデータベースを対象にしているものの、将来はクラウドで稼働しているデータベースサービスにも対応していく予定だ。2021年度内にはAIを活用した負荷原因調査の自動化も予定しているという。今後もデータベース運用管理の強い味方になりそうだ。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本エクセム株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年4月30日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。