(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-30
(45)【発行日】2025-07-08
(54)【発明の名称】データ移動管理デバイスとデータ移動管理方法とデータ移動管理システム
(51)【国際特許分類】
G06F 16/185 20190101AFI20250701BHJP
【FI】
G06F16/185
【外国語出願】
(21)【出願番号】P 2022041055
(22)【出願日】2022-03-16
【審査請求日】2024-03-01
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】ナタニ ガリマ
(72)【発明者】
【氏名】勝沼 聡
(72)【発明者】
【氏名】樫山 俊彦
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特表2017-503277(JP,A)
【文献】国際公開第2012/020456(WO,A1)
【文献】特開平08-287104(JP,A)
【文献】特開2018-060415(JP,A)
【文献】特開2020-013318(JP,A)
【文献】米国特許出願公開第2013/0110764(US,A1)
【文献】エディフィストラーニング株式会社,ひと目でわかる SQL Server 2012,第1版,日本,日経BP社 瀬川 弘司,2012年11月19日,p.442-444
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ハイブリッドトランザクション分析処理アーキテクチャにおいてデータを管理する為のデータ移動管理デバイスであって、
オンライン分析処理データベースの第1クエリログ集合から、オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出するとともに、前記連合クエリに基づいて、前記オンライン分析処理データベースの第1データ鮮度要件を識別する為のクエリログ管理ユニットと、
少なくとも前記第1データ鮮度要件に基づいて、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断する為のデータ移動管理ユニットと、
前記オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する為のデータ移動タイミング管理ユニットと、
を具備するデータ移動管理デバイス。
【請求項2】
前記クエリログ管理ユニットが更に、
前記オンライントランザクション処理データベースの第2クエリログ集合に基づいて、前記オンライントランザクション処理データベースの第2データ鮮度要件を識別する、
ように構成され、
前記データ移動管理ユニットが更に、
前記オンライン分析処理データベースの前記第1データ鮮度要件が前記オンライントランザクション処理データベースの前記第2データ鮮度要件と対応している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーするコピー操作を前記データ管理操作として実施すると判断し、
前記オンライン分析処理データベースの前記第1データ鮮度要件が前記オンライントランザクション処理データベースの前記第2データ鮮度要件と対応していない場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーして前記オンライントランザクション処理データベースから前記第1データ集合を削除するコピー・削除操作を前記データ管理操作として実施すると判断する、
ように構成される、
請求項1に記載のデータ移動管理デバイス。
【請求項3】
前記コピー操作を実行する為に、前記データ移動管理ユニットが、
利用可能なCPU及びメモリリソースが第1リソース閾値に達している場合に、前記オンライントランザクション処理データベースからの前記第1データ集合を含む転送ファイルを生成し、
利用可能なネットワークリソースが第1ネットワークリソース閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記転送ファイルを転送する、
ように構成される、
請求項2に記載のデータ移動管理デバイス。
【請求項4】
前記コピー・削除操作を実行する為に、前記データ移動管理ユニットが、
利用可能なCPU及びメモリリソースが第1リソース閾値に達している場合に、前記オンライントランザクション処理データベースからの前記第1データ集合を含む転送ファイルを生成し、
利用可能なネットワークリソースが第1ネットワークリソース閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記転送ファイルを転送し、
前記オンライントランザクション処理データベースから前記第1データ集合を削除する、
ように構成される、
請求項2に記載のデータ移動管理デバイス。
【請求項5】
前記クエリログ管理ユニットが更に、
前記データ管理操作の判断を受けて、前記オンライントランザクション処理データベースの前記第2クエリログ集合に基づいて前記オンライントランザクション処理データベースの前記第1データ集合の更新頻度を判断し、
前記データ移動タイミング管理ユニットが更に、
前記オンライントランザクション処理データベースの前記第1データ集合の前記更新頻度が第1更新頻度閾値に達していて前記第1データ鮮度要件が第1近時性閾値に達していない場合に、前記データ管理操作の実行を所定時間だけ遅延させると判断し、
前記オンライントランザクション処理データベースの前記第1データ集合の前記更新頻度が前記第1更新頻度閾値に達していないか、前記第1データ鮮度要件が前記第1近時性閾値に達している場合に、前記データ管理操作の実行を開始すると判断する、
ように構成される、
請求項2に記載のデータ移動管理デバイス。
【請求項6】
前記クエリログ管理ユニットが更に、
前記オンライントランザクション処理データベースの前記第2クエリログ集合に基づいて、前記オンライントランザクション処理データベースへデータ記録が挿入されるデータ挿入率を判断する、
ように構成され、
前記データ移動タイミング管理ユニットが更に、
前記データ挿入率が第1挿入率閾値に達していないか前記第1データ鮮度要件が第1近時性閾値に達していない場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データが周期的に移動される周期的移動タイミングの間隔を増加させ、
前記データ挿入率が前記第1挿入率閾値に達しているか前記第1データ鮮度要件が第1近時性閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データが周期的に移動される周期的移動タイミングの間隔を減少させる
ように構成される、
請求項2に記載のデータ移動管理デバイス。
【請求項7】
ハイブリッドトランザクション分析アーキテクチャにおいてデータを管理する為のデータ移動管理
デバイスであって、クエリ管理ユニット、データ移動管理ユニット及びデータ移動タイミング管理ユニットを備えるデータ移動管理デバイスのデータ移動管理方法であって、
前記クエリ管理ユニットが、オンライン分析処理データベースの第1クエリログ集合から、オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出
し、
前記連合クエリに基づいて、前記オンライン分析処理データベースの第1データ鮮度要件を識別し、
前記データ移動管理ユニットが、少なくとも前記第1データ鮮度要件に基づいて、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーすることを少なくとも含むデータ管理操作を
判断し、
前記データ移動タイミング管理ユニットが、前記オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断することと、
を包含する方法。
【請求項8】
ハイブリッドトランザクション分析アーキテクチャにおいてデータを管理する為のデータ移動管理システムであって、
オンライントランザクション処理データベースを有するオンライントランザクション処理デバイスと、
オンライン分析処理データベースを有するオンライン分析処理デバイスと、
前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへのデータの移動を管理する為のデータ移動管理デバイスと、
を具備するデータ移動管理システムであり、
前記データ移動管理デバイスが、
前記オンライン分析処理データベースの第1クエリログ集合から、前記オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出するとともに、前記連合クエリに基づいて、前記オンライン分析処理データベースの第1データ鮮度要件を識別する為のクエリログ管理ユニットと、
少なくとも前記第1データ鮮度要件に基づいて、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断する為のデータ移動管理ユニットと、
前記オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する為のデータ移動タイミング管理ユニットと、
を含む、
データ移動管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ移動管理デバイスとデータ移動管理方法とデータ移動管理システムとに関する。
【背景技術】
【0002】
データベース管理システムは、データを収集、記憶、整理するのに会社又は他の組織により使用される一つのツールである。概して、データベース管理システムは、データを構造化フォーマットで記憶及び管理する為のシステムを指し、データベース内のデータを扱うとともに、様々なアプリケーションでの使用についてデータへのアクセスを促進する為の機能性を提供する。
【0003】
オンライントランザクション処理システム(OLTPシステム)及びオンライン分析処理システム(OLAPシステム)は、データベース内のデータを管理するのに使用され得る二つのタイプのデータベース処理システムである。
【0004】
OLTPシステムを使用するデータベース(以下、「OLTPデータベース」)は、データベース内のトランザクションデータを捕捉及び保持する。OLTPデータベースは、高速クエリ処理、リアルタイム更新、高い並行性、そして強い一貫性をサポートするように設計される。各トランザクションは、多数のフィールド又は列から成る個々のデータベース記録を必要とする。概して、クエリでは一度に数行のデータを修正するに過ぎない。OLTPデータベースアプリケーションの例は、銀行及びクレジットカード業務又は小売店レジスキャンを含む。
【0005】
他方で、OLAPシステムを使用するデータベース(以下「OLAPデータベース」)は、データマイニング、分析、そしてビジネスインテリジェンスプロジェクトの為にOLTPデータベース及び他のソースから集約される少量のトランザクションを含む大量の履歴データに、複雑なクエリを適用する。OLAPデータベースへのクエリは大抵、多くの行から集約された一以上のデータ列を必要とする。OLAPデータベースアプリケーションの例は、前年比財務実績又は見込み客開拓トレンドを含む。OLAPデータベース及びデータウェアハウスは、顧客レポートツールを使用してデータから知見を導き出す能力をアナリスト及び意思決定者に与える。
【0006】
一般的に、これらの相違ゆえに、OLTPクエリとOLAPクエリとは隔離されたデータベースで処理される。しかしながら、近年、トランザクション及び分析の作業負荷の間の境界が曖昧となり、OLAPシステムはよりトランザクション的な性質、及びOLTPシステムはより分析的な性質になっている。例えば統計分析を促進するには、OLAPデータベースに記憶された履歴データにおいて、高並行性の短いクエリを実行し、一般的にOLTPシステムで実施される小範囲クエリを履行することが必要となり得る。逆に、所与のアプリケーションについてOLTPデータベースに関するトランザクションを実施する時には、OLAPデータベースに記憶された履歴情報に関する大規模分析を実施することが必要となり得る。
【0007】
OLTP及びOLAPプロセスを含むハイブリッドトランザクション分析処理システム(HTAP)の実現を促進するには、抽出・変換・格納(ETL)技術と他の統合ツールとを使用してOLTPデータベースからOLAPデータベースへデータを効率的に移動させることが必要である。
【0008】
従来、HTAPシステムでデータ移動を促進する技術が検討されてきた。
【0009】
例えば、非特許文献1には、「IBM Db2分析アクセラレータ(IDAA)は、Db2ウェアハウスでの超高速カラムストア処理を含むz/OS用Db2の高いトランザクション性能をシームレスに拡張する最先端のハイブリッドデータベースシステムである。このアクセラレータはz/OS用Db2からのデータのコピーをバックエンドデータベースに保持する。テーブルの粒度やその一以上のパーティションにより、あるいは行が変化する際に漸次、複製技術を使用して単一の時点でデータが同期化され得る。IDAAバージョン3以降は、複製技術としてIBMチェンジデータキャプチャ(CDC)が採用されている。バージョン7.5.0では、IDDAによるCDCの使用に代わるものとして優れた複製技術―統合同期化―が導入されている。本論文では、統合同期化がどのようにして性能を桁違いに向上させ、準リアルタイムハイブリッドトランザクション分析(HTAP)処理への道を切り拓いたかを提示する。」と開示されている。
【先行技術文献】
【非特許文献】
【0010】
【文献】デニス・バタースタイン(Dennis Butterstein)、ダニエル・マルティン(Daniel Martin)、クヌート・シュトルツェ(Knut Stolze)、フェリクス・バイヤー(Felix Beier)、ジア・ゾン(Jia Zhong)、リンユン・ワン(Lingyun Wang)による「可変速度での複製―準リアルタイムHTAP処理の為の高速スケーラブル複製法(Replication at the Speed of Change-a Fast, Scalable Replication Solution for Near Real-Time HTAP Processing)」PVLDB,13(12):3245‐3257,2020.DOI:https://doi.org/10.14778/3415478.3415548
【発明の概要】
【発明が解決しようとする課題】
【0011】
一般に、HTAPシステムでは、OLTPデータベースからOLAPデータベースへデータが周期的に(例えば24時間毎に1回)移動される。しかしながら、幾つかの場合には、分析タスクその他を実施する為に、OLAPデータベースは、OLTPデータベースからOLAPデータベースへまだ移動されていない最新データへのアクセスを必要とする。このような場合には、OLAPデータベースが一時テーブルの形での特定データ集合の転送をリクエストする為のクエリである連合クエリをOLAPデータベースが生成し得る。しかしながら、このような連合クエリは計算コストが高く、OLTPデータベースの負荷を高め、クエリ処理時間の低速化と検索性能の低下とを潜在的に招く。
【0012】
非特許文献1は、高性能トランザクションデータベースシステムからカラムストアデータベースシステムへの高速データ複製を実施してHTAP処理を促進する為の技術を開示している。しかしながら、非特許文献1に記載された技術では、周期的な移動タイミングは一定間隔で実施され、データベースシステムのネットワーク負荷及びCPU負荷のような因子は、周期的移動タイミングの判断時に考慮されない。
【0013】
したがって、上記の課題から見て、HTAPシステムにおける分析及びトランザクションクエリの検索性能を促進する為に、データ鮮度要件、ネットワーク及びコンピューティングリソース可用性、そしてデータベースステータスに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のデータ移動管理技術を提供することが、本開示の目的である。
【課題を解決するための手段】
【0014】
本開示の一つの代表例は、ハイブリッドトランザクション分析アーキテクチャにおいてデータを管理する為のデータ移動管理デバイスに関しており、このデータ移動管理デバイスは、オンライン分析処理データベースの第1クエリログ集合から、オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出するとともに、連合クエリに基づいてオンライン分析処理データベースの第1データ鮮度要件を識別する為のクエリログ管理ユニットと、少なくとも第1データ鮮度要件に基づいて、オンライントランザクション処理データベースからオンライン分析処理データベースへ第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断する為のデータ移動管理ユニットと、オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、オンライントランザクション処理データベースからオンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する為のデータ移動タイミング管理ユニットとを含む。
【発明の効果】
【0015】
本開示によれば、HTAPシステムにおける分析及びトランザクションクエリの検索性能を促進する為に、データ鮮度要件とネットワーク及びコンピューティングリソース可用性とデータベースステータスとに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のデータ移動管理技術を提供することが可能である。
【0016】
上に記載されたもの以外の問題、構成、そして効果は、本発明を実行する為の実施形態についての以下の記載により明白になるだろう。
【図面の簡単な説明】
【0017】
【
図1】本開示の実施形態を実行する為のコンピューティングアーキテクチャ例を示すブロック図である。
【
図2】本開示の実施形態によるデータ移動管理システムの構成例を示す図である。
【
図3】本開示の実施形態によるデータ移動管理システムの機能的構成を示すブロック図である。
【
図4】HTAPシステムにおける操作フローの例を示す図である。
【
図5】本開示の実施形態によるデータ移動管理システムにおけるデータコピー操作フローの例を示す図である。
【
図6】本開示の実施形態によるデータ移動管理システムにおけるデータ削除操作フローの例を示す図である。
【
図7】本開示の実施形態によるデータ移動管理方法のフローを示すフローチャートである。
【
図8】本開示の実施形態によるデータ移動管理操作の判断についての特定例を示す図である。
【
図9】本開示の実施形態によるデータコピー操作フローを示すフローチャートである。
【
図10】本開示の実施形態によるデータコピー・削除操作フローを示すフローチャートである。
【
図11】本開示の実施形態によるデータ削除操作フローを示すフローチャートである。
【
図12】本開示の実施形態による周期的データ移動タイミング更新プロセスのフローを示すフローチャートである。
【
図13】本開示の実施形態によるデータ管理操作遅延プロセスのフローを示すフローチャートである。
【発明を実施するための形態】
【0018】
本明細書では、図を参照して本発明の実施形態が記載される。本明細書に記載の実施形態は請求項による発明に限定する意図はないことが留意されるべきであり、実施形態に関して記載される要素及びその組み合わせの各々が本発明の態様を実装するのに厳密には必要でないことが理解されるはずである。
【0019】
以下の記載及び関連の図には様々な態様が開示される。開示の範囲を逸脱することなく代替的な態様が考案されてもよい。付加的に、本開示の周知の要素は、開示の関連詳細を曖昧にしないように、詳しく記載されないか省略される。
【0020】
「例示的な(exemplary)」及び/又は「例(example)」という単語は、本明細書において、「例、実例、又は解説として機能する」ことを意味するのに使用される。「例示的」及び/又は「例」として本明細書に記載されるいかなる態様も、他の態様より好適又は有利であるものとして必ずしも解釈されるわけではない。同様に、「開示の態様(aspects of the disclosure)」の語は、開示の全ての態様が、記された特徴、利点、又は操作モードを含むことを必要とするものではない。
【0021】
更に、例えばコンピューティングデバイスの要素により実施される動作シーケンスとして多くの態様が記載される。特定回路(例えば特定用途向け集積回路(ASIC))により、一以上のプロセッサにより実行されるプログラム命令により、あるいは両者の組み合わせにより、本明細書に記載の様々な動作が実施され得ることが認識されるだろう。
【0022】
付加的に、本明細書に記載の動作シーケンスは、実行時に本明細書に記載の機能性を関連のプロセッサに実施させる対応のコンピュータ命令集合が記憶されたコンピュータ可読記憶媒体の形で全体が具体化されると見なされ得る。ゆえに、開示の様々な態様は幾つかの異なる形で具体化され、その全てが、請求項に記載の主題の範囲内にあると考えられている。
【0023】
図1には、本開示の様々な実施形態を実装する為の、実施形態によるコンピュータシステム100の高次ブロック図が描かれている。本明細書に開示される様々な実施形態の機構及び装置は、相応のコンピューティングシステムにも等しく適用される。コンピュータシステム100の主要コンポーネントは、一以上のプロセッサ102とメモリ104と端末インタフェース112と記憶装置インタフェース113と入出力(入力/出力)デバイスインタフェース114とネットワークインタフェース115とを含み、その全てが、メモリバス106と入出力バス108とバスインタフェースユニット109と入出力バスインタフェースユニット110とを介したコンポーネント間通信の為に、直接的又は間接的に通信結合されている。
【0024】
コンピュータシステム100は、本明細書では総称的にプロセッサ102と称される一以上の汎用プログラマブル中央処理ユニット(CPU)102A及び102Bを格納し得る。実施形態において、コンピュータシステム100は多数のプロセッサを格納し得るが、しかしながら或る実施形態では、コンピュータシステム100が代替的に単一のCPUシステムであってもよい。各プロセッサ102は、メモリ104に記憶された命令を実行し、一以上のレベルのオンボードキャッシュを含み得る。
【0025】
実施形態において、メモリ104は、データ及びプログラムを記憶又は符号化する為のランダムアクセス半導体メモリ、記憶デバイス、あるいは(揮発性と不揮発性のいずれかの)記憶媒体を含み得る。或る実施形態において、メモリ104はコンピュータシステム100の仮想メモリ全体を表し、コンピュータシステム100に結合されるかネットワークを介して接続された他のコンピュータシステムの仮想メモリも含み得る。メモリ104は概念的には単一のモノリシックエンティティと見なされ得るが、他の実施形態で、メモリ104は、キャッシュ及び他のメモリデバイスによる階層など、より複雑な仕組みである。例えば、メモリは多数のキャッシュレベルで存在し、これらのキャッシュは更に機能により分割されるので、一つのキャッシュは命令を保持するのに対して、別のキャッシュは単数又は複数のプロセッサにより使用される非命令データを保持する。様々ないわゆる不均一メモリアクセス(NUMA)コンピュータアーキテクチャのいずれかで知られるように、メモリは更に分散され、異なるCPU又はCPU集合と連動され得る。
【0026】
メモリ104は、本明細書に記されるようにデータ転送を処理する為の様々なプログラムとモジュールとデータ構造との全てあるいは一部分を記憶し得る。実例を挙げると、メモリ104はデータ移動管理アプリケーション150を記憶できる。実施形態において、データ移動管理アプリケーション150は、プロセッサ102で実行される命令又はステートメントを、あるいは、プロセッサ102で実行される命令又はステートメントにより解釈されて以下で更に記載されるような機能を行う命令又はステートメントを含み得る。
【0027】
或る実施形態において、データ移動管理アプリケーション150は、プロセッサベースシステムの代わりに、又はこれに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、及び/又は、他の物理的ハードウェアデバイスを介して、ハードウェアに実装される。実施形態において、データ移動管理アプリケーション150は、命令又はステートメントに加えてデータを含み得る。或る実施形態では、カメラ、センサ、又は他のデータ入力デバイス(不図示)が、バスインタフェースユニット109、プロセッサ102、又はコンピュータシステム100の他のハードウェアとの直接通信状態で設けられ得る。このような構成では、プロセッサ102がメモリ104及び潜在因子識別アプリケーションにアクセスする必要性が軽減される。
【0028】
コンピュータシステム100は、プロセッサ102とメモリ104とディスプレイシステム124と入出力バスインタフェースユニット110との間における通信を扱うバスインタフェースユニット109を含み得る。入出力バスインタフェースユニット110は、様々な入出力ユニットへ、そして様々な入出力ユニットからデータを転送する為の入出力バス108と結合され得る。入出力バスインタフェースユニット110は、入出力プロセッサ(IOP)又は入出力アダプタ(IOA)としても知られる多数の入出力インタフェースユニット112,113,114,115と、入出力バス108を通して通信する。ディスプレイシステム124は、ディスプレイコントローラ、ディスプレイメモリ、あるいは両方を含み得る。ディスプレイコントローラは、映像、音声、あるいは両方のタイプのデータをディスプレイデバイス126に提供し得る。更に、コンピュータシステム100は、データを収集してプロセッサ102に提供するように構成される一以上のセンサ又は他のデバイスを含み得る。
【0029】
例として、コンピュータシステム100は、(例えば心拍数データ、ストレスレベルデータを収集する)生体認証センサ、(例えば湿度データ、温度データ、圧力データを収集する)環境センサ、(例えば加速度データ、運動データを収集する)モーションセンサ、その他を含み得る。他のタイプのセンサも可能である。ディスプレイメモリは、映像データをバッファリングする為の専用メモリであり得る。ディスプレイシステム124は、独立型ディスプレイスクリーン、コンピュータモニタ、テレビ、あるいはタブレット又はハンドヘルドデバイスディスプレイのようなディスプレイデバイス126と結合され得る。
【0030】
一実施形態において、ディスプレイデバイス126は、音声を流す為の一以上のスピーカを含み得る。代替的に、音声を流す為の一以上のスピーカが入出力インタフェースユニットと結合されてもよい。代替実施形態において、ディスプレイシステム124により提供される機能のうち一以上は、プロセッサ102も含む集積回路に搭載され得る。加えて、バスインタフェースユニット109により提供される機能のうち一以上が、プロセッサ102も含む集積回路に搭載され得る。
【0031】
入出力インタフェースユニットは、多様な記憶及び入出力デバイスとの通信をサポートする。例えば、端末インタフェースユニット112は、(ビデオディスプレイデバイス、スピーカ、及び/又は、テレビのような)ユーザ出力デバイスと(キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイスのような)ユーザ入力デバイスとを含み得る一以上のユーザ入出力デバイス116の取付けをサポートする。ユーザは、ユーザ入出力デバイス116及びコンピュータシステム100へ入力データ及びコマンドを提供する為にユーザインタフェースを使用してユーザ入力デバイスを操作し、ユーザ出力デバイスを介して出力データを受理し得る。例えば、ディスプレイデバイスに表示される、スピーカを介して発せられる、又はプリンタを介して印刷されるなど、ユーザインタフェースはユーザ入出力デバイス116を介して提示され得る。
【0032】
記憶装置インタフェース113は、一以上のディスクドライブ又は直接アクセス記憶デバイス117(一般的には回転磁気ディスクドライブ記憶デバイスであるが、代替的に、ホストコンピュータへの単一の大型記憶デバイス、あるいはフラッシュメモリなどのソリッドステートドライブとして設けられるように構成されるディスクドライブのアレイを含む他の記憶デバイスであってもよい)の取付けをサポートする。幾つかの実施形態において、記憶デバイス117は、何らかのタイプの二次記憶デバイスを介して実装され得る。メモリ104のコンテンツ又はそのいずれかの部分が記憶デバイス117に記憶され、必要に応じてこれから検索され得る。入出力デバイスインタフェース114は、他の様々な入出力デバイス、あるいはプリンタ又はファックスなど他のタイプのデバイスのいずれかへのインタフェースとなる。ネットワークインタフェース115は、コンピュータシステム100から他のデジタルデバイス及びコンピュータシステムへの一以上の通信路となる。これらの通信路は、例えば、一以上のネットワーク130を含み得る。
【0033】
図1に示されているコンピュータシステム100には、プロセッサ102、メモリ104、バスインタフェース109、ディスプレイシステム124、そして入出力バスインタフェースユニット110の間での直接通信路となる特定のバス構造が示されているが、代替実施形態では、階層状のスター若しくはウェブ構成、多数の階層状バス、並列及び冗長経路、又は他のいずれかの適切なタイプの構成における二点間リンクなど、様々な形のいずれかで配置され得る多様なバス又は通信路をコンピュータシステム100が含み得る。更に、入出力バスインタフェースユニット110と入出力バス108とが単一の当該ユニットとして示されているが、コンピュータシステム100は、実際に、多数の入出力バスインタフェースユニット110及び/又は多数の入出力バス108を格納し得る。様々な入出力デバイスに通じる様々な通信路から入出力バス108を分離する多数の入出力インタフェースユニットが示されているが、他の実施形態では、入出力デバイスの一部又は全ては一以上のシステム入出力バスに直接的に接続される。
【0034】
様々な実施形態において、コンピュータシステム100は、ダイレクトユーザインタフェースをほとんど又は全く有しておらず他のコンピュータシステム(クライアント)からリクエストを受理するマルチユーザメインフレームコンピュータシステム、シングルユーザシステム、あるいはサーバコンピュータや類似のデバイスである。他の実施形態において、コンピュータシステム100は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップ又はノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、あるいは他の適当なタイプの電子デバイスとして実装され得る。
【0035】
次に、本開示の実施形態によるデータ移動管理システムの構成例が
図2を参照して記載される。
【0036】
図2は、本開示の実施形態によるデータ移動管理システム200の構成例を示す。データ移動管理システム200は、OLTPデータからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のシステムである。
図2に示されているように、データ移動管理システム200は、通信ネットワーク230により通信接続されるOLTPデバイス210とOLAPデバイス220とデータ移動管理デバイス240とを含む。ここで、通信ネットワーク230は、ローカルエリアネットワーク(LAN)接続、インターネット、ワイドエリアネットワーク(WAN)接続、メトロポリタンエリアネットワーク(MAN)接続、その他を含み得る。
【0037】
OLTPデバイス210は、OLTPデータベース214の操作をサポートするハードウェアデバイスである。
図2に示されているように、OLTPデバイス210は、CPU211、メモリ212と、OLTPデータベース214を記憶する為の記憶デバイス213と、ネットワークインタフェース215とを含み得る。実施形態において、OLTPデバイス210は、
図1に示されているコンピュータシステム100などのコンピュータシステムを使用して実装され得る。本明細書に記載されるように、OLTPデータベース214は、高速クエリ処理、リアルタイム更新、高い並行性、そして強い一貫性をサポートするように構成されるデータベースを含み得る。各トランザクションは、多数のフィールド又は列から成る個々のデータベース記録を必要とする。概して、クエリは一度に少数行のデータのみを修正する。OLTPデータベースアプリケーションの例は、銀行及びクレジットカード業務又は小売店レジスキャンを含む。
【0038】
OLAPデバイス220は、OLAPデータベース224の操作をサポートするハードウェアデバイスである。
図2に示されているように、OLAPデバイス220は、CPU221と、メモリ222と、OLAPデータベース224を記憶する為の記憶デバイス223と、ネットワークインタフェース225とを含み得る。実施形態において、OLAPデバイス220は、
図1に示されているコンピュータシステムなどのコンピュータシステム100を使用して実装され得る。本明細書に記載されるように、OLAPデータベース224は、OLTPデータベース(例えばOLTPデータベース214)と、データマイニング、分析、そしてビジネスインテリジェンスプロジェクトの為の他のソースとから集約された大量の履歴データに対して少量のトランザクションで複雑なクエリを適用するように構成され得る。OLAPデータベース224へのクエリは、多数の行から集約された一以上のデータ列を必要とし得る。OLAPデータベースアプリケーションの例は、前年比財務業績又は見込み客開拓トレンドを含む。
【0039】
データ移動管理デバイス240は、OLTPデバイス210のOLTPデータベース214からOLAPデバイス220のOLAPデータベース224へのデータの移動を管理する為のハードウェアデバイスである。
図2に示されているように、データ移動管理デバイス240は、CPU241とメモリ242と記憶デバイス243とネットワークインタフェース244とを含み得る。実施形態において、OLAPデバイス220は、
図1に示されているコンピュータシステム100などのコンピュータシステムを使用して実装され得る。
【0040】
データ移動管理デバイス240の機能が後で詳しく記載されるので、ここではその記載は省略されることが留意されるべきである。
【0041】
図2に示されているように構成されたデータ移動管理システム200によれば、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節することが可能になる。
【0042】
OLTPデータベース214を記憶する為のOLTPデバイス210と、OLAPデータベース224を記憶する為のOLAPデバイス220と、データ移動管理デバイス240とが、通信ネットワーク230を介して接続される別々のハードウェアデバイスとして実装される構成例が
図2に示されているが、本開示はこれに限定されないことが留意されるべきである。実例を挙げると、OLTPデータベース214とOLAPデータベース224とが同じハードウェアデバイスに記憶され、通信ネットワーク230を介してデータ移動管理デバイス240により管理される構成、あるいは、OLTPデータベース214とOLAPデータベース224とデータ移動管理デバイス240の機能性とが全て同じハードウェアデバイスに実装される構成も可能である。
【0043】
次に、
図3を参照してデータ移動管理システム200の機能的構成が記載される。
【0044】
図3は、データ移動管理システム200の機能的構成を示すブロック図である。本明細書に記載されるように、データ移動管理システム200は、通信ネットワーク230により通信接続されるOLTPデバイス210とOLAPデバイス220とデータ移動管理デバイス240とを含む。
【0045】
OLTPデバイス210は、OLTPデータベース負荷データ312とOLTPクエリログファイル314とOLTPデータベース214とを含む。OLTPデータベース負荷データ312は、CPUリソース可用性と、メモリリソース可用性と、平均毎秒データ読取り数と、平均毎秒データ書込み数と、OLTPデータベース214についての他の使用情報とを表すデータの集合体である。OLTPクエリログファイル314は、OLTPデータベース214の読取り及び書込みクエリを表す。
【0046】
OLAPデバイス220は、OLAPデータベース負荷データ322とOLAPクエリログファイル324とOLAPデータベース224とを含む。OLAPデータベース負荷データ322は、CPUリソース可用性と、メモリリソース可用性と、平均毎秒データ読取り数と、平均毎秒データ書込み数と、OLAPデータベース224についての他の使用情報とを表すデータの集合体である。OLAPクエリログファイル324は、OLAPデータベース224の読取り及び書込みクエリを表す。
【0047】
データ移動管理デバイス240は、テーブルステータスデータベース341とテーブルステータス管理ユニット342とクエリログ管理ユニット343とリソース管理ユニット344とデータ移動管理ユニット345とデータ移動タイミング管理ユニット346とを含む。
【0048】
テーブルステータスデータベース341は、OLTPデータベース214とOLAPデータベース224とに記憶されたデータを表す情報の為のデータベースである。実施形態において、テーブルステータスデータベース341は、OLTPデータベース214及びOLAPデータベース224のデータ鮮度要件を表すステータス情報を含み得る。概して、データ鮮度は、特定のデータ集合がどれほど最新である(つまり現在に近い)かを指す。多様なデータベースが、それが記憶するデータのデータ鮮度に関する多様な要件を有し得る。データ鮮度の限界を規定するこれらの要件は、本明細書でデータ鮮度要件と呼ばれる。実施形態において、これらのデータ鮮度要件は、特定のデータベースに記憶されたデータを利用するアプリケーションにより規定され得る。一例として、銀行業務アプリケーションは、データが現在において最新であることを必要とするデータ鮮度要件を有するのに対して、統計分析アプリケーションは、データが過去6か月について最新であることを必要とするデータ鮮度要件を有し得る。
【0049】
テーブルステータス管理ユニット342は、テーブルステータスデータベース341を管理及び更新する為の機能ユニットである。OTLPデータベース214又はOLAPデータベース224に新しい情報が追加される際に、あるいはデータ鮮度要件が変化する際に、テーブルステータス管理ユニット342はテーブルステータスデータベース341を更新し得る。テーブルステータス管理ユニット342は、OLTPデータベース214にどのデータが記憶されているかと、OLAPデータベース224にどのデータが記憶されているかとを判断し得る。
【0050】
クエリログ管理ユニット343は、OLTPデータベース214及びOLAPデータベース224のクエリログ(すなわち、OLTPクエリログファイル314及びOLAPクエリログファイル324)を監視及び分析する為の機能ユニットである。実施形態において、クエリログ管理ユニットは、特定のデータベース又は特定のデータリクエストのデータ鮮度要件を、このデータベースのクエリログを分析することにより判断し得る。一例として、クエリログ管理ユニット343は、OLAPクエリログファイル324から、オンライントランザクション処理データベース214から第1データ集合をリクエストするOLAPデータベース224からの連合クエリを検出し、検出された連合クエリに基づいて、OLAPデータベースの第1データ鮮度要件を識別し得る。本明細書に記載されるように、この第1データ鮮度要件は、OLTPデータベース214からOLAPデータベース224へのデータの周期的移動タイミングを実施する為の適時を判断する際に利用され得る。
【0051】
リソース管理ユニット344は、OLTPデータベース214及びOLAPデータベース224の負荷及び可用性リソースを監視及び分析する為の機能ユニットである。実施形態において、リソース管理ユニット344は、OLTPデータベース負荷データ312とOLAPデータベース負荷データ322とにアクセスしてこれらを分析し、CPUリソース可用性、メモリリソース可用性、平均毎秒データ読取り数、平均毎秒データ書込み数、そして各データベースについての他の使用情報を判断し得る。更に、リソース管理ユニットは、通信ネットワーク230に対する診断を実施して、ダウンロード速度、アップロード速度、データ転送の為の通信ネットワーク230の可用性などの情報を取得し得る。
【0052】
データ移動管理ユニット345は、データ管理操作を判断及び実施してOLTPデータベース214からOLAPデータベース224へのデータの移動を促進する為の機能ユニットである。ここで、データ管理操作は、OLTPデータベース214からのデータがOLTPデータベース214に保持されたままでOLAPデータベース224へコピーされるコピー操作、あるいは、OLTPデータベース214からのデータがOLAPデータベース224にコピーされてOLTPデータベース214から削除されるコピー・削除操作を含み得る。実施形態において、データ管理操作の判断は、少なくともOLTPデータベース214及び/又はOLAPデータベース224のデータ鮮度要件に基づき得る。
【0053】
データ移動タイミング管理ユニット346は、OLTPデータベース214からOLAPデータベース224への一括データの移動に適切な周期的移動タイミングを判断する為の機能ユニットである。実施形態において、データ移動タイミング管理ユニット346は、OLAPデータベース224からの連合クエリの頻度に基づいて判断され得る。一例として、データ移動タイミング管理ユニット346は、OLAPデータベース224に最新データをより頻繁に提供する為にOLAPデータベース224からの連合クエリの頻度が高い場合において周期的データ移動時の間隔を減少させると判断し、これにより連合クエリの数を低減させて、OLTPデータベース214への処理負荷を軽減し得る。代替的に、データ移動タイミング管理ユニット346は、OLAPデータベース224のデータ鮮度要件が緩和されて最新データが必要ではない場合において周期的移動時の間隔を増加させると判断し、これによりOLTPデータベース214の処理負荷を軽減し得る。
【0054】
図3に示されているように構成されたデータ移動管理システム200によれば、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節することにより、クエリ処理時間の高速化と検索性能の上昇とを促進することが可能になる。
【0055】
次に、HTAPシステムでの操作フローの一例が
図4を参照して記載される。
【0056】
図4は、HTAPシステムでの操作フローの一例を示す図である。
【0057】
最初に、OLTPデータベース214は、挿入クエリ410の形のデータをセンサ401及びセンサ402などのセンサデバイスからゲートウェイ405を介して受理する。OLTPデータベース214は挿入クエリ410を処理して、受理したデータをOLTPデータベース214に挿入して記憶する。センサ401,402が監視アプリケーションの一部として測定値を収集する際に、挿入クエリ410はゲートウェイ405へ連続ストリーミングされ得る。読取りクエリ420の受理を受けて、OLTPデータベース214はリクエストされたデータを取得して、インタフェースでの表示の為にこれをトランザクションアプリケーション430に提供する。OLTPデータベース214は短期データへの高速アクセスをサポートするように設計されるので、例として、トランザクションアプリケーション430は、最後の30分間にセンサ401,402により収集された時系列データをグラフ又はチャートに表示すること、5分間隔での平均測定値を示すこと、特定の時間での特定のセンサの測定値を示すこと、その他を行い得る。
【0058】
所定のデータ移動タイミング(例えば24時間毎に1回)で、OLTPデータベース214からOLAPデータベース224へデータが移動される。しかしながら、本明細書に記載されるように、幾つかの場合に、OLAPデータベース224は、転送されてOLAPデータベース224に記憶されているデータより新しい(例えばより最新の)データを必要とするデータ鮮度要件に達しているデータを指定する分析アプリケーション440から分析クエリ450を受理し得る。すなわち、分析クエリ450は、OLTPデータベース214からOLAPデータベース224へまだ転送されていないデータの使用を必要とするのである。このような場合に、OLAPデータベース224は、分析クエリ450を遂行する為にOLTPデータベース214から指定データ集合の転送をOLAPデータベース224がリクエストする際のクエリである連合クエリを生成し得る。しかしながら、このような連合クエリは計算費用が高く、OLTPデータベース214の負荷を増加させ、クエリ処理時間の低速化と検索性能の低下とを潜在的に招く。
【0059】
したがって、本開示の態様は、HTAPシステムにおいて分析及びトランザクションクエリの検索性能を促進する為にデータ鮮度要件とネットワーク及びコンピューティングリソース可用性とデータベースステータスとに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のデータ移動管理技術を提供することに関する。こうして、OLAPデータベース224は、連合クエリの頻度とOLTPデータベース214の処理負荷とを低下させながら最新状態に維持され得る。
【0060】
次に、本開示の実施形態によるデータ移動管理システムでのデータコピー操作のフローの一例が
図5を参照して記載される。
【0061】
本明細書で記載されるように、データ移動管理デバイス240は、データ管理操作を判断及び実施してOLTPデータベース214からOLAPデータベース224へのデータの移動を促進するように構成される。実施形態において、データ管理操作は、OLTPデータベース214からOLAPデータベース224へ特定のデータ集合をコピーするデータコピー操作を含み得る。付加的に、或る実施形態において、データ管理操作は、OLTPデータベース214からOLAPデータベース224へ特定のデータ集合をコピーし、続いてコピーされたデータをOLTPデータベース214から削除するデータコピー・削除操作を含み得る。
図5は、本開示の実施形態によるデータ移動管理システム200でのデータコピー操作のフローの一例を示す図である。
【0062】
図5に示されているように、データ移動管理デバイス240は、OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230(
図5では不図示)のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件とを含む情報を取得し得る。
【0063】
第1データ鮮度要件は、OLAPデータベース224に関するクエリへの応答時の使用の為に特定のデータ集合はどれほど近時性でなければならないかを表す情報を含む。実施形態において、第1データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。一例として、第1データ鮮度要件は、「[2019年1月7日09:30:00]と[2021年3月31日11:00:00]との間」の日付範囲を含み得る。OLAPデータベース224が[2021年3月31日11:00:00]までの日付を含まない場合には、この第1データ鮮度要件を含むクエリに応じたデータをOLAPデータベース224がOLTPデータベース214からリクエストすることが必要であり得る。実施形態において、データ移動管理デバイスは、OLAPクエリログファイル324内のクエリ(例えば連合クエリ)から第1データ鮮度要件を抽出することにより第1データ鮮度要件を判断し得る。
【0064】
OLAPデータベース負荷データ322は、CPUリソース可用性とメモリリソース可用性と平均毎秒データ読取り数と平均毎秒データ書込み数とOLAPデータベース224についての他の使用情報とを表すデータの集合体である。同様に、OLTPデータベース負荷データ312は、CPUリソース可用性とメモリリソース可用性と平均毎秒データ読取り数と平均毎秒データ書込み数とOLTPデータベース214についての他の使用情報とを表すデータの集合体である。
【0065】
ネットワークステータス情報506は、ダウンロード速度とアップロード速度とデータを転送する為の通信ネットワーク230の可用性とを含む情報の集合体である。実施形態において、データ移動管理デバイス240は、通信ネットワーク230に対して一連の診断を実施することによりネットワークステータス情報506を判断し得る。
【0066】
第2データ鮮度要件は、OLTPデータベース214に関するクエリへの応答時の使用の為に特定のデータ集合がどれほど近時性でなければならないかを表す情報を含む。実施形態において、第2データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。実施形態において、データ移動管理デバイス240は、OLTPクエリログファイル314内のクエリから第2データ鮮度要件を抽出することにより第2データ鮮度要件を判断し得る。
【0067】
OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230(
図5では不図示)のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件との取得を受けて、データ移動管理デバイスは、OLTPデータベース214からOLAPデータベースにコピーされるデータ集合を、データコピー操作についての適時とともに、データコピー操作の一部として判断し得る。データコピー操作についての適時は、OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件とに基づいて判断され得る。データ管理操作のタイミングの判断についての詳しい記載は後で挙げられるので、その説明はここでは省略される。
【0068】
OLTPデータベース214からOLAPデータベースにコピーされるデータ集合を、データコピー操作についての適時とともにデータコピー操作の一部として判断した後に、データ移動管理デバイス240は、リクエストされたデータをOLTPデータベース214に記憶するテーブル510を読み取り、データを格納するCSVファイルを生成し、OLAPデータベース224の指定テーブル520へのCSVファイルの一括インポートを実施し、データをコミットし、新規追加データを反映するようにテーブルステータスデータベース341を更新し得る。
【0069】
次に、本開示の実施形態によるデータ移動管理システムでのデータ削除操作のフローの一例が、
図6を参照して記載される。
【0070】
図6は、本開示の実施形態によるデータ移動管理システムにおけるデータ削除操作のフローの一例を示す図である。実施形態において、
図6に示されているデータ削除操作は、データコピー・削除操作の一部として、
図5に示されているデータコピー操作に続いて示され得る。
【0071】
データ移動管理デバイス240は最初に、OLTPデータベース214から削除されるべきデータ集合を、データ削除操作についての適時とともに判断し得る。実施形態において、データ移動管理デバイス240は、前にOLTPデータベース214からOLAPデータベース224へコピーされたデータ集合を削除すると判断し得る。データ削除操作についての適時は、OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件とに基づいて判断され得る。データ管理操作のタイミングの判断についての詳しい記載は後で挙げられるので、その説明はここでは省略される。
【0072】
続いて、データ移動管理デバイス240は、判断されたデータを、それが記憶されたOLTPデータベース214のテーブル610から削除し、削除されたデータを反映するようにテーブルステータスデータベース341を更新し得る。
【0073】
図5及び
図6を参照して上に記載されたデータ移動管理操作によれば、データ移動管理デバイス240は、連合クエリの頻度とOLTPデータベース214の処理負荷とを低下させながら、OLAPデータベース224を最新状態に維持できる。
【0074】
次に、本開示の実施形態によるデータ移動管理方法の一例が
図7を参照して記載される。
【0075】
図7は、本開示の実施形態によるデータ移動管理方法700のフローを示すフローチャートである。データ移動管理方法700は、OLTPデータベース及びOLAPデータベースのデータ鮮度要件に基づいてデータ移動管理操作を判断及び実施し、更新済み周期的データ移動タイミングを判断してクエリ処理性能を促進する為の方法である。
【0076】
最初に、ステップS705で、データ移動管理デバイス240のクエリログ管理ユニット343は、連合クエリの発出についてOLTPクエリログファイル(OLTPクエリログファイル314)とOLAPクエリログファイル(OLAPクエリログファイル324)とを監視する。クエリログ管理ユニット343は、OLAPクエリログファイルのクエリがOLAPデータベース内で可用状態ではないデータに関係している(例えばこれを必要とする)場合に、連合クエリの発出を検出し得る。
【0077】
次に、ステップS710で、クエリログ管理ユニット343は、OLAPデータベースからの連合クエリが検出されたかどうかを判断し得る。OLAPデータベースからの連合クエリが検出された場合には、処理はステップS715へ進む。逆に、OLAPデータベースからの連合クエリが検出されていない場合には、処理はステップS705へ戻ってクエリログファイルの監視を続ける。
【0078】
次に、連合クエリが検出された場合には、ステップS715で、クエリログ管理ユニット343が、連合クエリに基づいてOLAPデータベースの第1データ鮮度要件を識別し得る。本明細書で記載される際に、第1データ鮮度要件は、OLAPデータベース224のクエリへの応答時の使用の為に特定のデータ集合がどれほど近時性でなければならないかを表す情報を含む。実施形態において、第1データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。一例として、第1データ鮮度要件は、「[2019年1月7日09:30:00]と[2021年3月31日11:00:00]の間」の日付範囲を含み得る。クエリログ管理ユニット343は、検出された連合クエリから抽出することにより第1データ鮮度要件を識別し得る。
【0079】
次に、ステップS720で、データ移動管理デバイス240のデータ移動管理ユニット345は、連合クエリによりリクエストされたデータの量がデータ量閾値を満たすかどうかを判断する。連合クエリによりリクエストされたデータの量は、ステップS715で識別された第1データ鮮度要件に基づいて判断され得る。例えば、データ移動管理ユニット345は、識別された第1データ鮮度要件を使用してOLTPデータベース(及び/又はテーブルステータスデータベース)を参照し、連合クエリに応じる為にOLTPデータベースからOLAPデータベースへ移動される必要のあるデータの量を確認し得る。
【0080】
ここで、データ量閾値は特定量のデータを指定する所定の値である。データ量閾値は、特定のデータサイズ(5メガバイト、100メガバイト、1ギガバイト)として、あるいはデータ行又は列の数(50行、100行、50列)として表現され得る。連合クエリによりリクエストされたデータ量がデータ量閾値より少ない時に、連合クエリはデータ量閾値を満たしていると考えられる。この場合には、連合クエリによりリクエストされたデータの量は実質的に小さいので、OLTPデータベースへの負荷を著しく増加させることなく連合クエリが実行され得る。逆に、連合クエリによりリクエストされたデータの量が大きい(例えば、連合クエリがデータ量閾値を満たしていない)場合には、データ管理操作を実施して、リクエストされたデータをOLAPデータベースに提供し、今後の連合クエリの頻度を低下させるように周期的データ移動タイミングを修正することが望ましい。
【0081】
したがって、連合クエリがデータ量閾値を満たしている場合には、処理はステップS725へ進む。逆に、連合クエリがデータ量閾値を満たしていない場合には、処理はステップS730へ進む。
【0082】
ステップS725で、データ移動管理ユニット345は、OLAPデータベースで連合クエリを処理するのに必要なデータをOLTPデータベースから取得するために連合クエリを実行する。
【0083】
ステップS730で、データ移動管理ユニット345は、OLTPクエリログファイル(例えばOLTPクエリログファイル314)に基づいてOLTPデータベースの第2データ鮮度要件を識別し得る。第2データ鮮度要件は、OLTPデータベースのクエリへの応答時の使用の為に特定のデータ集合がどれほど近時性でなければならないかを表す情報を含む。実施形態において、第2データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。実施形態において、データ移動管理ユニット345は、OLTPデータベースで最も近時にアクセスされたデータ(例えば、OLTPデータベースで近時にアクセスされたデータは、クエリを処理するのにOLTPデータベースによりやはり必要とされるデータである。)を表すOLTPクエリログファイルに記録されたクエリを分析することにより、第2データ鮮度要件を判断し得る。
【0084】
次に、ステップS735で、データ移動管理ユニット345は、ステップS715で識別された第1データ鮮度要件を、ステップS730で識別された第2データ鮮度要件と比較して、第1データ鮮度要件が第2データ鮮度要件に対応するかどうかを判断し得る。ここで、データ移動管理ユニット345は、第1データ鮮度要件により指定された日付範囲が第2データ鮮度要件により指定された日付範囲の少なくとも一部分と重複している場合には第1データ鮮度要件が第2データ鮮度要件に対応すると判断し得る。逆に、データ移動管理ユニット345は、第1データ鮮度要件により指定された日付範囲が第2データ鮮度要件により指定された日付範囲の少なくとも一部分と重複していない場合には第1データ鮮度要件が第2データ鮮度要件に対応しないと判断し得る。
【0085】
第1及び第2データ鮮度要件が対応していると判断された場合には、処理はステップS745へ進む。逆に、第1及び第2データ鮮度要件が対応していない場合には、処理はステップS740へ進む。
【0086】
ステップS740で、データ移動管理ユニット345は、連合クエリによりリクエストされた第1データ集合をOLTPデータベースからOLAPデータベースにコピーして、OLTPデータベースから第1データ集合を削除するコピー・削除操作を、データ管理操作として実施すると判断し得る。すなわち、OLTPデータベース及びOLAPデータベースのデータ鮮度要件が重複していないので、連合クエリによりリクエストされた第1データ集合はもはやOLTPデータベースによる使用状態になく、ゆえにOLTPデータベースから削除され得る。データコピー・削除操作は後で記載されるので、その詳細な説明はここでは省略される。
【0087】
ステップS745で、データ移動管理ユニット345は、連合クエリによりリクエストされた第1データ集合をOLTPデータベースからOLAPデータベースにコピーするコピー操作を、データ管理操作として実施すると判断し得る。すなわち、OLTPデータベース及びOLAPデータベースのデータ鮮度要件が重複しているので、連合クエリによりリクエストされた第1データ集合はまだOLTPデータベースによる使用状態にあり、ゆえにOLTPデータベースに保持されるべきである。データコピー操作は後で記載されるので、その詳細な説明はここでは省略される。
【0088】
ステップS750で、データ移動管理ユニット345は、連合クエリの頻度が頻度閾値に達しているかどうかを判断する。ここで、頻度閾値は、連合クエリの所定の発出率を規定し、所与の時間当たりにOLAPデータベースで発出された連合クエリの数(例えば1時間当たり1個の連合クエリ、1日当たり10個の連合クエリ)として表現され得る。特定の時間にOLAPデータベースについてデータ移動管理ユニット345により計算される連合クエリの頻度が頻度閾値より大きい場合には、連合クエリの頻度は頻度閾値に達していると考えられる。連合クエリの頻度が頻度閾値に達している場合には、処理はステップS755へ進む。逆に、連合クエリの頻度が頻度閾値に達していない場合には、処理はステップS705へ戻って、OLTPデータベース及びOLAPデータベースのクエリログファイルの監視を続ける。
【0089】
ステップS755で、データ移動タイミング管理ユニット346は、OLTPデータベースからOLAPデータベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する。すなわち、連合クエリの頻度が頻度閾値に達している場合には、最新データをOLAPデータベースに提供する為に周期的移動タイミングを修正して、OLAPデータベースで発せられる連合クエリの数を減少させることが望ましい。更新済み周期的データ移動タイミングを判断する為の処理は後で記載されるので、その詳細な説明はここでは省略される。
【0090】
図7に図示されたデータ移動管理方法700によれば、HTAPシステムにおける分析及びトランザクションクエリの検索性能を促進する為に、データ鮮度要件とネットワーク及びコンピューティングリソース可用性とデータベースステータスとに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節することが可能である。このようにして、連合クエリの頻度とOLTPデータベース214の処理負荷とを低下させながら、OLAPデータベース224が最新状態に維持され得る。
【0091】
次に、本開示の実施形態によるデータ移動管理操作を判断する特定例が
図8を参照して記載される。
【0092】
本明細書に記載されるように、本開示の実施形態によるデータ移動管理デバイス240は、OLAPデータベース及びOLTPデータベースのデータ鮮度要件に基づいてデータ移動管理操作を判断するように構成される。
図8は、本開示の実施形態によるデータ移動管理操作を判断する特定例を示す図である。
【0093】
データ移動管理デバイス240のクエリログ管理ユニット343は、OLAPデータベースのOLAPクエリログファイル324に記憶されたクエリログを分析して、OLAPデータベースの第1データ鮮度要件810を識別し得る。例えば、第1データ鮮度要件810は「2019年1月7日09:30~2021年3月31日11:00」の日付範囲を指定し得る。実施形態において、クエリログ管理ユニット343は、OLAPデータベースからの連合クエリの検出を受けてOLAPクエリログファイル324を分析し得る。
【0094】
次に、クエリログ管理ユニット343は、OLTPデータベースのOLTPクエリログファイル314に記憶されたクエリログを分析して、OLTPデータベースの第2データ鮮度要件820を識別し得る。実施形態において、クエリログ管理ユニット343は、OLTPデータベースで最も近時にアクセスされたデータを表すクエリに基づいて第2データ鮮度要件820を識別し得る。一例として、第2データ鮮度要件820は、「2021年1月7日09:30~2021年1月7日11:00」の日付範囲を指定し得る。
【0095】
続いて、データ移動管理デバイス240のデータ移動管理ユニット345は、第1データ鮮度要件810を第2データ鮮度要件820と比較して、第1データ鮮度要件810が第2データ鮮度要件820と対応しているかどうかを判断し得る。ここで、データ移動管理ユニット345は、第1データ鮮度要件810により指定された日付範囲が第2データ鮮度要件820により指定された日付範囲の少なくとも一部分と重複している場合には、第1データ鮮度要件810が第2データ鮮度要件820と対応していると判断し得る。逆に、データ移動管理ユニット345は、第1データ鮮度要件810により指定された日付範囲が第2データ鮮度要件820により指定された日付範囲の少なくとも一部分と重複していない場合には、第1データ鮮度要件810が第2データ鮮度要件820と対応していないと判断し得る。
【0096】
第1データ鮮度要件810が第2データ鮮度要件820と対応している場合に、データ移動管理ユニット345は、OLTPデータベースからOLAPデータベースへ第1データ集合をコピーするコピー操作をデータ管理操作として実施すると判断し得る。逆に、第1データ鮮度要件810が第2データ鮮度要件820と対応していない場合に、データ移動管理ユニット345は、OLTPデータベースからOLAPデータベースへ第1データ集合をコピーしてOLTPデータベースから第1データ集合を削除するコピー・削除操作を、データ管理操作として実施すると判断し得る。
【0097】
この例では、「2019年1月7日09:30~2021年3月31日11:00」の第1データ鮮度要件810が「2021年1月7日09:30~2021年1月7日11:00」の第2データ鮮度要件820と重複している(例えば、両方のデータ鮮度要件が2021年1月7日09:30~2021年1月7日11:00のデータを必要とする)ので、データ移動管理ユニット345は、OLTPデータベースからOLAPデータベースへ第1データ集合をコピーするコピー操作をデータ管理操作として実施すると判断し得る。
【0098】
次に、本開示の実施形態によるデータコピー操作の一例が
図9を参照して記載される。
【0099】
図9は、本開示の実施形態によるデータコピー操作900のフローを示すフローチャートである。データコピー操作900は、OLTPデータベースからOLAPデータベースへデータ集合をコピーする為の方法である。データコピー操作900を実施して、リクエストされたデータをOLAPデータベースに提供すると、OLTPデータベースのリソース使用に負の影響を与え得る連合クエリ実行の必要性を回避し得る。
図9に示されているデータコピー操作900は、実質的に
図7のステップS745に対応する。
【0100】
最初に、ステップS905で、リソース管理ユニット344はOLTPデータベース負荷データ(例えば、OLTPデータベース負荷データ312)とOLAPデータベース負荷データ(例えば、OLAPデータベース負荷データ322)とを分析して、OLTPデータベースとOLAPデータベースの両方でのコンピューティングリソースの可用性を判断する。例えば、リソース管理ユニット344は、OLTPデータベース負荷データとOLAPデータベース負荷データとに基づいて、OLTPデータベース及びOLAPデータベースにおけるCPUリソースとメモリリソースとの可用性を判断し得る。
【0101】
次に、ステップS910で、リソース管理ユニット344は、データコピー操作を実施するのに充分なコンピューティングリソースがOLTPデータベースとOLAPデータベースの両方で可用状態であるかどうかを判断する。実施形態において、データ移動管理ユニット345は、ステップS905で判断されたOLTP及びOLAPデータベースの可用性コンピューティングリソースを、データコピー操作に必要なコンピューティングリソースを指定する所定の明細情報と比較することにより、充分なコンピューティングリソースが可用状態であるか否かを判断し得る。充分なコンピューティングリソースが可用状態である場合には、処理はステップS915へ進む。充分なリソースが可用状態でない場合には、データ移動管理ユニット345は所定時間待機してステップS905へ戻る。
【0102】
次に、ステップS915で、データ移動管理ユニット345は、データ移動管理方法700のステップS710で検出された連合クエリによりリクエストされた第1データ集合を含むCSVファイルを生成し得る。
【0103】
次に、ステップS920で、リソース管理ユニット344は、通信ネットワーク(例えば、
図2及び
図3に示された通信ネットワーク230)を分析して、ネットワークリソースの可用性を判断し、データコピー操作を実施し得る。実施形態において、リソース管理ユニット344は、ダウンロード速度、アップロード速度、可用性、その他を確認する一以上の診断を通信ネットワーク230に対して実施することにより、ネットワークリソースの可用性を判断し得る。
【0104】
次に、ステップS925で、リソース管理ユニット344は、データコピー操作を実施するのに充分なネットワークリソースが可用状態であるかどうかを判断し得る。実施形態において、リソース管理ユニット344は、ステップS920で判断されたネットワークリソースを、所与のデータサイズについてデータコピー操作を実施するのに必要なネットワークリソースを指定する所定の明細情報と比較し得る。充分なネットワークリソースが可用状態である場合には、処理はステップS930へ進む。充分なリソースが可用状態ではない場合には、データ移動管理ユニット345が所定時間待機してステップS920へ戻る。
【0105】
ステップS930で、データ移動管理ユニット345は、ステップS915で生成されたCSVファイルをOLTPデータベースから(例えばOLTPデバイス210から)OLAPデバイスへ(例えばOLAPデバイス220へ)、通信ネットワーク230を介して転送し得る。実施形態では、安全な、あるいは暗号化されたネットワークチャネルを経由して、CSVファイルの転送が行われ得る。
【0106】
ステップS935で、データ移動管理ユニット345は、CSVファイルの転送の後でOLTP及びOLAPデータベースの各々のデータを反映するようにテーブルステータスデータベース341を更新し(例えば、転送されたデータを含むようにOLAPデータベースのステータスを更新し)得る。
【0107】
データコピー操作900によれば、OLTPデータベースからOLAPデータベースへの必要データの転送を実施して、連合クエリの頻度とOLTPデータベースの処理負荷とを低下させながらOLAPデータベースを最新状態に維持することが可能である。
【0108】
次に、本開示の実施形態によるデータコピー・削除操作の一例が
図10を参照して記載される。
【0109】
図10は、本開示の実施形態によるデータコピー・削除操作1000のフローを示すフローチャートである。データコピー・削除操作1000は、OLTPデータベースからOLAPデータベースへデータ集合をコピーし、続いて、コピーされたデータをOLTPデータベースから削除する為の方法である。データコピー・削除操作1000を実施して、リクエストされたデータをOLAPデータベースに提供し、続いて、コピーされたデータをOLTPデータベースから削除すると、OLTPデータベースのリソース使用に負の影響を与え得る連合クエリを実行する必要性を回避するとともに、OLTPデータベースの高速クエリ処理も促進し得る。
図10に図示されているデータコピー・削除操作1000は、
図7のステップS740に実質的に対応する。
【0110】
図10に示されているステップS1005,S1010,S1015,S1020,S1025,S1030,S1035は、
図9に示されているステップに実質的に対応するので、説明を簡易にする為、これらのステップの冗長的な記載はここでは省略される。
【0111】
ステップS1040で、データ移動管理ユニット345は、OLTPデータベースから削除されるべきデータを判断し得る。実施形態において、データ移動管理ユニット345は、OLAPデータベースの連合クエリによりリクエストされて、ステップS1030でOLTPデータベースからOLAPデータベースへ転送された第1データ集合を削除すると判断し得る。
【0112】
ステップS1045で、データ移動管理ユニット345は、ステップS1040で判断されたデータをOLTPデータベースから削除するデータ削除操作を実施し得る。データ削除操作は後で記載されるので、その詳細な説明はここでは省略される。
【0113】
次に、本開示の実施形態によるデータ削除操作の一例が
図11を参照して記載される。
【0114】
図11は、本開示の実施形態によるデータ削除操作1100のフローを示すフローチャートである。データ削除操作は、OLTPデータベースからOLAPデータベースへコピーされたデータ集合をOLTPデータベースから削除する為の方法である。
図11に示されているデータ削除操作1100は、
図10のステップS1045に実質的に対応する。
【0115】
最初に、ステップS1105で、リソース管理ユニット344は、OLTPデータベース負荷データ(例えば、OLTPデータベース負荷データ312)を分析して、OLTPデータベースでのコンピューティングリソースの可用性を判断する。例えば、リソース管理ユニット344は、OLTPデータベース負荷データに基づいて、OLTPデータベースでのCPUリソース及びメモリリソースの可用性を判断し得る。
【0116】
次に、ステップS1110で、リソース管理ユニット344は、データ削除操作を実施するのに充分なコンピューティングリソースがOLTPデータベースにおいて可用状態であるかどうかを判断する。実施形態において、リソース管理ユニット344は、ステップS1105で判断されたOLTPデータベースの可用性コンピューティングリソースを、データ削除操作に必要なコンピューティングリソースを指定する所定の明細情報と比較することにより、充分なコンピューティングリソースが可用状態であるか否かを判断し得る。充分なコンピューティングリソースが可用状態である場合には、処理はステップS1115へ進む。充分なリソースが可用状態ではない場合に、リソース管理ユニット344は所定時間待機してステップS1105へ戻る。
【0117】
次に、ステップS1115で、データ移動管理ユニット345は削除されるべきデータを識別する。実施形態において、データ移動管理ユニット345は、OLTPデータベース内においてデータコピー・削除操作1000のステップS1040で判断されたデータ(例えば、OLAPデータベースの連合クエリによりリクエストされてOLTPデータベースからOLAPデータベースへ転送された第1データ集合)を識別し得る。
【0118】
次に、ステップS1120で、データ移動管理ユニット345は、ステップS1115で識別されたデータをOLTPデータベースから削除する。
【0119】
次に、ステップS1125で、データ移動管理ユニット345は、データ削除後のOLTPデータベースのデータを反映するようにテーブルステータスデータベース341を更新し得る。
【0120】
データコピー・削除操作1000及びデータ削除操作1100によれば、OLTPデータベースからOLAPデータベースへ必要なデータを転送してOLAPデータベースを最新状態に維持し、OLTPデータベースから不要なデータを除去しながら連合クエリの頻度を低下させることが可能である。
【0121】
次に、周期的データ移動タイミング更新プロセス1200が
図12を参照して記載される。
【0122】
図12は、本開示の実施形態による周期的データ移動タイミング更新プロセス1200のフローを示すフローチャートである。周期的データ移動タイミング更新プロセス1200は、最新データをOLAPデータベースへタイムリーに提供して連合クエリの頻度を低下させる為にOLTPデータベースからOLAPデータベースへデータが周期的に転送される周期的データ移動タイミングを更新する為のプロセスである。
図12に図示されている周期的データ移動タイミング更新プロセス1200は、
図7のステップS755に実質的に対応する。
【0123】
最初に、ステップS1205で、データ移動管理デバイス240のクエリログ管理ユニット343は、OLTPクエリログファイル(OLTPクエリログファイル314)とOLAPクエリログファイル(OLAPクエリログファイル324)とを監視する。
【0124】
次に、ステップS1210で、データ移動タイミング管理ユニット346は、OLTPデータベースのデータ挿入率とOLAPデータベースの第1データ鮮度要件とを判断する。ここで、OLTPデータベースのデータ挿入率は、新しいデータがOLTPデータベースへ挿入される率を指し、時間当たりのデータサイズ(例えば5mb/秒)あるいは時間当たりの行/列の数(例えば50行/分)として表現され得る。実施形態において、データ移動タイミング管理ユニット346は、OLTPクエリログファイルに含まれるデータ挿入クエリに基づいてOLTPデータベースのデータ挿入率を計算し得る。本明細書に記載されるように、第1データ鮮度要件はOLAPクエリログファイル324に基づいて(例えば、ステップS710で検出された連合クエリから)判断され得る。
【0125】
次に、ステップS1215で、データ移動タイミング管理ユニット346は、ステップS1205で判断されたOLTPデータベースのデータ挿入率とOLAPデータベースの第1データ鮮度要件とに基づいて、OLAPデータベースを最新状態に維持するのに現在の周期的移動時が効果的であるかどうかを判断する。
【0126】
より詳しく記すと、データ移動タイミング管理ユニット346は、データ挿入率を所定の第1挿入率閾値と、また第1データ鮮度要件を第1近時性閾値と比較し得る。第1挿入率閾値は、OLTPデータベースへデータが挿入される特定の閾値率を規定し得る。ステップS1210で計算されたデータ挿入率が第1挿入率閾値より大きいかこれと等しい場合に、OLTPデータベースのデータ挿入率は第1挿入率閾値に達していると考えられる。第1近時性閾値は、第1データ鮮度要件の限度を規定する日付又は日付範囲を指定する。第1データ鮮度要件が第1近時性閾値より近時性であるデータをリクエストする場合に、第1データ鮮度要件は第1近時性閾値に達していると考えられる。
【0127】
OLTPデータベースのデータ挿入率が第1挿入率閾値に達していないかOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達していない場合には、現在の周期的移動時が効果的でないと判断される。これは、OLTPデータベースのデータ挿入率が比較的低いか、OLAPデータベースの第1データ鮮度要件が、最も近時性のデータが必要とされないようなものである時には、OLTPデータベースからOLAPデータベースへの頻繁な周期的データ移動を実施することは必要ないからである。
【0128】
逆に、OLTPデータベースのデータ挿入率が第1挿入率閾値に達しているかOLAPの第1データ鮮度要件が第1近時性閾値に達している場合には、現在周期的移動時が効果的ではないと判断される。これは、OLTPデータベースのデータ挿入率が比較的高いか、OLAPデータベースの第1データ鮮度要件が、最も近時性のデータが必要とされるようなものである時に、OLTPデータベースからOLAPデータベースへのより頻繁な周期的データ移動を実施して最新のデータを提供することが必要となるからである。
【0129】
OLTPデータベースのデータ挿入率が第1挿入率閾値に達しているがOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達していない場合、あるいは、OLTPデータベースのデータ挿入率が第1挿入率閾値に達していないがOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達している場合には、周期的データ移動タイミングは効果的であると考えられ得る。
【0130】
現在の周期的移動時が効果的であると判断された場合には、処理はステップS1205へ戻り得る。現在の周期的移動時が効果的でないと判断された場合には、処理はステップS1220へ進み得る。
【0131】
次に、ステップS1220で、現在の周期的データ移動時が効果的でないと判断された場合には、データ移動タイミング管理ユニット346は、OLTPデータベースからOLAPデータベースへの一括データ転送が実施される周期的データ移動タイミングを更新し得る。一般的に、周期的データ移動タイミングは24時間に設定される、すなわちOLTPデータベースからOLAPデータベースへの一括データ転送が毎日一回実施されることに留意されるべきである。しかしながら、本明細書に記載されるように、本開示の実施形態によれば、OLTPデータベースのデータ挿入率とOLAPデータベースの第1データ鮮度要件とに基づいて周期的データ移動タイミングを修正する(すなわちその間隔の長さを増減する)ことが可能である。
【0132】
OLTPデータベースのデータ挿入率が第1挿入率閾値に達していないかOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達していない場合には、データ移動タイミング管理ユニット346は周期的データ移動タイミングの間隔を増加させ得る。その結果、周期的データ移動はそれほど頻繁に行われないが、OLAPデータベースは最も近時性のデータを必要としないので(例えば、OLTPデータベースの低挿入率あるいは緩いデータ鮮度要件ゆえに)これは許容可能である。
【0133】
逆に、OLTPデータベースのデータ挿入率が第1挿入率閾値に達しているかOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達している場合には、データ移動タイミング管理ユニット346は周期的データ移動タイミングの間隔を減少させ得る。その結果、OLAPデータベースがより近時性のデータを必要とするので(例えば、OLTPデータベースの高い挿入速度又は厳密なデータ鮮度要件ゆえに)、周期的データ移動がより頻繁に行われる。
【0134】
ここで、周期的データ移動タイミングが増減される程度は、幾つかの方法により判断され得る。実施形態において、データ移動タイミング管理ユニット346は、周期的データ移動タイミングを所定の量だけ増減(例えば1時間、2時間、6時間、12時間だけ増減)させ得る。或る実施形態において、データ移動タイミング管理ユニット346は、統計分析又は機械学習アプローチを利用し、周期的データ移動タイミングの履歴とOLTP及びOLAPデータベースのリソース負荷とに基づいて適切な周期的データ移動タイミングを識別し得る。実施形態において、OLTPデータベースのデータ挿入率又は第1データ鮮度要件が、第1挿入率閾値(例えば、システム構成変化がデータ挿入を大きく増減させる周期)又は第1近時性閾値(例えば周知のデータ鮮度要件を有するアプリケーションが実行されることが予定される時)に達しているか達していない時についての予測に基づいて、データ移動タイミング管理ユニット346が周期的データ移動タイミングを増減させ得る。周期的データ移動タイミングを判断する他の方法も可能である。
【0135】
図12を参照して記載される周期的データ移動タイミング更新プロセス1200によれば、周期的データ移動タイミングを適切なタイミングに更新してOLTPデータベース及びOLAPデータベースでのリソース効率を促進することが可能である。実例を挙げると、OLAPデータベースが近時性データを必要としない時に周期的データ移動タイミングを増加させる(すなわち頻度を低下させる)ことにより、OLTPデータベースで必要なコンピューティングリソースと処理負荷とを軽減することが可能である。逆に、OLAPデータベースが近時性データを必要とする時には周期的データ移動タイミングを減少させる(すなわち頻度を上昇させる)ことにより、OLAPデータベースからOLTPデータベースへの連合クエリの頻度を低下させ、同様にOLTPデータベースで必要なコンピューティングリソース及び処理負荷を軽減することが可能である。
【0136】
次に、
図13を参照して周期的データ移動遅延プロセスが記載される。開示の態様は、OLTPデータベース内のデータが頻繁に更新されている場合には、最新データがOLAPデータベースへ効率的に転送され得るように、頻度更新が低下するまでデータ管理操作を遅延させることが望ましいという認識に関係している。
【0137】
図13は、本開示の実施形態によるデータ管理操作遅延プロセス1300のフローを示すフローチャートである。データ管理操作遅延プロセス1300は、OLTPデータベースのデータが頻繁に更新されている時にデータ管理操作を遅延させる為のプロセスである。
図13に示されているデータ管理操作遅延プロセス1300は、
図7のステップS735に続いて(例えば、データ管理操作の実施に先立って)実施され得る。
【0138】
最初に、ステップS1305で、データ移動管理デバイス240のクエリログ管理ユニット343がOLTPクエリログファイル(OLTPクエリログファイル314)とOLAPクエリログファイル(OLAPクエリログファイル324)とを監視する。
【0139】
次に、ステップS1310で、データ移動管理ユニット345は、OLTPデータベースの第1データ集合の更新頻度とOLAPデータベースの第1データ鮮度要件とを判断する。ここで、第1データ集合の更新頻度は、OLTPデータベースの第1データ集合が更新される率を指し、時間当たりの更新数(例えば毎分10更新)として表現され得る。実施形態において、データ移動管理ユニット345は、OLTPクエリログファイルに含まれるデータ挿入クエリに基づいてOLTPデータベースの第1データ集合の更新頻度を計算し得る。本明細書で記載されるように、第1データ鮮度要件はOLAPクエリログファイル324に基づいて判断され得る。
【0140】
次に、ステップS1315で、データ移動管理ユニット345は、現在予定されているデータ管理操作の実行時が効率的であるか否かを判断する。
【0141】
より詳しく記すと、データ移動管理ユニット345は、OLTPデータベースの第1データ集合の更新頻度が第1更新頻度閾値に達していて第1データ鮮度要件が第1近時性閾値に達していない場合に、現在のデータ管理操作の実行が効率的でないと判断する(例えば、OLTPデータベースのデータが頻繁に更新され、OLAPデータベースが近時性データを必要としないので、データ管理操作を後で実施する方が効率的である)。この場合に、処理はステップS1325へ進む。ここで、第1更新頻度閾値は、OLTPデータベースで第1データ集合が更新される特定の閾値率を規定し得る。ステップS1310で計算された更新頻度が第1更新頻度より大きいかこれと等しい場合に、OLTPデータベースの更新頻度は第1更新頻度閾値に達していると考えられる。
【0142】
逆に、データ移動管理ユニット345は、OLTPデータベースの第1データ集合の更新頻度が第1更新頻度閾値に達していないか、第1データ鮮度要件が第1近時性閾値に達している場合には、OLAPデータベースが効率的である(例えば、OLTPデータベースのデータの更新頻度が低いか、OLAPデータベースが最新のデータを必要とするので、連合クエリを回避する為にデータ管理操作をその時に実施する方が効率的である)と判断する。この場合に、処理はステップS1320に進む。
【0143】
ステップS1320で、データ移動管理ユニット345はデータ管理操作を実行する。これは、第1データ集合が頻繁に更新され、ゆえに更新頻度が低下するまでOLAPデータベースへの第1データ集合のコピーを遅延させることが望ましいが、OLAPデータベースの第1データ鮮度要件は(例えばクエリに応答するのに)第1データ集合の方が早く必要とされるようなものであるからである。
【0144】
ステップS1325で、データ移動管理ユニット345はデータ管理操作の実行を遅延させる。実施形態において、データ移動管理ユニット345は、第1データ集合の更新頻度が第1更新頻度閾値を下回るまでデータ管理操作の実行を遅延させ得る。このようにして、第1データ集合の更新頻度が低下するまでデータ管理操作の性能を遅延させることによって、より最新のデータをOLAPデータベースに効率的な方式で提供することが可能である。
【0145】
本発明は、システム、方法、及び/又は、コンピュータプログラム製品であり得る。コンピュータプログラム製品は、本発明の態様をプロセッサに行わせる為のコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数の媒体)を含み得る。
【0146】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用の為の命令を保持及び記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、あるいは上記の適当な組み合わせであり得るがこれらに限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的リストは以下を含む。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD‐ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカードや溝内隆起構造などの機械的符号化デバイス、そして上記の適当な組み合わせ。
【0147】
本明細書で使用されるコンピュータ可読記憶媒体は、電波又は他の自由伝播電磁波、導波管又は他の伝送媒体内を伝播する電磁波(例えば、光ファイバケーブル内を通る光パルス)、あるいは電線内を伝送される電気信号のように、それ自体が一時的信号であると解釈されるものではない。
【0148】
本発明の実施形態による方法、装置(システム)、及びコンピュータプログラム製品についてのフローチャート図及び/又はブロック図を参照して、本明細書で本発明の態様が記載されている。フローチャート図及び/又はブロック図の各ブロックと、フローチャート図及び/又はブロック図でのブロック組み合わせとがコンピュータ可読プログラム命令により実装されることが理解されるだろう。
【0149】
コンピュータ可読プログラム命令が、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてマシンが用意されるので、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート及び/又はブロック図の単数又は複数のブロックで指定される機能/動作を実装する為の手段となる。これらのコンピュータ可読プログラム命令は、特定の方式で機能するようにコンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに指示できるコンピュータ可読記憶媒体にも記憶され得るので、命令が記憶されたコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の単数又は複数のブロックに指定された機能/動作の態様を実装する命令を含む製造品を包含する。
【0150】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、又は他のデバイスで一連の操作ステップを実施させてコンピュータ実装プロセスを行うので、コンピュータ、他のプログラマブル装置、又は他のデバイスで実行される命令は、フローチャート及び/又はブロック図の単数又は複数のブロックに指定された機能/動作を実装する。
【0151】
本開示による実施形態は、クラウドコンピューティングインフラストラクチャを通してエンドユーザに提供され得る。クラウドコンピューティングは概して、スケーラブルコンピューティングリソースをネットワーク経由のサービスとして提供することを指す。より正式に記すと、クラウドコンピューティングは、コンピューティングリソースとその基本的技術アーキテクチャ(例えばサーバ、記憶装置、ネットワーク)との間で抽象化を行って、管理の労力又はサービスプロバイダ相互作用を最小にして迅速に設定及び解除される構成可能なコンピューティングリソースの共有プールへの簡便なオンデマンドネットワークアクセスを可能にするコンピューティング機能として定義され得る。ゆえに、クラウドコンピューティングは、コンピューティングリソースを提供するのに使用される基本的な物理的システム(又はこれらのシステムの場所)を考慮することなく、「クラウド」の仮想コンピューティングリソース(例えば、記憶装置、データ、アプリケーション、及び完全仮想化コンピューティングシステム)へのユーザのアクセスを可能にする。
【0152】
図のフローチャート及びブロック図は、本発明の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装例のアーキテクチャ、機能性、そして操作を示す。この点で、フローチャート又はブロック図の各ブロックは、指定の論理機能の実装の為の一以上の実行可能命令を包含するモジュール、セグメント、又は命令部分を表し得る。幾つかの代替実装例において、ブロックに記されている機能は、図に記されている順序以外で行われ得る。例えば、必要とされる機能性に応じて、連続して示されている二つのブロックが実際には、実質的に同時的に実行され得るか、時にはブロックが逆の順序で実行され得る。ブロック図及び/又はフローチャート図の各ブロックとブロック図及び/又はフローチャート図のブロック組み合わせとが、指定の機能又は動作を実施するか専用ハードウェア及びコンピュータ命令の組み合わせを行う専用のハードウェアベースシステムにより実装され得ることも留意されるだろう。
【0153】
上記は例示的な実施形態を対象にしているが、基本的な範囲から逸脱することなく、本発明の他の、そして更なる実施形態が考案され、その範囲は以下に続く請求項により判断される。本開示の様々な実施形態の記載は、例示を目的として提示されているが、網羅的であるか開示されている実施形態に限定されることは意図されていない。記載された実施形態の範囲及び趣旨を逸脱しない多くの修正及び変形が、当業者には自明であろう。本明細書で使用される専門用語は、実施形態の原理、実用的な用途、又は市場に見られる技術に対する技術的改良を説明するように、あるいは、本明細書に開示される実施形態を他の同業者が理解できるように選択された。
【0154】
本明細書で使用される専門用語は特定の実施形態を説明することをのみを目的とし、様々な実施形態の限定であることは意図されていない。本明細書で使用される際に、単数形の“a”,“an”,“the”は、そうではないことが文脈に明記されていない限り、複数形も含むことが意図されている。“set of(の集合)”,“group of(のグループ)”,“bunch of(の束)”等は、一以上を含むことが意図されている。“includes(含む)”及び/又は“including(含む)”の語は、本明細書で使用される時に、記載の特徴、整数、ステップ、操作、要素、及び/又はコンポーネントの存在を明記しているが、一以上の他の特徴、整数、ステップ、操作、要素、コンポーネント、及び/又はそのグループの存在又は追加を除外しない。様々な実施形態について既に詳述した例示的実施形態では、(同様の番号が同様の要素を表す)添付図が参照されるが、この図は実施形態の一部を成し、様々な実施形態が実践され得る具体的な例示的実施形態が例示として示されている。これらの実施形態は、当業者が実施形態を実践するのに充分なほど詳細に記載されているが、他の実施形態が使用されて、論理的、機械的、電気的な、また他の変更が、様々な実施形態の範囲を逸脱せずに行われ得る。前の記載では、様々な実施形態の充分な理解を提供するように多数の具体的な詳細が提示された。しかし、これらの具体的詳細を含まずに様々な実施形態が実践されてもよい。他の事例では、実施形態を曖昧にしないように周知の回路、構造、そして技術は詳細に示されていない。
【符号の説明】
【0155】
100 コンピュータシステム
102 プロセッサ
104 メモリ
106 メモリバス
108 入出力バス
109 バスIF
110 入出力バスIF
112 端末インタフェース
113 記憶装置インタフェース
114 入出力デバイスインタフェース
115 ネットワークインタフェース
116 ユーザ入出力デバイス
117 記憶デバイス
124 ディスプレイシステム
126 ディスプレイ
130 ネットワーク
150 データ移動管理アプリケーション
200 データ移動管理システム
210 OLTPデバイス
214 OLTPデータベース
220 OLAPデバイス
224 OLAPデータベース
230 通信ネットワーク
240 データ移動管理デバイス
312 OLTPデータベース負荷データ
314 OLTPクエリログファイル
322 OLAPデータベース負荷データ
324 OLAPクエリログファイル
341 テーブルステータスデータベース
342 テーブルステータス管理ユニット
343 クエリログ管理ユニット
344 リソース管理ユニット
345 データ移動管理ユニット
346 データ移動タイミング管理ユニット