JP7704702B2 - Data migration management device, data migration management method and data migration management system - Google Patents
Data migration management device, data migration management method and data migration management system Download PDFInfo
- Publication number
- JP7704702B2 JP7704702B2 JP2022041055A JP2022041055A JP7704702B2 JP 7704702 B2 JP7704702 B2 JP 7704702B2 JP 2022041055 A JP2022041055 A JP 2022041055A JP 2022041055 A JP2022041055 A JP 2022041055A JP 7704702 B2 JP7704702 B2 JP 7704702B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- database
- processing database
- online
- management unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本開示は、データ移動管理デバイスとデータ移動管理方法とデータ移動管理システムとに関する。 The present disclosure relates to a data migration management device, a data migration management method, and a data migration management system.
データベース管理システムは、データを収集、記憶、整理するのに会社又は他の組織により使用される一つのツールである。概して、データベース管理システムは、データを構造化フォーマットで記憶及び管理する為のシステムを指し、データベース内のデータを扱うとともに、様々なアプリケーションでの使用についてデータへのアクセスを促進する為の機能性を提供する。 A database management system is a tool used by a company or other organization to collect, store, and organize data. Broadly speaking, a database management system refers to a system for storing and managing data in a structured format, providing functionality for manipulating the data in a database and facilitating access to the data for use in various applications.
オンライントランザクション処理システム(OLTPシステム)及びオンライン分析処理システム(OLAPシステム)は、データベース内のデータを管理するのに使用され得る二つのタイプのデータベース処理システムである。 Online transaction processing systems (OLTP systems) and online analytical processing systems (OLAP systems) are two types of database processing systems that can be used to manage data in a database.
OLTPシステムを使用するデータベース(以下、「OLTPデータベース」)は、データベース内のトランザクションデータを捕捉及び保持する。OLTPデータベースは、高速クエリ処理、リアルタイム更新、高い並行性、そして強い一貫性をサポートするように設計される。各トランザクションは、多数のフィールド又は列から成る個々のデータベース記録を必要とする。概して、クエリでは一度に数行のデータを修正するに過ぎない。OLTPデータベースアプリケーションの例は、銀行及びクレジットカード業務又は小売店レジスキャンを含む。 A database using an OLTP system (hereinafter "OLTP database") captures and maintains transaction data in a database. OLTP databases are designed to support fast query processing, real-time updates, high concurrency, and strong consistency. Each transaction requires an individual database record consisting of many fields or columns. Typically, queries only modify a few rows of data at a time. Examples of OLTP database applications include banking and credit card transactions or retail cash register scanning.
他方で、OLAPシステムを使用するデータベース(以下「OLAPデータベース」)は、データマイニング、分析、そしてビジネスインテリジェンスプロジェクトの為にOLTPデータベース及び他のソースから集約される少量のトランザクションを含む大量の履歴データに、複雑なクエリを適用する。OLAPデータベースへのクエリは大抵、多くの行から集約された一以上のデータ列を必要とする。OLAPデータベースアプリケーションの例は、前年比財務実績又は見込み客開拓トレンドを含む。OLAPデータベース及びデータウェアハウスは、顧客レポートツールを使用してデータから知見を導き出す能力をアナリスト及び意思決定者に与える。 On the other hand, databases using OLAP systems (hereinafter "OLAP databases") apply complex queries to large amounts of historical data, including small amounts of transactions, that are aggregated from OLTP databases and other sources for data mining, analysis, and business intelligence projects. Queries to OLAP databases often require one or more columns of data aggregated from many rows. Examples of OLAP database applications include year-over-year financial performance or lead generation trends. OLAP databases and data warehouses give analysts and decision makers the ability to derive insights from data using custom reporting tools.
一般的に、これらの相違ゆえに、OLTPクエリとOLAPクエリとは隔離されたデータベースで処理される。しかしながら、近年、トランザクション及び分析の作業負荷の間の境界が曖昧となり、OLAPシステムはよりトランザクション的な性質、及びOLTPシステムはより分析的な性質になっている。例えば統計分析を促進するには、OLAPデータベースに記憶された履歴データにおいて、高並行性の短いクエリを実行し、一般的にOLTPシステムで実施される小範囲クエリを履行することが必要となり得る。逆に、所与のアプリケーションについてOLTPデータベースに関するトランザクションを実施する時には、OLAPデータベースに記憶された履歴情報に関する大規模分析を実施することが必要となり得る。 Typically, because of these differences, OLTP and OLAP queries are processed in separate databases. However, in recent years, the boundaries between transactional and analytical workloads have become blurred, with OLAP systems becoming more transactional in nature and OLTP systems becoming more analytical in nature. For example, to facilitate statistical analysis, it may be necessary to perform short, highly parallel queries on historical data stored in an OLAP database, fulfilling the small range queries typically performed in an OLTP system. Conversely, when performing transactions on the OLTP database for a given application, it may be necessary to perform large scale analyses on historical information stored in the OLAP database.
OLTP及びOLAPプロセスを含むハイブリッドトランザクション分析処理システム(HTAP)の実現を促進するには、抽出・変換・格納(ETL)技術と他の統合ツールとを使用してOLTPデータベースからOLAPデータベースへデータを効率的に移動させることが必要である。 To facilitate the realization of a hybrid transactional analytical processing system (HTAP) that includes OLTP and OLAP processes, it is necessary to efficiently move data from the OLTP database to the OLAP database using extract-transform-store (ETL) techniques and other integration tools.
従来、HTAPシステムでデータ移動を促進する技術が検討されてきた。 Traditionally, technologies have been considered to promote data movement in HTAP systems.
例えば、非特許文献1には、「IBM Db2分析アクセラレータ(IDAA)は、Db2ウェアハウスでの超高速カラムストア処理を含むz/OS用Db2の高いトランザクション性能をシームレスに拡張する最先端のハイブリッドデータベースシステムである。このアクセラレータはz/OS用Db2からのデータのコピーをバックエンドデータベースに保持する。テーブルの粒度やその一以上のパーティションにより、あるいは行が変化する際に漸次、複製技術を使用して単一の時点でデータが同期化され得る。IDAAバージョン3以降は、複製技術としてIBMチェンジデータキャプチャ(CDC)が採用されている。バージョン7.5.0では、IDDAによるCDCの使用に代わるものとして優れた複製技術―統合同期化―が導入されている。本論文では、統合同期化がどのようにして性能を桁違いに向上させ、準リアルタイムハイブリッドトランザクション分析(HTAP)処理への道を切り拓いたかを提示する。」と開示されている。 For example, Non-Patent Document 1 discloses that "IBM Db2 Analytics Accelerator (IDAA) is a state-of-the-art hybrid database system that seamlessly extends the high transaction performance of Db2 for z/OS with ultra-fast column store processing in the Db2 warehouse. The accelerator maintains a copy of data from Db2 for z/OS in a back-end database. Using replication techniques, data can be synchronized at a single point in time at the granularity of a table, one or more of its partitions, or incrementally as rows change. Since IDAA version 3, IBM Change Data Capture (CDC) has been adopted as the replication technology. In version 7.5.0, a superior replication technology - integrated synchronization - has been introduced as an alternative to IDAA's use of CDC. This paper shows how integrated synchronization improves performance by an order of magnitude and paves the way for near real-time hybrid transactional analytics (HTAP) processing."
一般に、HTAPシステムでは、OLTPデータベースからOLAPデータベースへデータが周期的に(例えば24時間毎に1回)移動される。しかしながら、幾つかの場合には、分析タスクその他を実施する為に、OLAPデータベースは、OLTPデータベースからOLAPデータベースへまだ移動されていない最新データへのアクセスを必要とする。このような場合には、OLAPデータベースが一時テーブルの形での特定データ集合の転送をリクエストする為のクエリである連合クエリをOLAPデータベースが生成し得る。しかしながら、このような連合クエリは計算コストが高く、OLTPデータベースの負荷を高め、クエリ処理時間の低速化と検索性能の低下とを潜在的に招く。 Typically, in an HTAP system, data is moved from the OLTP database to the OLAP database periodically (e.g., once every 24 hours). However, in some cases, to perform analytical tasks or otherwise, the OLAP database needs access to the latest data that has not yet been moved from the OLTP database to the OLAP database. In such cases, the OLAP database may generate a federated query, which is a query by the OLAP database to request the transfer of a specific set of data in the form of a temporary table. However, such federated queries are computationally expensive and can increase the load on the OLTP database, potentially resulting in slower query processing times and reduced search performance.
非特許文献1は、高性能トランザクションデータベースシステムからカラムストアデータベースシステムへの高速データ複製を実施してHTAP処理を促進する為の技術を開示している。しかしながら、非特許文献1に記載された技術では、周期的な移動タイミングは一定間隔で実施され、データベースシステムのネットワーク負荷及びCPU負荷のような因子は、周期的移動タイミングの判断時に考慮されない。 Non-Patent Document 1 discloses a technique for accelerating HTAP processing by performing high-speed data replication from a high-performance transaction database system to a column store database system. However, in the technique described in Non-Patent Document 1, periodic migration timing is performed at regular intervals, and factors such as the network load and CPU load of the database system are not taken into account when determining the periodic migration timing.
したがって、上記の課題から見て、HTAPシステムにおける分析及びトランザクションクエリの検索性能を促進する為に、データ鮮度要件、ネットワーク及びコンピューティングリソース可用性、そしてデータベースステータスに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のデータ移動管理技術を提供することが、本開示の目的である。 In view of the above problems, it is therefore an object of the present disclosure to provide a data movement management technique for flexibly adjusting the timing of periodic data movement from an OLTP database to an OLAP database based on data freshness requirements, network and computing resource availability, and database status in order to facilitate search performance for analytical and transactional queries in an HTAP system.
本開示の一つの代表例は、ハイブリッドトランザクション分析アーキテクチャにおいてデータを管理する為のデータ移動管理デバイスに関しており、このデータ移動管理デバイスは、オンライン分析処理データベースの第1クエリログ集合から、オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出するとともに、連合クエリに基づいてオンライン分析処理データベースの第1データ鮮度要件を識別する為のクエリログ管理ユニットと、少なくとも第1データ鮮度要件に基づいて、オンライントランザクション処理データベースからオンライン分析処理データベースへ第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断する為のデータ移動管理ユニットと、オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、オンライントランザクション処理データベースからオンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する為のデータ移動タイミング管理ユニットとを含む。 One representative example of the present disclosure relates to a data movement management device for managing data in a hybrid transactional analysis architecture, the data movement management device including: a query log management unit for detecting a federated query requesting a first data set from the online transactional processing database from a first query log set of the online analytical processing database and identifying a first data freshness requirement of the online analytical processing database based on the federated query; a data movement management unit for determining a data management operation including at least copying the first data set from the online transactional processing database to the online analytical processing database based on at least the first data freshness requirement; and a data movement timing management unit for determining an updated periodic movement timing for transferring the bulk data from the online transactional processing database to the online analytical processing database when the frequency of the federated queries from the online analytical processing database reaches a first frequency threshold.
本開示によれば、HTAPシステムにおける分析及びトランザクションクエリの検索性能を促進する為に、データ鮮度要件とネットワーク及びコンピューティングリソース可用性とデータベースステータスとに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のデータ移動管理技術を提供することが可能である。 According to the present disclosure, it is possible to provide a data movement management technique for flexibly adjusting the timing of periodic data movement from an OLTP database to an OLAP database based on data freshness requirements, network and computing resource availability, and database status to facilitate search performance for analytical and transactional queries in an HTAP system.
上に記載されたもの以外の問題、構成、そして効果は、本発明を実行する為の実施形態についての以下の記載により明白になるだろう。 Problems, configurations, and advantages other than those described above will become apparent from the following description of an embodiment for carrying out the invention.
本明細書では、図を参照して本発明の実施形態が記載される。本明細書に記載の実施形態は請求項による発明に限定する意図はないことが留意されるべきであり、実施形態に関して記載される要素及びその組み合わせの各々が本発明の態様を実装するのに厳密には必要でないことが理解されるはずである。 In this specification, embodiments of the present invention are described with reference to the figures. It should be noted that the embodiments described herein are not intended to limit the invention as claimed, and it should be understood that each of the elements and combinations thereof described with respect to the embodiments are not strictly necessary to implement aspects of the present invention.
以下の記載及び関連の図には様々な態様が開示される。開示の範囲を逸脱することなく代替的な態様が考案されてもよい。付加的に、本開示の周知の要素は、開示の関連詳細を曖昧にしないように、詳しく記載されないか省略される。 Various embodiments are disclosed in the following description and associated figures. Alternative embodiments may be devised without departing from the scope of the disclosure. Additionally, well-known elements of the disclosure will not be described in detail or will be omitted so as not to obscure the relevant details of the disclosure.
「例示的な(exemplary)」及び/又は「例(example)」という単語は、本明細書において、「例、実例、又は解説として機能する」ことを意味するのに使用される。「例示的」及び/又は「例」として本明細書に記載されるいかなる態様も、他の態様より好適又は有利であるものとして必ずしも解釈されるわけではない。同様に、「開示の態様(aspects of the disclosure)」の語は、開示の全ての態様が、記された特徴、利点、又は操作モードを含むことを必要とするものではない。 The words "exemplary" and/or "example" are used herein to mean "serving as an example, illustration, or illustration." Any aspect described herein as "exemplary" and/or "example" is not necessarily to be construed as preferred or advantageous over other aspects. Similarly, the term "aspects of the disclosure" does not require that all aspects of the disclosure include the described feature, advantage or mode of operation.
更に、例えばコンピューティングデバイスの要素により実施される動作シーケンスとして多くの態様が記載される。特定回路(例えば特定用途向け集積回路(ASIC))により、一以上のプロセッサにより実行されるプログラム命令により、あるいは両者の組み合わせにより、本明細書に記載の様々な動作が実施され得ることが認識されるだろう。 Furthermore, many aspects are described as sequences of actions to be performed by, for example, elements of a computing device. It will be appreciated that the various actions described herein may be performed by specialized circuitry (e.g., an application specific integrated circuit (ASIC)), by program instructions executed by one or more processors, or by a combination of both.
付加的に、本明細書に記載の動作シーケンスは、実行時に本明細書に記載の機能性を関連のプロセッサに実施させる対応のコンピュータ命令集合が記憶されたコンピュータ可読記憶媒体の形で全体が具体化されると見なされ得る。ゆえに、開示の様々な態様は幾つかの異なる形で具体化され、その全てが、請求項に記載の主題の範囲内にあると考えられている。 Additionally, the sequences of operations described herein may be considered to be embodied entirely in the form of a computer-readable storage medium having stored thereon a corresponding set of computer instructions that, when executed, cause an associated processor to perform the functionality described herein. Thus, various aspects of the disclosure may be embodied in a number of different forms, all of which are contemplated to be within the scope of the claimed subject matter.
図1には、本開示の様々な実施形態を実装する為の、実施形態によるコンピュータシステム100の高次ブロック図が描かれている。本明細書に開示される様々な実施形態の機構及び装置は、相応のコンピューティングシステムにも等しく適用される。コンピュータシステム100の主要コンポーネントは、一以上のプロセッサ102とメモリ104と端末インタフェース112と記憶装置インタフェース113と入出力(入力/出力)デバイスインタフェース114とネットワークインタフェース115とを含み、その全てが、メモリバス106と入出力バス108とバスインタフェースユニット109と入出力バスインタフェースユニット110とを介したコンポーネント間通信の為に、直接的又は間接的に通信結合されている。
1 depicts a high level block diagram of a
コンピュータシステム100は、本明細書では総称的にプロセッサ102と称される一以上の汎用プログラマブル中央処理ユニット(CPU)102A及び102Bを格納し得る。実施形態において、コンピュータシステム100は多数のプロセッサを格納し得るが、しかしながら或る実施形態では、コンピュータシステム100が代替的に単一のCPUシステムであってもよい。各プロセッサ102は、メモリ104に記憶された命令を実行し、一以上のレベルのオンボードキャッシュを含み得る。
実施形態において、メモリ104は、データ及びプログラムを記憶又は符号化する為のランダムアクセス半導体メモリ、記憶デバイス、あるいは(揮発性と不揮発性のいずれかの)記憶媒体を含み得る。或る実施形態において、メモリ104はコンピュータシステム100の仮想メモリ全体を表し、コンピュータシステム100に結合されるかネットワークを介して接続された他のコンピュータシステムの仮想メモリも含み得る。メモリ104は概念的には単一のモノリシックエンティティと見なされ得るが、他の実施形態で、メモリ104は、キャッシュ及び他のメモリデバイスによる階層など、より複雑な仕組みである。例えば、メモリは多数のキャッシュレベルで存在し、これらのキャッシュは更に機能により分割されるので、一つのキャッシュは命令を保持するのに対して、別のキャッシュは単数又は複数のプロセッサにより使用される非命令データを保持する。様々ないわゆる不均一メモリアクセス(NUMA)コンピュータアーキテクチャのいずれかで知られるように、メモリは更に分散され、異なるCPU又はCPU集合と連動され得る。
In embodiments,
メモリ104は、本明細書に記されるようにデータ転送を処理する為の様々なプログラムとモジュールとデータ構造との全てあるいは一部分を記憶し得る。実例を挙げると、メモリ104はデータ移動管理アプリケーション150を記憶できる。実施形態において、データ移動管理アプリケーション150は、プロセッサ102で実行される命令又はステートメントを、あるいは、プロセッサ102で実行される命令又はステートメントにより解釈されて以下で更に記載されるような機能を行う命令又はステートメントを含み得る。
或る実施形態において、データ移動管理アプリケーション150は、プロセッサベースシステムの代わりに、又はこれに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、及び/又は、他の物理的ハードウェアデバイスを介して、ハードウェアに実装される。実施形態において、データ移動管理アプリケーション150は、命令又はステートメントに加えてデータを含み得る。或る実施形態では、カメラ、センサ、又は他のデータ入力デバイス(不図示)が、バスインタフェースユニット109、プロセッサ102、又はコンピュータシステム100の他のハードウェアとの直接通信状態で設けられ得る。このような構成では、プロセッサ102がメモリ104及び潜在因子識別アプリケーションにアクセスする必要性が軽減される。
In some embodiments, the data
コンピュータシステム100は、プロセッサ102とメモリ104とディスプレイシステム124と入出力バスインタフェースユニット110との間における通信を扱うバスインタフェースユニット109を含み得る。入出力バスインタフェースユニット110は、様々な入出力ユニットへ、そして様々な入出力ユニットからデータを転送する為の入出力バス108と結合され得る。入出力バスインタフェースユニット110は、入出力プロセッサ(IOP)又は入出力アダプタ(IOA)としても知られる多数の入出力インタフェースユニット112,113,114,115と、入出力バス108を通して通信する。ディスプレイシステム124は、ディスプレイコントローラ、ディスプレイメモリ、あるいは両方を含み得る。ディスプレイコントローラは、映像、音声、あるいは両方のタイプのデータをディスプレイデバイス126に提供し得る。更に、コンピュータシステム100は、データを収集してプロセッサ102に提供するように構成される一以上のセンサ又は他のデバイスを含み得る。
The
例として、コンピュータシステム100は、(例えば心拍数データ、ストレスレベルデータを収集する)生体認証センサ、(例えば湿度データ、温度データ、圧力データを収集する)環境センサ、(例えば加速度データ、運動データを収集する)モーションセンサ、その他を含み得る。他のタイプのセンサも可能である。ディスプレイメモリは、映像データをバッファリングする為の専用メモリであり得る。ディスプレイシステム124は、独立型ディスプレイスクリーン、コンピュータモニタ、テレビ、あるいはタブレット又はハンドヘルドデバイスディスプレイのようなディスプレイデバイス126と結合され得る。
By way of example,
一実施形態において、ディスプレイデバイス126は、音声を流す為の一以上のスピーカを含み得る。代替的に、音声を流す為の一以上のスピーカが入出力インタフェースユニットと結合されてもよい。代替実施形態において、ディスプレイシステム124により提供される機能のうち一以上は、プロセッサ102も含む集積回路に搭載され得る。加えて、バスインタフェースユニット109により提供される機能のうち一以上が、プロセッサ102も含む集積回路に搭載され得る。
In one embodiment, the
入出力インタフェースユニットは、多様な記憶及び入出力デバイスとの通信をサポートする。例えば、端末インタフェースユニット112は、(ビデオディスプレイデバイス、スピーカ、及び/又は、テレビのような)ユーザ出力デバイスと(キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイスのような)ユーザ入力デバイスとを含み得る一以上のユーザ入出力デバイス116の取付けをサポートする。ユーザは、ユーザ入出力デバイス116及びコンピュータシステム100へ入力データ及びコマンドを提供する為にユーザインタフェースを使用してユーザ入力デバイスを操作し、ユーザ出力デバイスを介して出力データを受理し得る。例えば、ディスプレイデバイスに表示される、スピーカを介して発せられる、又はプリンタを介して印刷されるなど、ユーザインタフェースはユーザ入出力デバイス116を介して提示され得る。
The input/output interface unit supports communication with a variety of storage and input/output devices. For example, the
記憶装置インタフェース113は、一以上のディスクドライブ又は直接アクセス記憶デバイス117(一般的には回転磁気ディスクドライブ記憶デバイスであるが、代替的に、ホストコンピュータへの単一の大型記憶デバイス、あるいはフラッシュメモリなどのソリッドステートドライブとして設けられるように構成されるディスクドライブのアレイを含む他の記憶デバイスであってもよい)の取付けをサポートする。幾つかの実施形態において、記憶デバイス117は、何らかのタイプの二次記憶デバイスを介して実装され得る。メモリ104のコンテンツ又はそのいずれかの部分が記憶デバイス117に記憶され、必要に応じてこれから検索され得る。入出力デバイスインタフェース114は、他の様々な入出力デバイス、あるいはプリンタ又はファックスなど他のタイプのデバイスのいずれかへのインタフェースとなる。ネットワークインタフェース115は、コンピュータシステム100から他のデジタルデバイス及びコンピュータシステムへの一以上の通信路となる。これらの通信路は、例えば、一以上のネットワーク130を含み得る。
The
図1に示されているコンピュータシステム100には、プロセッサ102、メモリ104、バスインタフェース109、ディスプレイシステム124、そして入出力バスインタフェースユニット110の間での直接通信路となる特定のバス構造が示されているが、代替実施形態では、階層状のスター若しくはウェブ構成、多数の階層状バス、並列及び冗長経路、又は他のいずれかの適切なタイプの構成における二点間リンクなど、様々な形のいずれかで配置され得る多様なバス又は通信路をコンピュータシステム100が含み得る。更に、入出力バスインタフェースユニット110と入出力バス108とが単一の当該ユニットとして示されているが、コンピュータシステム100は、実際に、多数の入出力バスインタフェースユニット110及び/又は多数の入出力バス108を格納し得る。様々な入出力デバイスに通じる様々な通信路から入出力バス108を分離する多数の入出力インタフェースユニットが示されているが、他の実施形態では、入出力デバイスの一部又は全ては一以上のシステム入出力バスに直接的に接続される。
1 shows a particular bus structure that provides direct communication paths between the
様々な実施形態において、コンピュータシステム100は、ダイレクトユーザインタフェースをほとんど又は全く有しておらず他のコンピュータシステム(クライアント)からリクエストを受理するマルチユーザメインフレームコンピュータシステム、シングルユーザシステム、あるいはサーバコンピュータや類似のデバイスである。他の実施形態において、コンピュータシステム100は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップ又はノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、あるいは他の適当なタイプの電子デバイスとして実装され得る。
In various embodiments,
次に、本開示の実施形態によるデータ移動管理システムの構成例が図2を参照して記載される。 Next, an example configuration of a data migration management system according to an embodiment of the present disclosure will be described with reference to FIG. 2.
図2は、本開示の実施形態によるデータ移動管理システム200の構成例を示す。データ移動管理システム200は、OLTPデータからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のシステムである。図2に示されているように、データ移動管理システム200は、通信ネットワーク230により通信接続されるOLTPデバイス210とOLAPデバイス220とデータ移動管理デバイス240とを含む。ここで、通信ネットワーク230は、ローカルエリアネットワーク(LAN)接続、インターネット、ワイドエリアネットワーク(WAN)接続、メトロポリタンエリアネットワーク(MAN)接続、その他を含み得る。
Figure 2 shows an example configuration of a data
OLTPデバイス210は、OLTPデータベース214の操作をサポートするハードウェアデバイスである。図2に示されているように、OLTPデバイス210は、CPU211、メモリ212と、OLTPデータベース214を記憶する為の記憶デバイス213と、ネットワークインタフェース215とを含み得る。実施形態において、OLTPデバイス210は、図1に示されているコンピュータシステム100などのコンピュータシステムを使用して実装され得る。本明細書に記載されるように、OLTPデータベース214は、高速クエリ処理、リアルタイム更新、高い並行性、そして強い一貫性をサポートするように構成されるデータベースを含み得る。各トランザクションは、多数のフィールド又は列から成る個々のデータベース記録を必要とする。概して、クエリは一度に少数行のデータのみを修正する。OLTPデータベースアプリケーションの例は、銀行及びクレジットカード業務又は小売店レジスキャンを含む。
OLTP device 210 is a hardware device that supports the operation of
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データベースアプリケーションの例は、前年比財務業績又は見込み客開拓トレンドを含む。
OLAP device 220 is a hardware device that supports the operation of
データ移動管理デバイス240は、OLTPデバイス210のOLTPデータベース214からOLAPデバイス220のOLAPデータベース224へのデータの移動を管理する為のハードウェアデバイスである。図2に示されているように、データ移動管理デバイス240は、CPU241とメモリ242と記憶デバイス243とネットワークインタフェース244とを含み得る。実施形態において、OLAPデバイス220は、図1に示されているコンピュータシステム100などのコンピュータシステムを使用して実装され得る。
The data
データ移動管理デバイス240の機能が後で詳しく記載されるので、ここではその記載は省略されることが留意されるべきである。
It should be noted that the functions of the data
図2に示されているように構成されたデータ移動管理システム200によれば、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節することが可能になる。
The data
OLTPデータベース214を記憶する為のOLTPデバイス210と、OLAPデータベース224を記憶する為のOLAPデバイス220と、データ移動管理デバイス240とが、通信ネットワーク230を介して接続される別々のハードウェアデバイスとして実装される構成例が図2に示されているが、本開示はこれに限定されないことが留意されるべきである。実例を挙げると、OLTPデータベース214とOLAPデータベース224とが同じハードウェアデバイスに記憶され、通信ネットワーク230を介してデータ移動管理デバイス240により管理される構成、あるいは、OLTPデータベース214とOLAPデータベース224とデータ移動管理デバイス240の機能性とが全て同じハードウェアデバイスに実装される構成も可能である。
2 shows an example configuration in which the OLTP device 210 for storing the
次に、図3を参照してデータ移動管理システム200の機能的構成が記載される。
Next, the functional configuration of the data
図3は、データ移動管理システム200の機能的構成を示すブロック図である。本明細書に記載されるように、データ移動管理システム200は、通信ネットワーク230により通信接続されるOLTPデバイス210とOLAPデバイス220とデータ移動管理デバイス240とを含む。
Figure 3 is a block diagram showing the functional configuration of the data
OLTPデバイス210は、OLTPデータベース負荷データ312とOLTPクエリログファイル314とOLTPデータベース214とを含む。OLTPデータベース負荷データ312は、CPUリソース可用性と、メモリリソース可用性と、平均毎秒データ読取り数と、平均毎秒データ書込み数と、OLTPデータベース214についての他の使用情報とを表すデータの集合体である。OLTPクエリログファイル314は、OLTPデータベース214の読取り及び書込みクエリを表す。
The OLTP device 210 includes OLTP
OLAPデバイス220は、OLAPデータベース負荷データ322とOLAPクエリログファイル324とOLAPデータベース224とを含む。OLAPデータベース負荷データ322は、CPUリソース可用性と、メモリリソース可用性と、平均毎秒データ読取り数と、平均毎秒データ書込み数と、OLAPデータベース224についての他の使用情報とを表すデータの集合体である。OLAPクエリログファイル324は、OLAPデータベース224の読取り及び書込みクエリを表す。
The OLAP device 220 includes OLAP
データ移動管理デバイス240は、テーブルステータスデータベース341とテーブルステータス管理ユニット342とクエリログ管理ユニット343とリソース管理ユニット344とデータ移動管理ユニット345とデータ移動タイミング管理ユニット346とを含む。
The data
テーブルステータスデータベース341は、OLTPデータベース214とOLAPデータベース224とに記憶されたデータを表す情報の為のデータベースである。実施形態において、テーブルステータスデータベース341は、OLTPデータベース214及びOLAPデータベース224のデータ鮮度要件を表すステータス情報を含み得る。概して、データ鮮度は、特定のデータ集合がどれほど最新である(つまり現在に近い)かを指す。多様なデータベースが、それが記憶するデータのデータ鮮度に関する多様な要件を有し得る。データ鮮度の限界を規定するこれらの要件は、本明細書でデータ鮮度要件と呼ばれる。実施形態において、これらのデータ鮮度要件は、特定のデータベースに記憶されたデータを利用するアプリケーションにより規定され得る。一例として、銀行業務アプリケーションは、データが現在において最新であることを必要とするデータ鮮度要件を有するのに対して、統計分析アプリケーションは、データが過去6か月について最新であることを必要とするデータ鮮度要件を有し得る。
Table status database 341 is a database for information representing data stored in
テーブルステータス管理ユニット342は、テーブルステータスデータベース341を管理及び更新する為の機能ユニットである。OTLPデータベース214又はOLAPデータベース224に新しい情報が追加される際に、あるいはデータ鮮度要件が変化する際に、テーブルステータス管理ユニット342はテーブルステータスデータベース341を更新し得る。テーブルステータス管理ユニット342は、OLTPデータベース214にどのデータが記憶されているかと、OLAPデータベース224にどのデータが記憶されているかとを判断し得る。
The table status management unit 342 is a functional unit for managing and updating the table status database 341. When new information is added to the
クエリログ管理ユニット343は、OLTPデータベース214及びOLAPデータベース224のクエリログ(すなわち、OLTPクエリログファイル314及びOLAPクエリログファイル324)を監視及び分析する為の機能ユニットである。実施形態において、クエリログ管理ユニットは、特定のデータベース又は特定のデータリクエストのデータ鮮度要件を、このデータベースのクエリログを分析することにより判断し得る。一例として、クエリログ管理ユニット343は、OLAPクエリログファイル324から、オンライントランザクション処理データベース214から第1データ集合をリクエストするOLAPデータベース224からの連合クエリを検出し、検出された連合クエリに基づいて、OLAPデータベースの第1データ鮮度要件を識別し得る。本明細書に記載されるように、この第1データ鮮度要件は、OLTPデータベース214からOLAPデータベース224へのデータの周期的移動タイミングを実施する為の適時を判断する際に利用され得る。
The query log management unit 343 is a functional unit for monitoring and analyzing the query logs (i.e., the OLTP
リソース管理ユニット344は、OLTPデータベース214及びOLAPデータベース224の負荷及び可用性リソースを監視及び分析する為の機能ユニットである。実施形態において、リソース管理ユニット344は、OLTPデータベース負荷データ312とOLAPデータベース負荷データ322とにアクセスしてこれらを分析し、CPUリソース可用性、メモリリソース可用性、平均毎秒データ読取り数、平均毎秒データ書込み数、そして各データベースについての他の使用情報を判断し得る。更に、リソース管理ユニットは、通信ネットワーク230に対する診断を実施して、ダウンロード速度、アップロード速度、データ転送の為の通信ネットワーク230の可用性などの情報を取得し得る。
The resource management unit 344 is a functional unit for monitoring and analyzing the load and availability resources of the
データ移動管理ユニット345は、データ管理操作を判断及び実施してOLTPデータベース214からOLAPデータベース224へのデータの移動を促進する為の機能ユニットである。ここで、データ管理操作は、OLTPデータベース214からのデータがOLTPデータベース214に保持されたままでOLAPデータベース224へコピーされるコピー操作、あるいは、OLTPデータベース214からのデータがOLAPデータベース224にコピーされてOLTPデータベース214から削除されるコピー・削除操作を含み得る。実施形態において、データ管理操作の判断は、少なくともOLTPデータベース214及び/又はOLAPデータベース224のデータ鮮度要件に基づき得る。
The data
データ移動タイミング管理ユニット346は、OLTPデータベース214からOLAPデータベース224への一括データの移動に適切な周期的移動タイミングを判断する為の機能ユニットである。実施形態において、データ移動タイミング管理ユニット346は、OLAPデータベース224からの連合クエリの頻度に基づいて判断され得る。一例として、データ移動タイミング管理ユニット346は、OLAPデータベース224に最新データをより頻繁に提供する為にOLAPデータベース224からの連合クエリの頻度が高い場合において周期的データ移動時の間隔を減少させると判断し、これにより連合クエリの数を低減させて、OLTPデータベース214への処理負荷を軽減し得る。代替的に、データ移動タイミング管理ユニット346は、OLAPデータベース224のデータ鮮度要件が緩和されて最新データが必要ではない場合において周期的移動時の間隔を増加させると判断し、これによりOLTPデータベース214の処理負荷を軽減し得る。
The data movement
図3に示されているように構成されたデータ移動管理システム200によれば、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節することにより、クエリ処理時間の高速化と検索性能の上昇とを促進することが可能になる。
The data
次に、HTAPシステムでの操作フローの一例が図4を参照して記載される。 Next, an example of the operation flow in the HTAP system is described with reference to Figure 4.
図4は、HTAPシステムでの操作フローの一例を示す図である。 Figure 4 shows an example of an operational flow in the HTAP system.
最初に、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分間隔での平均測定値を示すこと、特定の時間での特定のセンサの測定値を示すこと、その他を行い得る。
Initially, the
所定のデータ移動タイミング(例えば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の負荷を増加させ、クエリ処理時間の低速化と検索性能の低下とを潜在的に招く。
At a predetermined data movement timing (e.g., once every 24 hours), data is moved from the
したがって、本開示の態様は、HTAPシステムにおいて分析及びトランザクションクエリの検索性能を促進する為にデータ鮮度要件とネットワーク及びコンピューティングリソース可用性とデータベースステータスとに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節する為のデータ移動管理技術を提供することに関する。こうして、OLAPデータベース224は、連合クエリの頻度とOLTPデータベース214の処理負荷とを低下させながら最新状態に維持され得る。
Accordingly, aspects of the present disclosure relate to providing data movement management techniques to flexibly adjust the timing of periodic data movement from an OLTP database to an OLAP database based on data freshness requirements, network and computing resource availability, and database status to facilitate search performance for analytical and transactional queries in an HTAP system. In this way, the
次に、本開示の実施形態によるデータ移動管理システムでのデータコピー操作のフローの一例が図5を参照して記載される。 Next, an example of the flow of a data copy operation in a data migration management system according to an embodiment of the present disclosure will be described with reference to FIG. 5.
本明細書で記載されるように、データ移動管理デバイス240は、データ管理操作を判断及び実施してOLTPデータベース214からOLAPデータベース224へのデータの移動を促進するように構成される。実施形態において、データ管理操作は、OLTPデータベース214からOLAPデータベース224へ特定のデータ集合をコピーするデータコピー操作を含み得る。付加的に、或る実施形態において、データ管理操作は、OLTPデータベース214からOLAPデータベース224へ特定のデータ集合をコピーし、続いてコピーされたデータをOLTPデータベース214から削除するデータコピー・削除操作を含み得る。図5は、本開示の実施形態によるデータ移動管理システム200でのデータコピー操作のフローの一例を示す図である。
As described herein, the data
図5に示されているように、データ移動管理デバイス240は、OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230(図5では不図示)のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件とを含む情報を取得し得る。
As shown in FIG. 5, the data
第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データ鮮度要件を判断し得る。
The first data freshness requirement includes information that indicates how recent a particular data set must be for use in responding to a query on the
OLAPデータベース負荷データ322は、CPUリソース可用性とメモリリソース可用性と平均毎秒データ読取り数と平均毎秒データ書込み数とOLAPデータベース224についての他の使用情報とを表すデータの集合体である。同様に、OLTPデータベース負荷データ312は、CPUリソース可用性とメモリリソース可用性と平均毎秒データ読取り数と平均毎秒データ書込み数とOLTPデータベース214についての他の使用情報とを表すデータの集合体である。
OLAP
ネットワークステータス情報506は、ダウンロード速度とアップロード速度とデータを転送する為の通信ネットワーク230の可用性とを含む情報の集合体である。実施形態において、データ移動管理デバイス240は、通信ネットワーク230に対して一連の診断を実施することによりネットワークステータス情報506を判断し得る。
第2データ鮮度要件は、OLTPデータベース214に関するクエリへの応答時の使用の為に特定のデータ集合がどれほど近時性でなければならないかを表す情報を含む。実施形態において、第2データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。実施形態において、データ移動管理デバイス240は、OLTPクエリログファイル314内のクエリから第2データ鮮度要件を抽出することにより第2データ鮮度要件を判断し得る。
The second data freshness requirement includes information representing how recent a particular data set must be for use in responding to a query on the
OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230(図5では不図示)のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件との取得を受けて、データ移動管理デバイスは、OLTPデータベース214からOLAPデータベースにコピーされるデータ集合を、データコピー操作についての適時とともに、データコピー操作の一部として判断し得る。データコピー操作についての適時は、OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件とに基づいて判断され得る。データ管理操作のタイミングの判断についての詳しい記載は後で挙げられるので、その説明はここでは省略される。
Upon obtaining the first data freshness requirement of the
OLTPデータベース214からOLAPデータベースにコピーされるデータ集合を、データコピー操作についての適時とともにデータコピー操作の一部として判断した後に、データ移動管理デバイス240は、リクエストされたデータをOLTPデータベース214に記憶するテーブル510を読み取り、データを格納するCSVファイルを生成し、OLAPデータベース224の指定テーブル520へのCSVファイルの一括インポートを実施し、データをコミットし、新規追加データを反映するようにテーブルステータスデータベース341を更新し得る。
After determining the set of data to be copied from the
次に、本開示の実施形態によるデータ移動管理システムでのデータ削除操作のフローの一例が、図6を参照して記載される。 Next, an example of the flow of a data deletion operation in a data movement management system according to an embodiment of the present disclosure will be described with reference to FIG. 6.
図6は、本開示の実施形態によるデータ移動管理システムにおけるデータ削除操作のフローの一例を示す図である。実施形態において、図6に示されているデータ削除操作は、データコピー・削除操作の一部として、図5に示されているデータコピー操作に続いて示され得る。 FIG. 6 is a diagram illustrating an example of the flow of a data deletion operation in a data movement management system according to an embodiment of the present disclosure. In an embodiment, the data deletion operation shown in FIG. 6 may be shown following the data copy operation shown in FIG. 5 as part of a data copy and delete operation.
データ移動管理デバイス240は最初に、OLTPデータベース214から削除されるべきデータ集合を、データ削除操作についての適時とともに判断し得る。実施形態において、データ移動管理デバイス240は、前にOLTPデータベース214からOLAPデータベース224へコピーされたデータ集合を削除すると判断し得る。データ削除操作についての適時は、OLAPデータベース224の第1データ鮮度要件と、OLAPデータベース負荷データと、通信ネットワーク230のネットワークステータス情報と、OLTPデータベース負荷データと、OLTPデータベース214の第2データ鮮度要件とに基づいて判断され得る。データ管理操作のタイミングの判断についての詳しい記載は後で挙げられるので、その説明はここでは省略される。
The data
続いて、データ移動管理デバイス240は、判断されたデータを、それが記憶されたOLTPデータベース214のテーブル610から削除し、削除されたデータを反映するようにテーブルステータスデータベース341を更新し得る。
The data
図5及び図6を参照して上に記載されたデータ移動管理操作によれば、データ移動管理デバイス240は、連合クエリの頻度とOLTPデータベース214の処理負荷とを低下させながら、OLAPデータベース224を最新状態に維持できる。
The data movement management operations described above with reference to Figures 5 and 6 allow the data
次に、本開示の実施形態によるデータ移動管理方法の一例が図7を参照して記載される。 Next, an example of a data movement management method according to an embodiment of the present disclosure will be described with reference to FIG. 7.
図7は、本開示の実施形態によるデータ移動管理方法700のフローを示すフローチャートである。データ移動管理方法700は、OLTPデータベース及びOLAPデータベースのデータ鮮度要件に基づいてデータ移動管理操作を判断及び実施し、更新済み周期的データ移動タイミングを判断してクエリ処理性能を促進する為の方法である。
FIG. 7 is a flowchart illustrating a flow of a data
最初に、ステップS705で、データ移動管理デバイス240のクエリログ管理ユニット343は、連合クエリの発出についてOLTPクエリログファイル(OLTPクエリログファイル314)とOLAPクエリログファイル(OLAPクエリログファイル324)とを監視する。クエリログ管理ユニット343は、OLAPクエリログファイルのクエリがOLAPデータベース内で可用状態ではないデータに関係している(例えばこれを必要とする)場合に、連合クエリの発出を検出し得る。
Initially, in step S705, the query log management unit 343 of the data
次に、ステップS710で、クエリログ管理ユニット343は、OLAPデータベースからの連合クエリが検出されたかどうかを判断し得る。OLAPデータベースからの連合クエリが検出された場合には、処理はステップS715へ進む。逆に、OLAPデータベースからの連合クエリが検出されていない場合には、処理はステップS705へ戻ってクエリログファイルの監視を続ける。 Next, in step S710, the query log management unit 343 may determine whether a federated query from the OLAP database has been detected. If a federated query from the OLAP database has been detected, processing proceeds to step S715. Conversely, if a federated query from the OLAP database has not been detected, processing returns to step S705 to continue monitoring the query log file.
次に、連合クエリが検出された場合には、ステップS715で、クエリログ管理ユニット343が、連合クエリに基づいてOLAPデータベースの第1データ鮮度要件を識別し得る。本明細書で記載される際に、第1データ鮮度要件は、OLAPデータベース224のクエリへの応答時の使用の為に特定のデータ集合がどれほど近時性でなければならないかを表す情報を含む。実施形態において、第1データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。一例として、第1データ鮮度要件は、「[2019年1月7日09:30:00]と[2021年3月31日11:00:00]の間」の日付範囲を含み得る。クエリログ管理ユニット343は、検出された連合クエリから抽出することにより第1データ鮮度要件を識別し得る。
Next, if a federated query is detected, in step S715, the query log management unit 343 may identify a first data freshness requirement for the OLAP database based on the federated query. As described herein, the first data freshness requirement includes information that indicates how recent a particular data set must be for use in responding to a query of the
次に、ステップS720で、データ移動管理デバイス240のデータ移動管理ユニット345は、連合クエリによりリクエストされたデータの量がデータ量閾値を満たすかどうかを判断する。連合クエリによりリクエストされたデータの量は、ステップS715で識別された第1データ鮮度要件に基づいて判断され得る。例えば、データ移動管理ユニット345は、識別された第1データ鮮度要件を使用してOLTPデータベース(及び/又はテーブルステータスデータベース)を参照し、連合クエリに応じる為にOLTPデータベースからOLAPデータベースへ移動される必要のあるデータの量を確認し得る。
Next, in step S720, the data
ここで、データ量閾値は特定量のデータを指定する所定の値である。データ量閾値は、特定のデータサイズ(5メガバイト、100メガバイト、1ギガバイト)として、あるいはデータ行又は列の数(50行、100行、50列)として表現され得る。連合クエリによりリクエストされたデータ量がデータ量閾値より少ない時に、連合クエリはデータ量閾値を満たしていると考えられる。この場合には、連合クエリによりリクエストされたデータの量は実質的に小さいので、OLTPデータベースへの負荷を著しく増加させることなく連合クエリが実行され得る。逆に、連合クエリによりリクエストされたデータの量が大きい(例えば、連合クエリがデータ量閾値を満たしていない)場合には、データ管理操作を実施して、リクエストされたデータをOLAPデータベースに提供し、今後の連合クエリの頻度を低下させるように周期的データ移動タイミングを修正することが望ましい。 Here, the data volume threshold is a predetermined value that specifies a particular amount of data. The data volume threshold may be expressed as a particular data size (5 megabytes, 100 megabytes, 1 gigabyte) or as a number of data rows or columns (50 rows, 100 rows, 50 columns). When the amount of data requested by the federated query is less than the data volume threshold, the federated query is considered to satisfy the data volume threshold. In this case, the amount of data requested by the federated query is substantially small, so that the federated query may be executed without significantly increasing the load on the OLTP database. Conversely, when the amount of data requested by the federated query is large (e.g., the federated query does not satisfy the data volume threshold), it is desirable to perform data management operations to provide the requested data to the OLAP database and modify the periodic data movement timing to reduce the frequency of future federated queries.
したがって、連合クエリがデータ量閾値を満たしている場合には、処理はステップS725へ進む。逆に、連合クエリがデータ量閾値を満たしていない場合には、処理はステップS730へ進む。 Therefore, if the federated query meets the data volume threshold, processing proceeds to step S725. Conversely, if the federated query does not meet the data volume threshold, processing proceeds to step S730.
ステップS725で、データ移動管理ユニット345は、OLAPデータベースで連合クエリを処理するのに必要なデータをOLTPデータベースから取得するために連合クエリを実行する。
In step S725, the data
ステップS730で、データ移動管理ユニット345は、OLTPクエリログファイル(例えばOLTPクエリログファイル314)に基づいてOLTPデータベースの第2データ鮮度要件を識別し得る。第2データ鮮度要件は、OLTPデータベースのクエリへの応答時の使用の為に特定のデータ集合がどれほど近時性でなければならないかを表す情報を含む。実施形態において、第2データ鮮度要件は、特定のデータ集合が満たさなければならない日付又は日付範囲として表現され得る。実施形態において、データ移動管理ユニット345は、OLTPデータベースで最も近時にアクセスされたデータ(例えば、OLTPデータベースで近時にアクセスされたデータは、クエリを処理するのにOLTPデータベースによりやはり必要とされるデータである。)を表すOLTPクエリログファイルに記録されたクエリを分析することにより、第2データ鮮度要件を判断し得る。
In step S730, the data
次に、ステップS735で、データ移動管理ユニット345は、ステップS715で識別された第1データ鮮度要件を、ステップS730で識別された第2データ鮮度要件と比較して、第1データ鮮度要件が第2データ鮮度要件に対応するかどうかを判断し得る。ここで、データ移動管理ユニット345は、第1データ鮮度要件により指定された日付範囲が第2データ鮮度要件により指定された日付範囲の少なくとも一部分と重複している場合には第1データ鮮度要件が第2データ鮮度要件に対応すると判断し得る。逆に、データ移動管理ユニット345は、第1データ鮮度要件により指定された日付範囲が第2データ鮮度要件により指定された日付範囲の少なくとも一部分と重複していない場合には第1データ鮮度要件が第2データ鮮度要件に対応しないと判断し得る。
Next, in step S735, the data
第1及び第2データ鮮度要件が対応していると判断された場合には、処理はステップS745へ進む。逆に、第1及び第2データ鮮度要件が対応していない場合には、処理はステップS740へ進む。 If it is determined that the first and second data freshness requirements correspond, the process proceeds to step S745. Conversely, if the first and second data freshness requirements do not correspond, the process proceeds to step S740.
ステップS740で、データ移動管理ユニット345は、連合クエリによりリクエストされた第1データ集合をOLTPデータベースからOLAPデータベースにコピーして、OLTPデータベースから第1データ集合を削除するコピー・削除操作を、データ管理操作として実施すると判断し得る。すなわち、OLTPデータベース及びOLAPデータベースのデータ鮮度要件が重複していないので、連合クエリによりリクエストされた第1データ集合はもはやOLTPデータベースによる使用状態になく、ゆえにOLTPデータベースから削除され得る。データコピー・削除操作は後で記載されるので、その詳細な説明はここでは省略される。
In step S740, the data
ステップS745で、データ移動管理ユニット345は、連合クエリによりリクエストされた第1データ集合をOLTPデータベースからOLAPデータベースにコピーするコピー操作を、データ管理操作として実施すると判断し得る。すなわち、OLTPデータベース及びOLAPデータベースのデータ鮮度要件が重複しているので、連合クエリによりリクエストされた第1データ集合はまだOLTPデータベースによる使用状態にあり、ゆえにOLTPデータベースに保持されるべきである。データコピー操作は後で記載されるので、その詳細な説明はここでは省略される。
In step S745, the data
ステップS750で、データ移動管理ユニット345は、連合クエリの頻度が頻度閾値に達しているかどうかを判断する。ここで、頻度閾値は、連合クエリの所定の発出率を規定し、所与の時間当たりにOLAPデータベースで発出された連合クエリの数(例えば1時間当たり1個の連合クエリ、1日当たり10個の連合クエリ)として表現され得る。特定の時間にOLAPデータベースについてデータ移動管理ユニット345により計算される連合クエリの頻度が頻度閾値より大きい場合には、連合クエリの頻度は頻度閾値に達していると考えられる。連合クエリの頻度が頻度閾値に達している場合には、処理はステップS755へ進む。逆に、連合クエリの頻度が頻度閾値に達していない場合には、処理はステップS705へ戻って、OLTPデータベース及びOLAPデータベースのクエリログファイルの監視を続ける。
In step S750, the data
ステップS755で、データ移動タイミング管理ユニット346は、OLTPデータベースからOLAPデータベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する。すなわち、連合クエリの頻度が頻度閾値に達している場合には、最新データをOLAPデータベースに提供する為に周期的移動タイミングを修正して、OLAPデータベースで発せられる連合クエリの数を減少させることが望ましい。更新済み周期的データ移動タイミングを判断する為の処理は後で記載されるので、その詳細な説明はここでは省略される。
In step S755, the data movement
図7に図示されたデータ移動管理方法700によれば、HTAPシステムにおける分析及びトランザクションクエリの検索性能を促進する為に、データ鮮度要件とネットワーク及びコンピューティングリソース可用性とデータベースステータスとに基づいて、OLTPデータベースからOLAPデータベースへデータが移動される周期的移動タイミングを柔軟に調節することが可能である。このようにして、連合クエリの頻度とOLTPデータベース214の処理負荷とを低下させながら、OLAPデータベース224が最新状態に維持され得る。
According to the data
次に、本開示の実施形態によるデータ移動管理操作を判断する特定例が図8を参照して記載される。 Next, a specific example of determining a data movement management operation according to an embodiment of the present disclosure will be described with reference to FIG. 8.
本明細書に記載されるように、本開示の実施形態によるデータ移動管理デバイス240は、OLAPデータベース及びOLTPデータベースのデータ鮮度要件に基づいてデータ移動管理操作を判断するように構成される。図8は、本開示の実施形態によるデータ移動管理操作を判断する特定例を示す図である。
As described herein, the data
データ移動管理デバイス240のクエリログ管理ユニット343は、OLAPデータベースのOLAPクエリログファイル324に記憶されたクエリログを分析して、OLAPデータベースの第1データ鮮度要件810を識別し得る。例えば、第1データ鮮度要件810は「2019年1月7日09:30~2021年3月31日11:00」の日付範囲を指定し得る。実施形態において、クエリログ管理ユニット343は、OLAPデータベースからの連合クエリの検出を受けてOLAPクエリログファイル324を分析し得る。
The query log management unit 343 of the data
次に、クエリログ管理ユニット343は、OLTPデータベースのOLTPクエリログファイル314に記憶されたクエリログを分析して、OLTPデータベースの第2データ鮮度要件820を識別し得る。実施形態において、クエリログ管理ユニット343は、OLTPデータベースで最も近時にアクセスされたデータを表すクエリに基づいて第2データ鮮度要件820を識別し得る。一例として、第2データ鮮度要件820は、「2021年1月7日09:30~2021年1月7日11:00」の日付範囲を指定し得る。
The query log management unit 343 may then analyze the query logs stored in the OLTP
続いて、データ移動管理デバイス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と対応していないと判断し得る。
Then, the data
第1データ鮮度要件810が第2データ鮮度要件820と対応している場合に、データ移動管理ユニット345は、OLTPデータベースからOLAPデータベースへ第1データ集合をコピーするコピー操作をデータ管理操作として実施すると判断し得る。逆に、第1データ鮮度要件810が第2データ鮮度要件820と対応していない場合に、データ移動管理ユニット345は、OLTPデータベースからOLAPデータベースへ第1データ集合をコピーしてOLTPデータベースから第1データ集合を削除するコピー・削除操作を、データ管理操作として実施すると判断し得る。
When the first
この例では、「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データ集合をコピーするコピー操作をデータ管理操作として実施すると判断し得る。
In this example, since the first
次に、本開示の実施形態によるデータコピー操作の一例が図9を参照して記載される。 Next, an example of a data copy operation according to an embodiment of the present disclosure will be described with reference to FIG. 9.
図9は、本開示の実施形態によるデータコピー操作900のフローを示すフローチャートである。データコピー操作900は、OLTPデータベースからOLAPデータベースへデータ集合をコピーする為の方法である。データコピー操作900を実施して、リクエストされたデータをOLAPデータベースに提供すると、OLTPデータベースのリソース使用に負の影響を与え得る連合クエリ実行の必要性を回避し得る。図9に示されているデータコピー操作900は、実質的に図7のステップS745に対応する。
FIG. 9 is a flow chart illustrating a flow of a
最初に、ステップS905で、リソース管理ユニット344はOLTPデータベース負荷データ(例えば、OLTPデータベース負荷データ312)とOLAPデータベース負荷データ(例えば、OLAPデータベース負荷データ322)とを分析して、OLTPデータベースとOLAPデータベースの両方でのコンピューティングリソースの可用性を判断する。例えば、リソース管理ユニット344は、OLTPデータベース負荷データとOLAPデータベース負荷データとに基づいて、OLTPデータベース及びOLAPデータベースにおけるCPUリソースとメモリリソースとの可用性を判断し得る。 First, in step S905, the resource management unit 344 analyzes the OLTP database load data (e.g., OLTP database load data 312) and the OLAP database load data (e.g., OLAP database load data 322) to determine the availability of computing resources at both the OLTP database and the OLAP database. For example, the resource management unit 344 may determine the availability of CPU resources and memory resources at the OLTP database and the OLAP database based on the OLTP database load data and the OLAP database load data.
次に、ステップS910で、リソース管理ユニット344は、データコピー操作を実施するのに充分なコンピューティングリソースがOLTPデータベースとOLAPデータベースの両方で可用状態であるかどうかを判断する。実施形態において、データ移動管理ユニット345は、ステップS905で判断されたOLTP及びOLAPデータベースの可用性コンピューティングリソースを、データコピー操作に必要なコンピューティングリソースを指定する所定の明細情報と比較することにより、充分なコンピューティングリソースが可用状態であるか否かを判断し得る。充分なコンピューティングリソースが可用状態である場合には、処理はステップS915へ進む。充分なリソースが可用状態でない場合には、データ移動管理ユニット345は所定時間待機してステップS905へ戻る。
Next, in step S910, the resource management unit 344 determines whether sufficient computing resources are available in both the OLTP database and the OLAP database to perform the data copy operation. In an embodiment, the data
次に、ステップS915で、データ移動管理ユニット345は、データ移動管理方法700のステップS710で検出された連合クエリによりリクエストされた第1データ集合を含むCSVファイルを生成し得る。
Next, in step S915, the data
次に、ステップS920で、リソース管理ユニット344は、通信ネットワーク(例えば、図2及び図3に示された通信ネットワーク230)を分析して、ネットワークリソースの可用性を判断し、データコピー操作を実施し得る。実施形態において、リソース管理ユニット344は、ダウンロード速度、アップロード速度、可用性、その他を確認する一以上の診断を通信ネットワーク230に対して実施することにより、ネットワークリソースの可用性を判断し得る。
Next, in step S920, the resource management unit 344 may analyze the communication network (e.g., the
次に、ステップS925で、リソース管理ユニット344は、データコピー操作を実施するのに充分なネットワークリソースが可用状態であるかどうかを判断し得る。実施形態において、リソース管理ユニット344は、ステップS920で判断されたネットワークリソースを、所与のデータサイズについてデータコピー操作を実施するのに必要なネットワークリソースを指定する所定の明細情報と比較し得る。充分なネットワークリソースが可用状態である場合には、処理はステップS930へ進む。充分なリソースが可用状態ではない場合には、データ移動管理ユニット345が所定時間待機してステップS920へ戻る。
Next, in step S925, the resource management unit 344 may determine whether sufficient network resources are available to perform the data copy operation. In an embodiment, the resource management unit 344 may compare the network resources determined in step S920 to predefined specification information that specifies the network resources required to perform the data copy operation for a given data size. If sufficient network resources are available, processing proceeds to step S930. If sufficient resources are not available, the data
ステップS930で、データ移動管理ユニット345は、ステップS915で生成されたCSVファイルをOLTPデータベースから(例えばOLTPデバイス210から)OLAPデバイスへ(例えばOLAPデバイス220へ)、通信ネットワーク230を介して転送し得る。実施形態では、安全な、あるいは暗号化されたネットワークチャネルを経由して、CSVファイルの転送が行われ得る。
In step S930, the data
ステップS935で、データ移動管理ユニット345は、CSVファイルの転送の後でOLTP及びOLAPデータベースの各々のデータを反映するようにテーブルステータスデータベース341を更新し(例えば、転送されたデータを含むようにOLAPデータベースのステータスを更新し)得る。
In step S935, the data
データコピー操作900によれば、OLTPデータベースからOLAPデータベースへの必要データの転送を実施して、連合クエリの頻度とOLTPデータベースの処理負荷とを低下させながらOLAPデータベースを最新状態に維持することが可能である。
The data copy
次に、本開示の実施形態によるデータコピー・削除操作の一例が図10を参照して記載される。 Next, an example of a data copy/delete operation according to an embodiment of the present disclosure will be described with reference to FIG. 10.
図10は、本開示の実施形態によるデータコピー・削除操作1000のフローを示すフローチャートである。データコピー・削除操作1000は、OLTPデータベースからOLAPデータベースへデータ集合をコピーし、続いて、コピーされたデータをOLTPデータベースから削除する為の方法である。データコピー・削除操作1000を実施して、リクエストされたデータをOLAPデータベースに提供し、続いて、コピーされたデータをOLTPデータベースから削除すると、OLTPデータベースのリソース使用に負の影響を与え得る連合クエリを実行する必要性を回避するとともに、OLTPデータベースの高速クエリ処理も促進し得る。図10に図示されているデータコピー・削除操作1000は、図7のステップS740に実質的に対応する。
FIG. 10 is a flow chart illustrating a flow of a data copy/delete
図10に示されているステップS1005,S1010,S1015,S1020,S1025,S1030,S1035は、図9に示されているステップに実質的に対応するので、説明を簡易にする為、これらのステップの冗長的な記載はここでは省略される。 Steps S1005, S1010, S1015, S1020, S1025, S1030, and S1035 shown in FIG. 10 substantially correspond to the steps shown in FIG. 9, and therefore, for ease of explanation, redundant descriptions of these steps are omitted here.
ステップS1040で、データ移動管理ユニット345は、OLTPデータベースから削除されるべきデータを判断し得る。実施形態において、データ移動管理ユニット345は、OLAPデータベースの連合クエリによりリクエストされて、ステップS1030でOLTPデータベースからOLAPデータベースへ転送された第1データ集合を削除すると判断し得る。
In step S1040, the data
ステップS1045で、データ移動管理ユニット345は、ステップS1040で判断されたデータをOLTPデータベースから削除するデータ削除操作を実施し得る。データ削除操作は後で記載されるので、その詳細な説明はここでは省略される。
In step S1045, the data
次に、本開示の実施形態によるデータ削除操作の一例が図11を参照して記載される。 Next, an example of a data deletion operation according to an embodiment of the present disclosure will be described with reference to FIG. 11.
図11は、本開示の実施形態によるデータ削除操作1100のフローを示すフローチャートである。データ削除操作は、OLTPデータベースからOLAPデータベースへコピーされたデータ集合をOLTPデータベースから削除する為の方法である。図11に示されているデータ削除操作1100は、図10のステップS1045に実質的に対応する。
FIG. 11 is a flow chart illustrating a flow of a
最初に、ステップS1105で、リソース管理ユニット344は、OLTPデータベース負荷データ(例えば、OLTPデータベース負荷データ312)を分析して、OLTPデータベースでのコンピューティングリソースの可用性を判断する。例えば、リソース管理ユニット344は、OLTPデータベース負荷データに基づいて、OLTPデータベースでのCPUリソース及びメモリリソースの可用性を判断し得る。 First, in step S1105, the resource management unit 344 analyzes the OLTP database load data (e.g., the OLTP database load data 312) to determine the availability of computing resources at the OLTP database. For example, the resource management unit 344 may determine the availability of CPU resources and memory resources at the OLTP database based on the OLTP database load data.
次に、ステップS1110で、リソース管理ユニット344は、データ削除操作を実施するのに充分なコンピューティングリソースがOLTPデータベースにおいて可用状態であるかどうかを判断する。実施形態において、リソース管理ユニット344は、ステップS1105で判断されたOLTPデータベースの可用性コンピューティングリソースを、データ削除操作に必要なコンピューティングリソースを指定する所定の明細情報と比較することにより、充分なコンピューティングリソースが可用状態であるか否かを判断し得る。充分なコンピューティングリソースが可用状態である場合には、処理はステップS1115へ進む。充分なリソースが可用状態ではない場合に、リソース管理ユニット344は所定時間待機してステップS1105へ戻る。 Next, in step S1110, the resource management unit 344 determines whether sufficient computing resources are available in the OLTP database to perform the data deletion operation. In an embodiment, the resource management unit 344 may determine whether sufficient computing resources are available by comparing the available computing resources of the OLTP database determined in step S1105 with predefined specification information that specifies the computing resources required for the data deletion operation. If sufficient computing resources are available, processing proceeds to step S1115. If sufficient resources are not available, the resource management unit 344 waits a predefined time and returns to step S1105.
次に、ステップS1115で、データ移動管理ユニット345は削除されるべきデータを識別する。実施形態において、データ移動管理ユニット345は、OLTPデータベース内においてデータコピー・削除操作1000のステップS1040で判断されたデータ(例えば、OLAPデータベースの連合クエリによりリクエストされてOLTPデータベースからOLAPデータベースへ転送された第1データ集合)を識別し得る。
Next, in step S1115, the data
次に、ステップS1120で、データ移動管理ユニット345は、ステップS1115で識別されたデータをOLTPデータベースから削除する。
Next, in step S1120, the data
次に、ステップS1125で、データ移動管理ユニット345は、データ削除後のOLTPデータベースのデータを反映するようにテーブルステータスデータベース341を更新し得る。
Next, in step S1125, the data
データコピー・削除操作1000及びデータ削除操作1100によれば、OLTPデータベースからOLAPデータベースへ必要なデータを転送してOLAPデータベースを最新状態に維持し、OLTPデータベースから不要なデータを除去しながら連合クエリの頻度を低下させることが可能である。
The data copy/delete
次に、周期的データ移動タイミング更新プロセス1200が図12を参照して記載される。
Next, the periodic data movement
図12は、本開示の実施形態による周期的データ移動タイミング更新プロセス1200のフローを示すフローチャートである。周期的データ移動タイミング更新プロセス1200は、最新データをOLAPデータベースへタイムリーに提供して連合クエリの頻度を低下させる為にOLTPデータベースからOLAPデータベースへデータが周期的に転送される周期的データ移動タイミングを更新する為のプロセスである。図12に図示されている周期的データ移動タイミング更新プロセス1200は、図7のステップS755に実質的に対応する。
FIG. 12 is a flow chart illustrating a flow of a periodic data movement
最初に、ステップS1205で、データ移動管理デバイス240のクエリログ管理ユニット343は、OLTPクエリログファイル(OLTPクエリログファイル314)とOLAPクエリログファイル(OLAPクエリログファイル324)とを監視する。
First, in step S1205, the query log management unit 343 of the data
次に、ステップS1210で、データ移動タイミング管理ユニット346は、OLTPデータベースのデータ挿入率とOLAPデータベースの第1データ鮮度要件とを判断する。ここで、OLTPデータベースのデータ挿入率は、新しいデータがOLTPデータベースへ挿入される率を指し、時間当たりのデータサイズ(例えば5mb/秒)あるいは時間当たりの行/列の数(例えば50行/分)として表現され得る。実施形態において、データ移動タイミング管理ユニット346は、OLTPクエリログファイルに含まれるデータ挿入クエリに基づいてOLTPデータベースのデータ挿入率を計算し得る。本明細書に記載されるように、第1データ鮮度要件はOLAPクエリログファイル324に基づいて(例えば、ステップS710で検出された連合クエリから)判断され得る。
Next, in step S1210, the data movement
次に、ステップS1215で、データ移動タイミング管理ユニット346は、ステップS1205で判断されたOLTPデータベースのデータ挿入率とOLAPデータベースの第1データ鮮度要件とに基づいて、OLAPデータベースを最新状態に維持するのに現在の周期的移動時が効果的であるかどうかを判断する。
Next, in step S1215, the data movement
より詳しく記すと、データ移動タイミング管理ユニット346は、データ挿入率を所定の第1挿入率閾値と、また第1データ鮮度要件を第1近時性閾値と比較し得る。第1挿入率閾値は、OLTPデータベースへデータが挿入される特定の閾値率を規定し得る。ステップS1210で計算されたデータ挿入率が第1挿入率閾値より大きいかこれと等しい場合に、OLTPデータベースのデータ挿入率は第1挿入率閾値に達していると考えられる。第1近時性閾値は、第1データ鮮度要件の限度を規定する日付又は日付範囲を指定する。第1データ鮮度要件が第1近時性閾値より近時性であるデータをリクエストする場合に、第1データ鮮度要件は第1近時性閾値に達していると考えられる。
More specifically, the data movement
OLTPデータベースのデータ挿入率が第1挿入率閾値に達していないかOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達していない場合には、現在の周期的移動時が効果的でないと判断される。これは、OLTPデータベースのデータ挿入率が比較的低いか、OLAPデータベースの第1データ鮮度要件が、最も近時性のデータが必要とされないようなものである時には、OLTPデータベースからOLAPデータベースへの頻繁な周期的データ移動を実施することは必要ないからである。 If the data insertion rate of the OLTP database does not reach the first insertion rate threshold or the first data freshness requirement of the OLAP database does not reach the first recency threshold, it is determined that the current periodic migration is not effective. This is because when the data insertion rate of the OLTP database is relatively low or the first data freshness requirement of the OLAP database is such that the most recent data is not needed, it is not necessary to perform frequent periodic data migration from the OLTP database to the OLAP database.
逆に、OLTPデータベースのデータ挿入率が第1挿入率閾値に達しているかOLAPの第1データ鮮度要件が第1近時性閾値に達している場合には、現在周期的移動時が効果的ではないと判断される。これは、OLTPデータベースのデータ挿入率が比較的高いか、OLAPデータベースの第1データ鮮度要件が、最も近時性のデータが必要とされるようなものである時に、OLTPデータベースからOLAPデータベースへのより頻繁な周期的データ移動を実施して最新のデータを提供することが必要となるからである。 Conversely, if the data insertion rate of the OLTP database reaches the first insertion rate threshold or the first data freshness requirement of the OLAP database reaches the first recency threshold, it is determined that the current periodic migration is not effective. This is because when the data insertion rate of the OLTP database is relatively high or the first data freshness requirement of the OLAP database is such that the most recent data is required, it becomes necessary to perform more frequent periodic data migration from the OLTP database to the OLAP database to provide the most recent data.
OLTPデータベースのデータ挿入率が第1挿入率閾値に達しているがOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達していない場合、あるいは、OLTPデータベースのデータ挿入率が第1挿入率閾値に達していないがOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達している場合には、周期的データ移動タイミングは効果的であると考えられ得る。 Periodic data movement timing may be considered effective if the data insertion rate of the OLTP database reaches the first insertion rate threshold but the first data freshness requirement of the OLAP database does not reach the first recency threshold, or if the data insertion rate of the OLTP database does not reach the first insertion rate threshold but the first data freshness requirement of the OLAP database reaches the first recency threshold.
現在の周期的移動時が効果的であると判断された場合には、処理はステップS1205へ戻り得る。現在の周期的移動時が効果的でないと判断された場合には、処理はステップS1220へ進み得る。 If it is determined that the current periodic movement is effective, the process may return to step S1205. If it is determined that the current periodic movement is not effective, the process may proceed to step S1220.
次に、ステップS1220で、現在の周期的データ移動時が効果的でないと判断された場合には、データ移動タイミング管理ユニット346は、OLTPデータベースからOLAPデータベースへの一括データ転送が実施される周期的データ移動タイミングを更新し得る。一般的に、周期的データ移動タイミングは24時間に設定される、すなわちOLTPデータベースからOLAPデータベースへの一括データ転送が毎日一回実施されることに留意されるべきである。しかしながら、本明細書に記載されるように、本開示の実施形態によれば、OLTPデータベースのデータ挿入率とOLAPデータベースの第1データ鮮度要件とに基づいて周期的データ移動タイミングを修正する(すなわちその間隔の長さを増減する)ことが可能である。
Next, in step S1220, if it is determined that the current periodic data movement time is not effective, the data movement
OLTPデータベースのデータ挿入率が第1挿入率閾値に達していないかOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達していない場合には、データ移動タイミング管理ユニット346は周期的データ移動タイミングの間隔を増加させ得る。その結果、周期的データ移動はそれほど頻繁に行われないが、OLAPデータベースは最も近時性のデータを必要としないので(例えば、OLTPデータベースの低挿入率あるいは緩いデータ鮮度要件ゆえに)これは許容可能である。
If the data insertion rate of the OLTP database does not reach the first insertion rate threshold or the first data freshness requirement of the OLAP database does not reach the first recency threshold, the data movement
逆に、OLTPデータベースのデータ挿入率が第1挿入率閾値に達しているかOLAPデータベースの第1データ鮮度要件が第1近時性閾値に達している場合には、データ移動タイミング管理ユニット346は周期的データ移動タイミングの間隔を減少させ得る。その結果、OLAPデータベースがより近時性のデータを必要とするので(例えば、OLTPデータベースの高い挿入速度又は厳密なデータ鮮度要件ゆえに)、周期的データ移動がより頻繁に行われる。
Conversely, if the data insertion rate of the OLTP database reaches the first insertion rate threshold or the first data freshness requirement of the OLAP database reaches the first recency threshold, the data movement
ここで、周期的データ移動タイミングが増減される程度は、幾つかの方法により判断され得る。実施形態において、データ移動タイミング管理ユニット346は、周期的データ移動タイミングを所定の量だけ増減(例えば1時間、2時間、6時間、12時間だけ増減)させ得る。或る実施形態において、データ移動タイミング管理ユニット346は、統計分析又は機械学習アプローチを利用し、周期的データ移動タイミングの履歴とOLTP及びOLAPデータベースのリソース負荷とに基づいて適切な周期的データ移動タイミングを識別し得る。実施形態において、OLTPデータベースのデータ挿入率又は第1データ鮮度要件が、第1挿入率閾値(例えば、システム構成変化がデータ挿入を大きく増減させる周期)又は第1近時性閾値(例えば周知のデータ鮮度要件を有するアプリケーションが実行されることが予定される時)に達しているか達していない時についての予測に基づいて、データ移動タイミング管理ユニット346が周期的データ移動タイミングを増減させ得る。周期的データ移動タイミングを判断する他の方法も可能である。
Here, the degree to which the periodic data movement timing is increased or decreased may be determined in several ways. In an embodiment, the data movement
図12を参照して記載される周期的データ移動タイミング更新プロセス1200によれば、周期的データ移動タイミングを適切なタイミングに更新してOLTPデータベース及びOLAPデータベースでのリソース効率を促進することが可能である。実例を挙げると、OLAPデータベースが近時性データを必要としない時に周期的データ移動タイミングを増加させる(すなわち頻度を低下させる)ことにより、OLTPデータベースで必要なコンピューティングリソースと処理負荷とを軽減することが可能である。逆に、OLAPデータベースが近時性データを必要とする時には周期的データ移動タイミングを減少させる(すなわち頻度を上昇させる)ことにより、OLAPデータベースからOLTPデータベースへの連合クエリの頻度を低下させ、同様にOLTPデータベースで必要なコンピューティングリソース及び処理負荷を軽減することが可能である。
According to the periodic data movement
次に、図13を参照して周期的データ移動遅延プロセスが記載される。開示の態様は、OLTPデータベース内のデータが頻繁に更新されている場合には、最新データがOLAPデータベースへ効率的に転送され得るように、頻度更新が低下するまでデータ管理操作を遅延させることが望ましいという認識に関係している。 Next, a periodic data movement delay process is described with reference to FIG. 13. Aspects of the disclosure relate to the recognition that if data in an OLTP database is being frequently updated, it may be desirable to delay data management operations until the frequency of updates decreases so that the latest data can be efficiently transferred to the OLAP database.
図13は、本開示の実施形態によるデータ管理操作遅延プロセス1300のフローを示すフローチャートである。データ管理操作遅延プロセス1300は、OLTPデータベースのデータが頻繁に更新されている時にデータ管理操作を遅延させる為のプロセスである。図13に示されているデータ管理操作遅延プロセス1300は、図7のステップS735に続いて(例えば、データ管理操作の実施に先立って)実施され得る。
FIG. 13 is a flowchart showing the flow of a data management
最初に、ステップS1305で、データ移動管理デバイス240のクエリログ管理ユニット343がOLTPクエリログファイル(OLTPクエリログファイル314)とOLAPクエリログファイル(OLAPクエリログファイル324)とを監視する。
First, in step S1305, the query log management unit 343 of the data
次に、ステップS1310で、データ移動管理ユニット345は、OLTPデータベースの第1データ集合の更新頻度とOLAPデータベースの第1データ鮮度要件とを判断する。ここで、第1データ集合の更新頻度は、OLTPデータベースの第1データ集合が更新される率を指し、時間当たりの更新数(例えば毎分10更新)として表現され得る。実施形態において、データ移動管理ユニット345は、OLTPクエリログファイルに含まれるデータ挿入クエリに基づいてOLTPデータベースの第1データ集合の更新頻度を計算し得る。本明細書で記載されるように、第1データ鮮度要件はOLAPクエリログファイル324に基づいて判断され得る。
Next, in step S1310, the data
次に、ステップS1315で、データ移動管理ユニット345は、現在予定されているデータ管理操作の実行時が効率的であるか否かを判断する。
Next, in step S1315, the data
より詳しく記すと、データ移動管理ユニット345は、OLTPデータベースの第1データ集合の更新頻度が第1更新頻度閾値に達していて第1データ鮮度要件が第1近時性閾値に達していない場合に、現在のデータ管理操作の実行が効率的でないと判断する(例えば、OLTPデータベースのデータが頻繁に更新され、OLAPデータベースが近時性データを必要としないので、データ管理操作を後で実施する方が効率的である)。この場合に、処理はステップS1325へ進む。ここで、第1更新頻度閾値は、OLTPデータベースで第1データ集合が更新される特定の閾値率を規定し得る。ステップS1310で計算された更新頻度が第1更新頻度より大きいかこれと等しい場合に、OLTPデータベースの更新頻度は第1更新頻度閾値に達していると考えられる。
More specifically, the data
逆に、データ移動管理ユニット345は、OLTPデータベースの第1データ集合の更新頻度が第1更新頻度閾値に達していないか、第1データ鮮度要件が第1近時性閾値に達している場合には、OLAPデータベースが効率的である(例えば、OLTPデータベースのデータの更新頻度が低いか、OLAPデータベースが最新のデータを必要とするので、連合クエリを回避する為にデータ管理操作をその時に実施する方が効率的である)と判断する。この場合に、処理はステップS1320に進む。
Conversely, if the update frequency of the first data set in the OLTP database has not reached the first update frequency threshold or the first data freshness requirement has reached the first recency threshold, the data
ステップS1320で、データ移動管理ユニット345はデータ管理操作を実行する。これは、第1データ集合が頻繁に更新され、ゆえに更新頻度が低下するまでOLAPデータベースへの第1データ集合のコピーを遅延させることが望ましいが、OLAPデータベースの第1データ鮮度要件は(例えばクエリに応答するのに)第1データ集合の方が早く必要とされるようなものであるからである。
In step S1320, data
ステップS1325で、データ移動管理ユニット345はデータ管理操作の実行を遅延させる。実施形態において、データ移動管理ユニット345は、第1データ集合の更新頻度が第1更新頻度閾値を下回るまでデータ管理操作の実行を遅延させ得る。このようにして、第1データ集合の更新頻度が低下するまでデータ管理操作の性能を遅延させることによって、より最新のデータをOLAPデータベースに効率的な方式で提供することが可能である。
In step S1325, the data
本発明は、システム、方法、及び/又は、コンピュータプログラム製品であり得る。コンピュータプログラム製品は、本発明の態様をプロセッサに行わせる為のコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数の媒体)を含み得る。 The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the present invention.
コンピュータ可読記憶媒体は、命令実行デバイスによる使用の為の命令を保持及び記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、あるいは上記の適当な組み合わせであり得るがこれらに限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的リストは以下を含む。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD‐ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカードや溝内隆起構造などの機械的符号化デバイス、そして上記の適当な組み合わせ。 A computer readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage media includes: portable computer diskettes, hard disks, random access memories (RAM), read only memories (ROM), erasable programmable read only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures having instructions recorded thereon, and any suitable combination of the above.
本明細書で使用されるコンピュータ可読記憶媒体は、電波又は他の自由伝播電磁波、導波管又は他の伝送媒体内を伝播する電磁波(例えば、光ファイバケーブル内を通る光パルス)、あるいは電線内を伝送される電気信号のように、それ自体が一時的信号であると解釈されるものではない。 As used herein, computer-readable storage media is not to be construed as being a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating in a waveguide or other transmission medium (e.g., a light pulse traveling in a fiber optic cable), or an electrical signal transmitted in an electrical wire.
本発明の実施形態による方法、装置(システム)、及びコンピュータプログラム製品についてのフローチャート図及び/又はブロック図を参照して、本明細書で本発明の態様が記載されている。フローチャート図及び/又はブロック図の各ブロックと、フローチャート図及び/又はブロック図でのブロック組み合わせとがコンピュータ可読プログラム命令により実装されることが理解されるだろう。 Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, are implemented by computer readable program instructions.
コンピュータ可読プログラム命令が、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてマシンが用意されるので、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート及び/又はブロック図の単数又は複数のブロックで指定される機能/動作を実装する為の手段となる。これらのコンピュータ可読プログラム命令は、特定の方式で機能するようにコンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに指示できるコンピュータ可読記憶媒体にも記憶され得るので、命令が記憶されたコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の単数又は複数のブロックに指定された機能/動作の態様を実装する命令を含む製造品を包含する。 Computer-readable program instructions are provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing device to prepare a machine, such that the instructions executed by the processor of the computer or other programmable data processing device are means for implementing the functions/operations specified in one or more blocks of the flowcharts and/or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing device, and/or other device to function in a particular manner, such that a computer-readable storage medium on which instructions are stored encompasses an article of manufacture that includes instructions that implement aspects of the functions/operations specified in one or more blocks of the flowcharts and/or block diagrams.
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、又は他のデバイスで一連の操作ステップを実施させてコンピュータ実装プロセスを行うので、コンピュータ、他のプログラマブル装置、又は他のデバイスで実行される命令は、フローチャート及び/又はブロック図の単数又は複数のブロックに指定された機能/動作を実装する。 The computer-readable program instructions are loaded into a computer, other programmable data processing device, or other device to cause the computer, other programmable device, or other device to perform a series of operational steps to perform a computer-implemented process, such that the instructions executing on the computer, other programmable device, or other device implement the function/act specified in one or more blocks of the flowcharts and/or block diagrams.
本開示による実施形態は、クラウドコンピューティングインフラストラクチャを通してエンドユーザに提供され得る。クラウドコンピューティングは概して、スケーラブルコンピューティングリソースをネットワーク経由のサービスとして提供することを指す。より正式に記すと、クラウドコンピューティングは、コンピューティングリソースとその基本的技術アーキテクチャ(例えばサーバ、記憶装置、ネットワーク)との間で抽象化を行って、管理の労力又はサービスプロバイダ相互作用を最小にして迅速に設定及び解除される構成可能なコンピューティングリソースの共有プールへの簡便なオンデマンドネットワークアクセスを可能にするコンピューティング機能として定義され得る。ゆえに、クラウドコンピューティングは、コンピューティングリソースを提供するのに使用される基本的な物理的システム(又はこれらのシステムの場所)を考慮することなく、「クラウド」の仮想コンピューティングリソース(例えば、記憶装置、データ、アプリケーション、及び完全仮想化コンピューティングシステム)へのユーザのアクセスを可能にする。 Embodiments according to the present disclosure may be provided to end users through a cloud computing infrastructure. Cloud computing generally refers to the provision of scalable computing resources as a service over a network. More formally, cloud computing may be defined as a computing capability that provides abstraction between computing resources and their underlying technical architecture (e.g., servers, storage, networks) to enable convenient, on-demand network access to a shared pool of configurable computing resources that are rapidly provisioned and torn down with minimal administrative effort or service provider interaction. Thus, cloud computing enables users to access the virtual computing resources of the "cloud" (e.g., storage, data, applications, and fully virtualized computing systems) without regard for the underlying physical systems (or the location of these systems) used to provide the computing resources.
図のフローチャート及びブロック図は、本発明の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装例のアーキテクチャ、機能性、そして操作を示す。この点で、フローチャート又はブロック図の各ブロックは、指定の論理機能の実装の為の一以上の実行可能命令を包含するモジュール、セグメント、又は命令部分を表し得る。幾つかの代替実装例において、ブロックに記されている機能は、図に記されている順序以外で行われ得る。例えば、必要とされる機能性に応じて、連続して示されている二つのブロックが実際には、実質的に同時的に実行され得るか、時にはブロックが逆の順序で実行され得る。ブロック図及び/又はフローチャート図の各ブロックとブロック図及び/又はフローチャート図のブロック組み合わせとが、指定の機能又は動作を実施するか専用ハードウェア及びコンピュータ命令の組み合わせを行う専用のハードウェアベースシステムにより実装され得ることも留意されるだろう。 The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions that includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order, depending on the functionality required. It will also be noted that each block of the block diagrams and/or flowchart diagrams, and combinations of blocks in the block diagrams and/or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or a combination of dedicated hardware and computer instructions.
上記は例示的な実施形態を対象にしているが、基本的な範囲から逸脱することなく、本発明の他の、そして更なる実施形態が考案され、その範囲は以下に続く請求項により判断される。本開示の様々な実施形態の記載は、例示を目的として提示されているが、網羅的であるか開示されている実施形態に限定されることは意図されていない。記載された実施形態の範囲及び趣旨を逸脱しない多くの修正及び変形が、当業者には自明であろう。本明細書で使用される専門用語は、実施形態の原理、実用的な用途、又は市場に見られる技術に対する技術的改良を説明するように、あるいは、本明細書に開示される実施形態を他の同業者が理解できるように選択された。 While the above is directed to exemplary embodiments, other and further embodiments of the present invention may be devised without departing from the basic scope thereof, the scope of which is determined by the claims that follow. The description of various embodiments of the present disclosure is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations that do not depart from the scope and spirit of the described embodiments will be apparent to those skilled in the art. The terminology used herein has been selected to explain the principles of the embodiments, practical applications, or technical improvements over the art found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.
本明細書で使用される専門用語は特定の実施形態を説明することをのみを目的とし、様々な実施形態の限定であることは意図されていない。本明細書で使用される際に、単数形の“a”,“an”,“the”は、そうではないことが文脈に明記されていない限り、複数形も含むことが意図されている。“set of(の集合)”,“group of(のグループ)”,“bunch of(の束)”等は、一以上を含むことが意図されている。“includes(含む)”及び/又は“including(含む)”の語は、本明細書で使用される時に、記載の特徴、整数、ステップ、操作、要素、及び/又はコンポーネントの存在を明記しているが、一以上の他の特徴、整数、ステップ、操作、要素、コンポーネント、及び/又はそのグループの存在又は追加を除外しない。様々な実施形態について既に詳述した例示的実施形態では、(同様の番号が同様の要素を表す)添付図が参照されるが、この図は実施形態の一部を成し、様々な実施形態が実践され得る具体的な例示的実施形態が例示として示されている。これらの実施形態は、当業者が実施形態を実践するのに充分なほど詳細に記載されているが、他の実施形態が使用されて、論理的、機械的、電気的な、また他の変更が、様々な実施形態の範囲を逸脱せずに行われ得る。前の記載では、様々な実施形態の充分な理解を提供するように多数の具体的な詳細が提示された。しかし、これらの具体的詳細を含まずに様々な実施形態が実践されてもよい。他の事例では、実施形態を曖昧にしないように周知の回路、構造、そして技術は詳細に示されていない。 The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of various embodiments. As used herein, the singular forms "a," "an," and "the" are intended to include the plural unless the context clearly indicates otherwise. "Set of," "group of," "bunch of," and the like are intended to include one or more. The words "includes" and/or "including," as used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. In the exemplary embodiments previously described in detail, reference is made to the accompanying drawings (where like numerals represent like elements) which form a part of the embodiments and which show by way of illustration specific exemplary embodiments in which the various embodiments may be practiced. These embodiments are described in sufficient detail to enable one skilled in the art to practice the embodiments, but other embodiments may be used and logical, mechanical, electrical and other changes may be made without departing from the scope of the various embodiments. In the preceding description, numerous specific details are presented to provide a thorough understanding of the various embodiments. However, the various embodiments may be practiced without including these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail so as not to obscure the embodiments.
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 データ移動タイミング管理ユニット
100
110 Input/Output bus IF
112
Claims (8)
オンライン分析処理データベースの第1クエリログ集合から、オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出するとともに、前記連合クエリに基づいて、前記オンライン分析処理データベースの第1データ鮮度要件を識別する為のクエリログ管理ユニットと、
少なくとも前記第1データ鮮度要件に基づいて、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断する為のデータ移動管理ユニットと、
前記オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する為のデータ移動タイミング管理ユニットと、
を具備するデータ移動管理デバイス。 1. A data movement management device for managing data in a hybrid transactional analytical processing architecture, comprising:
a query log management unit for detecting a federated query requesting a first data set from an online transaction processing database from a first query log set of the online analytical processing database, and for identifying a first data freshness requirement of the online analytical processing database based on the federated query;
a data movement management unit for determining a data management operation including at least copying the first data set from the online transaction processing database to the online analytical processing database based on at least the first data freshness requirement;
a data movement timing management unit for determining an updated periodic movement timing for transferring bulk data from the online transaction processing database to the online analytical processing database when a frequency of federated queries from the online analytical processing database reaches a first frequency threshold;
A data movement management device comprising :
前記オンライントランザクション処理データベースの第2クエリログ集合に基づいて、前記オンライントランザクション処理データベースの第2データ鮮度要件を識別する、
ように構成され、
前記データ移動管理ユニットが更に、
前記オンライン分析処理データベースの前記第1データ鮮度要件が前記オンライントランザクション処理データベースの前記第2データ鮮度要件と対応している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーするコピー操作を前記データ管理操作として実施すると判断し、
前記オンライン分析処理データベースの前記第1データ鮮度要件が前記オンライントランザクション処理データベースの前記第2データ鮮度要件と対応していない場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーして前記オンライントランザクション処理データベースから前記第1データ集合を削除するコピー・削除操作を前記データ管理操作として実施すると判断する、
ように構成される、
請求項1に記載のデータ移動管理デバイス。 The query log management unit further comprises:
identifying a second data freshness requirement for the online transaction processing database based on a second set of query logs of the online transaction processing database;
It is configured as follows:
The data movement management unit further comprises:
determining that a copy operation of copying the first data set from the online transaction processing database to the online analytical processing database is to be performed as the data management operation when the first data freshness requirement of the online analytical processing database corresponds to the second data freshness requirement of the online transaction processing database;
when the first data freshness requirement of the online analytical processing database does not correspond to the second data freshness requirement of the online transaction processing database, determining that a copy/delete operation of copying the first data set from the online transaction processing database to the online analytical processing database and deleting the first data set from the online transaction processing database is to be performed as the data management operation;
It is configured as follows:
The data movement management device of claim 1 .
利用可能なCPU及びメモリリソースが第1リソース閾値に達している場合に、前記オンライントランザクション処理データベースからの前記第1データ集合を含む転送ファイルを生成し、
利用可能なネットワークリソースが第1ネットワークリソース閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記転送ファイルを転送する、
ように構成される、
請求項2に記載のデータ移動管理デバイス。 To perform the copy operation, the data movement management unit:
generating a transfer file including the first set of data from the online transaction processing database when available CPU and memory resources reach a first resource threshold;
transferring the transfer file from the online transaction processing database to the online analytical processing database when available network resources reach a first network resource threshold;
It is configured as follows:
The data movement management device of claim 2 .
利用可能なCPU及びメモリリソースが第1リソース閾値に達している場合に、前記オンライントランザクション処理データベースからの前記第1データ集合を含む転送ファイルを生成し、
利用可能なネットワークリソースが第1ネットワークリソース閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記転送ファイルを転送し、
前記オンライントランザクション処理データベースから前記第1データ集合を削除する、
ように構成される、
請求項2に記載のデータ移動管理デバイス。 To perform the copy and delete operations, the data migration management unit:
generating a transfer file including the first set of data from the online transaction processing database when available CPU and memory resources reach a first resource threshold;
transferring the transfer file from the online transaction processing database to the online analytical processing database when available network resources reach a first network resource threshold;
deleting the first data set from the online transaction processing database;
It is configured as follows:
The data movement management device of claim 2 .
前記データ管理操作の判断を受けて、前記オンライントランザクション処理データベースの前記第2クエリログ集合に基づいて前記オンライントランザクション処理データベースの前記第1データ集合の更新頻度を判断し、
前記データ移動タイミング管理ユニットが更に、
前記オンライントランザクション処理データベースの前記第1データ集合の前記更新頻度が第1更新頻度閾値に達していて前記第1データ鮮度要件が第1近時性閾値に達していない場合に、前記データ管理操作の実行を所定時間だけ遅延させると判断し、
前記オンライントランザクション処理データベースの前記第1データ集合の前記更新頻度が前記第1更新頻度閾値に達していないか、前記第1データ鮮度要件が前記第1近時性閾値に達している場合に、前記データ管理操作の実行を開始すると判断する、
ように構成される、
請求項2に記載のデータ移動管理デバイス。 The query log management unit further comprises:
determining an update frequency of the first data set of the online transaction processing database based on the second query log set of the online transaction processing database in response to the determination of the data management operation;
The data movement timing management unit further comprises:
determining to delay execution of the data management operation for a predetermined time if the update frequency of the first data set of the online transaction processing database reaches a first update frequency threshold and the first data freshness requirement does not reach a first recency threshold;
determining to start performing the data management operation when the update frequency of the first data set of the online transaction processing database has not reached the first update frequency threshold or the first data freshness requirement has reached the first recency threshold;
It is configured as follows:
The data movement management device of claim 2 .
前記オンライントランザクション処理データベースの前記第2クエリログ集合に基づいて、前記オンライントランザクション処理データベースへデータ記録が挿入されるデータ挿入率を判断する、
ように構成され、
前記データ移動タイミング管理ユニットが更に、
前記データ挿入率が第1挿入率閾値に達していないか前記第1データ鮮度要件が第1近時性閾値に達していない場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データが周期的に移動される周期的移動タイミングの間隔を増加させ、
前記データ挿入率が前記第1挿入率閾値に達しているか前記第1データ鮮度要件が第1近時性閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データが周期的に移動される周期的移動タイミングの間隔を減少させる
ように構成される、
請求項2に記載のデータ移動管理デバイス。 The query log management unit further comprises:
determining a data insertion rate at which data records are inserted into the online transaction processing database based on the second set of query logs of the online transaction processing database;
It is configured as follows:
The data movement timing management unit further comprises:
increasing an interval of a periodic transfer timing at which the batch data is periodically transferred from the online transaction processing database to the online analytical processing database when the data insertion rate does not reach a first insertion rate threshold or the first data freshness requirement does not reach a first recency threshold;
and decreasing an interval between periodic bulk data transfers from the online transaction processing database to the online analytical processing database when the data insertion rate reaches the first insertion rate threshold or when the first data freshness requirement reaches a first recency threshold.
The data movement management device of claim 2 .
前記クエリ管理ユニットが、オンライン分析処理データベースの第1クエリログ集合から、オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出し、
前記連合クエリに基づいて、前記オンライン分析処理データベースの第1データ鮮度要件を識別し、
前記データ移動管理ユニットが、少なくとも前記第1データ鮮度要件に基づいて、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断し、
前記データ移動タイミング管理ユニットが、前記オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断することと、
を包含する方法。 A data movement management method for a data movement management device for managing data in a hybrid transaction analysis architecture, the data movement management device comprising a query management unit, a data movement management unit and a data movement timing management unit,
The query management unit detects, from a first set of query logs of the online analytical processing database, a federated query requesting a first set of data from the online transaction processing database ;
identifying a first data freshness requirement for the online analytical processing database based on the federated query;
the data movement management unit determines a data management operation including at least copying the first data set from the online transaction processing database to the online analytical processing database based on at least the first data freshness requirement;
The data movement timing management unit determines an updated periodic movement timing for transferring bulk data from the online transaction processing database to the online analytical processing database when a frequency of federated queries from the online analytical processing database reaches a first frequency threshold;
The method includes:
オンライントランザクション処理データベースを有するオンライントランザクション処理デバイスと、
オンライン分析処理データベースを有するオンライン分析処理デバイスと、
前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへのデータの移動を管理する為のデータ移動管理デバイスと、
を具備するデータ移動管理システムであり、
前記データ移動管理デバイスが、
前記オンライン分析処理データベースの第1クエリログ集合から、前記オンライントランザクション処理データベースから第1データ集合をリクエストする連合クエリを検出するとともに、前記連合クエリに基づいて、前記オンライン分析処理データベースの第1データ鮮度要件を識別する為のクエリログ管理ユニットと、
少なくとも前記第1データ鮮度要件に基づいて、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ前記第1データ集合をコピーすることを少なくとも含むデータ管理操作を判断する為のデータ移動管理ユニットと、
前記オンライン分析処理データベースからの連合クエリの頻度が第1頻度閾値に達している場合に、前記オンライントランザクション処理データベースから前記オンライン分析処理データベースへ一括データを転送する為の更新済み周期的移動タイミングを判断する為のデータ移動タイミング管理ユニットと、
を含む、
データ移動管理システム。 1. A data movement management system for managing data in a hybrid transactional architecture, comprising:
an online transaction processing device having an online transaction processing database;
an online analytical processing device having an online analytical processing database;
a data movement management device for managing the movement of data from the online transaction processing database to the online analytical processing database;
A data migration management system comprising:
The data movement management device,
a query log management unit for detecting a federated query requesting a first data set from the online transaction processing database from a first query log set of the online analytical processing database, and for identifying a first data freshness requirement of the online analytical processing database based on the federated query;
a data movement management unit for determining a data management operation including at least copying the first data set from the online transaction processing database to the online analytical processing database based on at least the first data freshness requirement;
a data movement timing management unit for determining an updated periodic movement timing for transferring bulk data from the online transaction processing database to the online analytical processing database when a frequency of federated queries from the online analytical processing database reaches a first frequency threshold;
Including,
Data movement management system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022041055A JP7704702B2 (en) | 2022-03-16 | 2022-03-16 | Data migration management device, data migration management method and data migration management system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022041055A JP7704702B2 (en) | 2022-03-16 | 2022-03-16 | Data migration management device, data migration management method and data migration management system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023135787A JP2023135787A (en) | 2023-09-29 |
| JP7704702B2 true JP7704702B2 (en) | 2025-07-08 |
Family
ID=88146018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022041055A Active JP7704702B2 (en) | 2022-03-16 | 2022-03-16 | Data migration management device, data migration management method and data migration management system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7704702B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012020456A1 (en) | 2010-08-11 | 2012-02-16 | 株式会社日立製作所 | Time-series data processing apparatus and method thereof |
| US20130110764A1 (en) | 2011-10-31 | 2013-05-02 | Verint Systems Ltd. | System and method of combined database system |
| JP2017503277A (en) | 2014-01-02 | 2017-01-26 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Method and apparatus for maintaining data for online analytical processing in a database system |
| JP2018060415A (en) | 2016-10-06 | 2018-04-12 | 日本電信電話株式会社 | External database accommodating device, method, and program |
| JP2020013318A (en) | 2018-07-18 | 2020-01-23 | 国立大学法人東京工業大学 | Database management system, memory management device, database management method and program |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3260587B2 (en) * | 1995-04-17 | 2002-02-25 | 日本電気株式会社 | Time series data management method |
-
2022
- 2022-03-16 JP JP2022041055A patent/JP7704702B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012020456A1 (en) | 2010-08-11 | 2012-02-16 | 株式会社日立製作所 | Time-series data processing apparatus and method thereof |
| US20130110764A1 (en) | 2011-10-31 | 2013-05-02 | Verint Systems Ltd. | System and method of combined database system |
| JP2017503277A (en) | 2014-01-02 | 2017-01-26 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Method and apparatus for maintaining data for online analytical processing in a database system |
| JP2018060415A (en) | 2016-10-06 | 2018-04-12 | 日本電信電話株式会社 | External database accommodating device, method, and program |
| JP2020013318A (en) | 2018-07-18 | 2020-01-23 | 国立大学法人東京工業大学 | Database management system, memory management device, database management method and program |
Non-Patent Citations (1)
| Title |
|---|
| エディフィストラーニング株式会社,ひと目でわかる SQL Server 2012,第1版,日本,日経BP社 瀬川 弘司,2012年11月19日,p.442-444 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023135787A (en) | 2023-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12229642B2 (en) | Efficient duplicate detection for machine learning data sets | |
| US10372723B2 (en) | Efficient query processing using histograms in a columnar database | |
| CN106030573B (en) | Implementation of Semi-structured Data as First-Level Database Elements | |
| US10417265B2 (en) | High performance parallel indexing for forensics and electronic discovery | |
| US11899587B2 (en) | Document locking and cache memory management in cloud computing | |
| US9934236B2 (en) | Streamlining data deduplication | |
| WO2015065369A1 (en) | Asynchronous garbage collection in a distributed database system | |
| US20250363096A1 (en) | Generating Minor Compactions to Capture Aggregated Actions for Commit Ranges to Data Files | |
| CN116975053A (en) | A data processing method, device, equipment, media and program product | |
| JP7704702B2 (en) | Data migration management device, data migration management method and data migration management system | |
| Goel et al. | Leveraging Data Deduplication Approaches in the Cloud Storage: A Succinct Review | |
| US12079172B2 (en) | Separation of storage and compute in database management systems | |
| Khan et al. | File Format s for Big Data Storage Systems | |
| CN115630070A (en) | An information push method, a computer-readable storage medium, and an electronic device | |
| Srinivas | Managing large data sets using support vector machines | |
| CN118092781A (en) | Data selection for multi-stage file-based data migration | |
| Zhang et al. | An Efficient Cloud Storage Model with Compacted Metadata Management for Performance Monitoring Timeseries Systems | |
| JP7024432B2 (en) | Database management system, data conversion program, data conversion method and data conversion device | |
| Meyer | Storage system tracing and analysis | |
| Aye et al. | Big Data Analytics on Large Scale Shared Storage System | |
| Feng et al. | Wei Zhou | |
| Myllylahti | A patented method for active data warehousing | |
| Benabderrahmane | Course Support: Big Data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240301 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250304 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250513 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250603 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250617 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250626 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7704702 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |