(57)【要約】【課題】分散データベース・サーバの性能の劣化に応じて、分散データベース・サーバの台数を調整する分散データベース装置を提供することを目的とする。【解決手段】アプリケーション・サーバ１０２が、広域ネットワーク３０を介して収集したＩｏＴ機器１０のセンサデータを、複数の分散データベース・サーバ１０３に格納するように構成された分散データベース装置１００に、分散データベース・サーバ１０３の性能を監視するデータベース性能監視サーバ１０４を設けて、分散データベース・サーバ１０３の性能の劣化を検知し、分散データベース・サーバ１０３の性能の劣化が検知された場合に、アロケータにより、分散データベース・サーバ１０３に予備データベース・サーバ１０５を追加するようにした。【選択図】図１
2020098376.tif 000002
【特許請求の範囲】
【請求項１】
データが分散して格納される複数の分散データベース・サーバ、
アプリケーションを実行するとともに、ネットワークを介して収集したデータを上記分散データベース・サーバへ格納するアプリケーション・サーバ、
上記分散データベース・サーバの性能を監視するデータベース性能監視サーバを備え、
上記データベース性能監視サーバは、
上記分散データベース・サーバの性能の劣化を検知する性能劣化検知部と、
この性能劣化検知部により、上記分散データベース・サーバの性能の劣化が検知された場合に、上記分散データベース・サーバの数を増加させるアロケータとを有することを特徴とする分散データベース装置。
【請求項２】
上記アプリケーション・サーバは、当該アプリケーション・サーバから上記分散データベース・サーバへの上記データの格納要求の送信のスループットと、上記分散データベース・サーバからの応答速度とを計測する計測部を有し、
上記性能劣化検知部は、上記計測部により計測された計測値に基づき、当該分散データベース・サーバの性能の劣化を検知することを特徴とする請求項１記載の分散データベース装置。
【請求項３】
上記分散データベース・サーバは、上記アプリケーション・サーバから当該分散データベース・サーバへの上記データの格納要求の受信のスループットと、当該分散データベース・サーバからの応答速度とを計測する計測部を有し、
上記性能劣化検知部は、上記計測部により計測された計測値に基づき、当該分散データベース・サーバの性能の劣化を検知することを特徴とする請求項１記載の分散データベース装置。
【請求項４】
上記データベース性能監視サーバは、上記アプリケーション・サーバおよび上記分散データベース・サーバ間の通信を傍受して、上記アプリケーション・サーバから上記分散データベース・サーバへの上記データの格納要求の送信のスループットと、当該分散データベース・サーバから上記アプリケーション・サーバへの応答速度とを計測する計測部を有し、
上記性能劣化検知部は、上記計測部により計測された計測値に基づき、当該分散データベース・サーバの性能の劣化を検知することを特徴とする請求項１記載の分散データベース装置。
【請求項５】
上記性能劣化検知部は、上記分散データベース・サーバの性能の劣化を検知した場合に、検知結果を、管理者が閲覧可能な統合監視サーバに送信することを特徴とする請求項１から請求項４のいずれか一項記載の分散データベース装置。
【請求項６】
上記データベース性能監視サーバは、上記分散データベース・サーバの故障状況を監視するデータベース・サーバ監視部を有し、
上記アロケータは、上記データベース・サーバ監視部により、上記分散データベース・サーバの故障が検知された場合に、当該分散データベース・サーバと予備の分散データベース・サーバとを入れ替えることを特徴とする請求項１から請求項５のいずれか一項記載の分散データベース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、データを分散して格納する分散データベース装置に関するものである。
【背景技術】
【０００２】
ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）サービスにおいては、扱うセンサデータ量は膨大なものとなってきている。膨大なセンサデータ量を蓄積するために、複数のデータベース・サーバで構成する分散データベースを使用して膨大なセンサデータを分散し、サーバあたりの負荷を減らすことがある。
また、センサデータ量は、時間と共に変動しうるため、データ量が増加した場合は、分散データベース・サーバを追加することが求められる。この分散データベース・サーバの追加は、人が手作業で行っている。
一方で、自動でサーバを追加する技術は、一般に負荷分散装置において存在する。従来の負荷分散装置においては、通常サービスを提供する１つまたは複数のサーバと、１つまたは複数の予備サーバと、負荷検出器およびアロケータによりシステムを構成し、通常サービスを提供するサーバの負荷が大きくなった場合には、負荷検出器がそれを検知して、アロケータが予備サーバを通常サービスに追加するものがある。（例えば、特許文献１、２参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−９１９３７号公報（第３〜６頁、第１図）
【特許文献２】Ｗ０２００４／０８４０８５号公報（第５〜８頁、第２図）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の負荷分散装置は、以上のように、サーバにかかる負荷に応じてサーバ数を調節していた。しかし、分散データベースにおいては、分散データベース・サーバ内に保持しているデータ量あるいは同居する別アプリケーションによるリソースの競合等によって、分散データベースの性能が劣化することがあり、この場合も分散データベース・サーバ数を増やす必要がある。従来の手法では、この場合でも、性能劣化を検知しないため、サーバ数を増やせなかった。
【０００５】
また、分散データベースの性能の劣化により、負荷に応じた分散データベース・サーバ数の調整も、従来手法では適切にできなくなる可能性がある。
例えば、同じ負荷において、分散データベース・サーバの性能が劣化した場合、負荷は変わらないため、分散データベース・サーバは追加されず、処理が追いつかなくなる可能性がある。
【０００６】
また、サーバ追加を行う負荷の閾値においては、分散データベースの性能を正しく見積もる必要があるが、これに対して、机上での検討は難しく、また分散データベース・サーバ数と分散データベース全体の性能の関係が自明でない場合もあり、適切な閾値を決めることが難しいという問題があった。
また、人が手作業で分散データベースの状態を確認して分散データベース・サーバを追加する場合は、時間および人件費がかかる等の問題点があった。
【０００７】
本願は、分散データベース・サーバの性能の劣化に応じて、分散データベース・サーバの台数を調整する分散データベース装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願に開示される分散データベース装置は、データが分散して格納される複数の分散データベース・サーバ、アプリケーションを実行するとともに、ネットワークを介して収集したデータを分散データベース・サーバへ格納するアプリケーション・サーバ、分散データベース・サーバの性能を監視するデータベース性能監視サーバを備え、データベース性能監視サーバは、分散データベース・サーバの性能の劣化を検知する性能劣化検知部と、この性能劣化検知部により、分散データベース・サーバの性能の劣化が検知された場合に、分散データベース・サーバの数を増加させるアロケータとを有するようにしたものである。
【発明の効果】
【０００９】
本願に開示される分散データベース装置によれば、分散データベース・サーバの性能の劣化に応じて、分散データベース・サーバの台数を調整することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１による分散データベース装置を含むＩｏＴシステム構成を示すブロック図である。
【図２】実施の形態１による分散データベース装置の概略構成を示すブロック図である。
【図３】実施の形態１による分散データベース装置のデータベース性能監視サーバの動作を示すフローチャートである。
【図４】実施の形態２による分散データベース装置の概略構成を示すブロック図である。
【図５】実施の形態３による分散データベース装置の概略構成を示すブロック図である。
【図６】実施の形態４による分散データベース装置の概略構成を示すブロック図である。
【図７】実施の形態５による分散データベース装置の概略構成を示すブロック図である。
【図８】実施の形態１〜実施の形態５による分散データベース装置の各サーバのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
以下、実施の形態１を図に基づいて説明する。
図１は、実施の形態１による分散データベース装置を含むＩｏＴシステム構成を示すブロック図である。
図１において、複数のＩｏＴ機器１０は、センサデータを、複数のゲートウェイ２０に送る。ゲートウェイ２０は、送られたセンサデータを束ねて、広域ネットワーク３０を介して分散データベース装置１００に送信する。
【００１２】
分散データベース装置１００は、次のように構成されている。
ロードバランサ１０１は、ゲートウェイ２０から送信されたセンサデータを、複数のアプリケーション・サーバ１０２に振り分ける。個々のアプリケーション・サーバ１０２は、分散データベース・サーバ１０３にセンサデータを格納させる。分散データベース・サーバ１０３は複数設けられ、分散してセンサデータを格納する。
また、アプリケーション・サーバ１０２は、分散データベース・サーバ１０３の性能と現状の負荷を計測して、データベース性能監視サーバ１０４に送信する。
【００１３】
データベース性能監視サーバ１０４は、アプリケーション・サーバ１０２から収集した分散データベース・サーバ１０３の性能と負荷の情報から、分散データベース・サーバ１０３の性能劣化を検知する。
また、現状の性能と負荷のバランスから分散データベース・サーバ１０３へのサーバ追加の必要性を判断して、複数の予備分散データベース・サーバ１０５から１台を分散データベース・サーバ１０３に追加する。
【００１４】
図２は、実施の形態１による分散データベース装置の概略構成を示すブロック図である。
図２において、符号１０１〜１０５は図１におけるものと同一のものである。図２では、アプリケーション・サーバ１０２は、アプリケーション２００と計測部２０１を有する。
アプリケーション２００は、業務サービスを実行しつつ、計測部２０１を介してセンサデータを分散データベース・サーバ１０３に非同期で格納する。
計測部２０１は、負荷として、センサデータの格納要求の送信のスループット（単位時間当たりの要求数）と、分散データベース・サーバ１０３の性能として、分散データベース・サーバ１０３の応答時間（応答速度）を計測する。そして、計測した負荷と分散データベース・サーバ１０３の性能をデータベース性能監視サーバ１０４に送信する。
【００１５】
図２のデータベース性能監視サーバ１０４は、性能劣化検知部２０２とアロケータ２０３とを有する。
性能劣化検知部２０２は、分散データベース・サーバ１０３の性能劣化と負荷の増大を検知して、分散データベース・サーバ１０３に対し、予備分散データベース・サーバを追加する必要があるかどうかを判断する。
アロケータ２０３は、分散データベース・サーバ１０３に予備分散データベース・サーバ１０５から１台を追加する。
【００１６】
次に、動作について説明する。
ＩｏＴ機器１０のセンサデータは、ゲートウェイ２０、広域ネットワーク３０、およびロードバランサ１０１を経由して、アプリケーション・サーバ１０２に届けられる。
アプリケーション・サーバ１０２は、受信したセンサデータを分散データベース・サーバ１０３に格納する。
【００１７】
図２は、１つのアプリケーション・サーバ１０２から分散データベース・サーバ１０３に格納するまでの動作の様子を示すものである。
図２のアプリケーション２００は、センサデータをロードバランサ１０１から受信すると、業務サービスを実行しつつ、計測部２０１を介して、センサデータを分散データベース・サーバ１０３に非同期で格納する。
【００１８】
分散データベース・サーバ１０３は、格納が終了したら、応答を計測部２０１に送信する。このとき、計測部２０１は、負荷として、センサデータの格納要求の送信のスループットと、分散データベース・サーバ１０３の性能として、分散データベース・サーバ１０３の応答時間（応答速度）を計測する。そして、計測した負荷と分散データベース・サーバ１０３の性能とを、データベース性能監視サーバ１０４に送信する。
この送信を受けて、データベース性能監視サーバ１０４は、性能劣化検知部２０２で、分散データベース・サーバ１０３の性能劣化と負荷の増大を検知する。また分散データベース・サーバ１０３に対し、予備データベース・サーバを追加する必要があるかどうかを判断する。
この判断に応じて、アロケータ２０３が、分散データベース・サーバ１０３に予備分散データベース・サーバを１台追加する。
【００１９】
次に、性能劣化検知部２０２とアロケータ２０３の動作の詳細を、図３を用いて説明する。
ステップＳ３００で、性能劣化検知部２０２は、各アプリケーション・サーバ１０２から収集した要求送信スループットと、分散データベース・サーバ１０３の応答速度とについて、サーバ数で平均をとる。
【００２０】
次いで、ステップＳ３０１で、分散データベース・サーバ１０３の応答速度の平均が、前回の値より遅くなったかどうかを判断する。分散データベース・サーバ１０３の応答速度は、分散データベース・サーバ１０３の処理性能が一定であれば変化しないので、応答速度が低下した場合は、分散データベース・サーバ１０３の性能が劣化したと判断する。
【００２１】
分散データベース・サーバ１０３の性能が劣化した場合は、ステップＳ３０２で、アロケータ２０３が、分散データベース・サーバ１０３に予備サーバを追加可能であるかどうかを確認した後に、ステップＳ３０３で、予備分散データベース・サーバ１０５を分散データベース・サーバ１０３に追加する。
ステップＳ３０２の具体的な確認内容は、（１）追加可能な予備分散データベース・サーバ１０５があるか。（２）分散データベース・サーバ１０３に追加中の予備分散データベース・サーバ１０５がないか。（３）分散データベース・サーバ１０３に予備分散データベース・サーバ１０５を追加するための余裕があるか、である。
【００２２】
ステップＳ３０１で、性能劣化検知部２０２が性能劣化を検知しなかった場合は、ステップＳ３０４で、分散データベース・サーバ１０３の性能が現在の負荷に対して余裕があるかどうかを判断する。
具体的には、分散データベース・サーバ１０３の応答速度から、分散データベース・サーバ１０３の性能をスループットの形式に変換して要求送信スループットと比較することで、負荷に対する余裕を判断する。
分散データベース・サーバ１０３の性能が、現在の負荷に対して余裕がないと判断した場合は、ステップＳ３０２で、予備分散データベース・サーバ１０５を追加可能か確認して、ステップＳ３０３で、分散データベース・サーバ１０３に予備分散データベース・サーバ１０５を追加する。
【００２３】
実施の形態１によれば、分散データベース・サーバ１０３の性能、負荷を、アプリケーション・サーバ１０２側で計測するため、分散データベース・サーバ１０３の性能を損ねることなく、リアルタイムに分散データベース・サーバ１０３の性能、負荷を計測することができる。
このように、リアルタイムに分散データベース・サーバ１０３の性能を計測することで、性能劣化を検知することができるとともに、性能が変動しても負荷に対して適切に分散データベース・サーバ追加を判断することが可能となる。
【００２４】
実施の形態２．
図４は、実施の形態２による分散データベース装置の概略構成を示すブロック図である。
図４において、符号１０１〜１０５は図１におけるものと同一のものである。図４では、分散データベース・サーバ１０３からデータベース性能監視サーバ１０４へ情報が流れるようになっている。
【００２５】
実施の形態１では、アプリケーション・サーバ１０２で分散データベース・サーバ１０３の性能と負荷を計測する場合について述べたが、実施の形態２は、図４に示すように、アプリケーション・サーバ１０２ではなく、分散データベース・サーバ１０３で、分散データベース・サーバ１０３の性能と負荷を計測する。
この場合は、分散データベース・サーバ１０３自体が、統計情報として、センサデータの格納要求のスループット（単位時間当たりの要求数）と応答の時間（要求実行のレイテンシ）を計測しており、計測部の開発が要らない場合がある。
【００２６】
実施の形態２によれば、従来のＩｏＴシステムから、アプリケーション・サーバ１０２側の改造を行なう必要がないという効果がある。
【００２７】
実施の形態３．
図５は、実施の形態３による分散データベース装置の概略構成を示すブロック図である。
図５において、符号１０１〜１０５は図１におけるものと同一のものである。図５では、計測部をデータベース性能監視サーバ１０４に設けた場合である。分散データベース・サーバ１０３から、アプリケーション・サーバ１０２への情報をデータベース性能監視サーバ１０４が傍受するようになっている。
【００２８】
実施の形態１では、アプリケーション・サーバ１０２で分散データベース・サーバ１０３の性能と負荷を計測する場合について述べた。実施の形態３は、図５に示すように、アプリケーション・サーバ１０２ではなく、データベース性能監視サーバ１０４で、分散データベース・サーバ１０３の性能と負荷を計測するようにした。
この場合は、データベース性能監視サーバ１０４は、アプリケーション・サーバ１０２から分散データベース・サーバ１０３へのセンサデータの格納要求と、その応答とを傍受して、アプリケーション・サーバ１０２からの格納要求の送信のスループットと、分散データベース・サーバ１０３の応答速度を計測する。
【００２９】
実施の形態３によれば、計測部をアプリケーション・サーバ１０２、分散データベース・サーバ１０３から分離することで、アプリケーション・サーバ１０２と分散データベース・サーバ１０３の性能を損ねることなく、リアルタイムに分散データベース・サーバ１０３の性能、負荷を計測できる。
また、従来のＩｏＴシステムから、アプリケーション・サーバ１０２側と分散データベース・サーバ１０３側の改造が必要なく、データベース性能監視サーバ１０４と予備分散データベース・サーバ１０５を追加するだけで良い。
【００３０】
実施の形態４．
図６は、実施の形態４による分散データベース装置の概略構成を示すブロック図である。
図６において、符号１０１〜１０５は図１におけるものと同一のものである。図６では、図１の構成に、統合監視サーバ１０６を設けている。統合監視サーバ１０６は、データベース性能監視サーバ１０４から通知を受けて、管理者が閲覧可能になっている。
【００３１】
実施の形態１では、データベース性能監視サーバ１０４は、分散データベース・サーバ１０３の性能劣化または過負荷を検知すると、予備分散データベース・サーバ１０５を分散データベース・サーバ１０３に追加するのみであった。
実施の形態４は、図６に示すように、統合監視サーバ１０６を設けて、データベース性能監視サーバ１０４が、分散データベース・サーバ１０３の性能劣化または過負荷を検知すると、管理者が閲覧できる統合監視サーバ１０６（例えば、Ｚａｂｂｉｘ（登録商標）サーバ）にそれを通知するようにした。
【００３２】
実施の形態４によれば、分散データベース・サーバ１０３の性能劣化の状況、あるいは性能と負荷のバランスを、管理者が一元管理でき、管理者の作業効率化を図ることができる。
【００３３】
実施の形態５．
図７は、実施の形態５による分散データベース装置の概略構成を示すブロック図である。
図７において、符号１０１〜１０５は図１におけるものと、符号２０２、２０３は図２におけるものとそれぞれ同一のものである。図７では、データベース性能監視サーバ１０４に、分散データベース・サーバ１０３の各サーバの故障状況をｐｉｎｇ等で監視するデータベース・サーバ監視部２０４を設けている。
【００３４】
実施の形態１では、データベース性能監視サーバ１０４は、分散データベース・サーバ１０３の性能劣化または過負荷を検知して、予備分散データベース・サーバ１０５を分散データベース・サーバ１０３に追加するのみであった。
実施の形態５は、図７に示すように、データベース性能監視サーバ１０４に分散データベース・サーバ１０３の各サーバの故障状況をｐｉｎｇ等で監視するデータベース・サーバ監視部２０４を設けた。
データベース・サーバ監視部２０４が、故障サーバを検出した場合、アロケータ２０３により、予備分散データベース・サーバ１０５と、検出した故障サーバとを取り換えるようにする。
【００３５】
実施の形態５によれば、故障サーバを検出し、故障サーバが検出された場合、予備分散データベース・サーバ１０５と、検出した故障サーバとを取り換えるようにしたので、分散データベース・サーバ１０３の健全性を維持することができる。
【００３６】
なお、分散データベース装置のアプリケーション・サーバ１０２、分散データベース・サーバ１０３、データベース性能監視サーバ１０４および予備分散データベース・サーバ１０５は、ハードウェアの一例を図８に示すように、プロセッサ１０００と記憶装置１００１から構成される。記憶装置は図示していないが、ランダムアクセスメモリ等の揮発性記憶装置と、フラッシュメモリ等の不揮発性の補助記憶装置とを具備する。また、フラッシュメモリの代わりにハードディスクの補助記憶装置を具備してもよい。プロセッサ１０００は、記憶装置１００１から入力されたプログラムを実行する。この場合、補助記憶装置から揮発性記憶装置を介してプロセッサ１０００にプログラムが入力される。また、プロセッサ１０００は、演算結果等のデータを記憶装置１００１の揮発性記憶装置に出力してもよいし、揮発性記憶装置を介して補助記憶装置にデータを保存してもよい。
【００３７】
本開示は、様々な例示的な実施の形態及び実施例が記載されているが、１つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。
従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも１つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも１つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
【符号の説明】
【００３８】
１０  ＩｏＴ機器、２０  ゲートウェイ、３０  広域ネットワーク、
１００  分散データベース装置、１０１  ロードバランサ、
１０２  アプリケーション・サーバ、１０３  分散データベース・サーバ、
１０４  データベース性能監視サーバ、１０５  予備分散データベース・サーバ、
１０６  統合監視サーバ、２００  アプリケーション、２０１  計測部、
２０２  性能劣化検知部、２０３  アロケータ、２０４  データベース・サーバ監視部、
１０００  プロセッサ、１００１  記憶装置
【図１】
2020098376.tif 000003
【図２】
2020098376.tif 000004
【図３】
2020098376.tif 000005
【図４】
2020098376.tif 000006
【図５】
2020098376.tif 000007
【図６】
2020098376.tif 000008
【図７】
2020098376.tif 000009
【図８】
2020098376.tif 000010