JP2016009425A - データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム - Google Patents
データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム Download PDFInfo
- Publication number
- JP2016009425A JP2016009425A JP2014131062A JP2014131062A JP2016009425A JP 2016009425 A JP2016009425 A JP 2016009425A JP 2014131062 A JP2014131062 A JP 2014131062A JP 2014131062 A JP2014131062 A JP 2014131062A JP 2016009425 A JP2016009425 A JP 2016009425A
- Authority
- JP
- Japan
- Prior art keywords
- query
- data
- data source
- information
- virtualization server
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
各システムにはそれぞれ特徴が有り、用途やコスト等に応じて使い分けることが可能である。特に、大規模なデータを管理する上では、コストと性能がトレードオフ関係となるため、複数の異なるデータソースを組み合わせて利用することも少なくない。
前者の高速なデータソースは、オンメモリデータベースシステムや、専用ハードウェアを利用した超並列処理データベースシステムなど、データ処理速度が高速であるが、データ容量に比例してコストが大きく上昇する。
一方、後者のデータソースは、例えば分散ファイルシステムやテープストレージなど、前者のデータソースと比較して低コストで大容量化を容易とするシステムである。
このような複数のデータソースを使い分ける上で、これらを利用するユーザやアプリケーションに対して余計な手間を発生させることから、仮想的に単一のデータソースに見せるためにデータ仮想化システムが利用できる。
その結果、例え高速なデータソース側にのみ保持されたデータセットへのクエリであったとしても、低速なデータソースのクエリ処理完了を待つ必要があり、性能の異なる複数のデータソースを複合的に利用する利点を享受できないという課題が存在した。
前記クライアントに対して提供するスキーマと物理モデルのマッチング情報である仮想スキーマ情報を記憶する仮想スキーマ情報記憶部。
該仮想スキーマ情報と前記ユーザクエリを利用して前記データソースへ投稿するクエリの原型とデータ仮想化サーバ上で処理するクエリを生成するクエリ評価部。
前記各データソースに分割配置されているデータセットの分割条件に関する分割情報を記憶する分割情報記憶部。
該分割情報を利用して前記クエリ評価部で生成した各データソースへのクエリの原型を選択又は修正する分割条件適用部。
前記各データソースへの接続に関する接続情報を記憶するデータソース情報記憶部。
前記接続情報を利用して前記各データソースでそれぞれ実行可能となる各クエリを生成し、各データソースに投稿した後に、その結果を受信して結合した上で、前記ユーザクエリに対する応答として前記クライアントに送信するクエリ実行部。
ユーザクエリの評価によって得られた各データソースで実行されるクエリの情報を基に、対象となるデータソースの分割条件を分割情報より取得する手順と、
前記ユーザクエリに分割基準となる属性が含まれていた場合に、対象のデータソースへのクエリに対して分割条件を適用し、前記クエリを投稿するデータソースが複数である場合に、データソース情報を適用した各クエリをそれぞれのデータソース毎に生成する手順と、
前記クエリの投稿対象となる複数のデータソースに各クエリを投稿する手順と、
各データソースからの結果を結合する手順と
を含むことを特徴としている。
そして、複数のデータソースについて、データ読み出しの高速化が図れる高速データベース、記憶容量が大きい大容量データベースを含んだ種類の異なるデータソースで構成することで、各データソースに適したデータをそれぞれ記憶させてクエリ処理を行うことができる。
また、分割したデータセットの配置を一元的に管理することができ、データセットの活用及び保守を容易にすることができる。
図1は、ある一つのデータセットをX及びYという条件で2つのデータソースA、Bに分割配置した場合のモデルを表している。この例の場合、データソースA及びデータソースBが対象のデータセットを表す共通のスキーマSを持ち、データソースAはXという条件のデータセットを、データソースBはYの条件のデータセットをそれぞれ保持している。
ここで、各データソース3が持つデータセットの条件を分割条件として仮想スキーマS上に持たせることで、データ仮想サーバ1が分割条件に対応したクエリ処理を選択することが可能となる。
本発明に係るデータ仮想化システムは、分割配置されたデータセットの効率的利用を実現するデータ仮想化サーバ1と、ユーザクエリを投稿する一つ以上のクライアント2と、分割されたデータセットを持つ複数のデータソース3から構成されている。データ仮想化サーバ1は、クライアント2及び各データソース3に対して、ネットワークを介して接続されている。
また、各データソース3は、データを記憶するためのストレージ4をそれぞれ備え、データ読み出しの高速化が図れる高速データベース、記憶容量が大きい大容量データベースなど、性質が異なる複数種のデータソースから構成されうる。複数のデータソース3について、種類の異なるデータソースで構成することで、各データソースに適したデータをそれぞれ記憶させてクエリ処理を行うことができ、より効率的なクエリ処理が可能となる。
データ仮想化サーバ1が構築されるコンピュータは、オペレーティングシステム(OS)を含む基本プログラムや各種の基本デバイスが記憶されたROMと、各種のプログラムションやデータが記憶されるハードディスクドライブ装置(HDD)と、CR−ROMやDVD等の記憶媒体からプログラムやデータを読み出すメディアドライブ装置と、プログラムを実行するCPUと、このCPUにワークエリアを提供するRAMと、入出力インターフェース(I/F)を介して接続されたディスプレイ、キーボードおよびマウス等のポインティングデバイスと、外部装置と通信するパラレル/シリアルI/Fとを主要部分とする一般的な構成を備えている。
クエリ評価部12は、仮想スキーマ情報とクライアント2から投稿されたユーザクエリを利用してデータソース3へ投稿するクエリの原型とデータ仮想化システム上で処理するクエリを生成する。例えば、最新データを利用するクエリ処理である場合には、最新データが記憶されているデータソース3のみへのクエリを作成する。
分割条件適用部14は、分割情報を利用してクエリ評価部12で生成した各データソース3へのクエリの原型を選択(生成)する。また、各データソース3側に分割配置されているデータ同士が、データセットの分割条件で重複して存在するような場合は、クエリの原型の修正(分割条件の修正)が行われる。
クエリ実行部16は、データソース情報を利用して各データソース3で実行可能となる各クエリを生成し、各データソース3に投稿後、その結果を受信及び仮想スキーマに従った処理を実行する。すなわち、クエリ実行部16は、生成した各クエリを各データソース3に投稿した結果を受信し、それらを結合した上で、ユーザクエリに対する応答としてクライアント2に送信する。
エンジン5は、データベースシステムにおけるDBMS(Data Base Management System)6、データセットをファイルとして提供するFTP(File Transfer Protocl)サーバ7、XML等の標準化された形式でデータセットを提供するNoSQLサーバ、HTML等のWebページを提供するWebサーバなどの、ネットワークを経由してデータセットを提供するインタフェースを含んでいる。
分割対象であるか否かの判断を行うユーザクエリの評価(ステップ30)によって得られた各データソース3で実行されるクエリの情報を基に、対象となるデータソース3の分割条件を分割情報より取得する(ステップ31)。
次に、ユーザクエリにおける分割対象属性(日付、ID等)への選択処理の有無を確認し(ステップ32)、ユーザクエリに分割対象属性が含まれていない場合は、従来のデータ仮想化システム同様に、対象のデータソース情報に基づいてクエリを生成し、クエリを投稿する(ステップ37〜39)。
クエリを投稿するデータソース3が複数存在する場合は、データソース情報を適用したクエリをそれぞれのデータソース毎に生成(必要に応じて修正)する(ステップ37)。そして、各データソース3にそれぞれクエリを投稿後(ステップ38)、各データソース3での結果を結合(Union処理)する(ステップ39)。
対象データソースが無い場合は、データソース情報に従ったクエリを生成せず、該当がないことを結果とする。
図4に示すデータセットのスキーマ構成について、仮想スキーマtable_xに対してdate列の値を条件に、分割配置されている例を考える。データソースAに対して「2012/12/31以前」の部分データが、データソースBに対して「2013/1/1から2014/12/31まで」の部分データが、データソースCに対して「2014/1/1以降」の部分データが分割配置されているとする。
このときのデータソースAにおける分割情報の登録例を図5に示す。すなわち、図5の登録例では、分割情報に関して、対象となる仮想スキーマがtable_xであり、対象の物理モデルがtable_aであり、分割方法としては水平分割及び範囲分割であり、分割基準となる属性がdate(日付)であり、分割条件式が「2013/1/1」までであることが示されている。
ユーザクエリ:SELECT * FROM table_x WHERE date <'2013/10/1'
このクエリと各データソース3に分割配置されたデータの関係が図6に示すような場合、データ仮想化サーバ1は、ユーザクエリから対象となる分割条件であるWHERE句の対象属性(date)とその条件(<'2013/10/1')を抽出し、この条件に含まれる部分データを3つのデータソース(物理モデル)3の分割情報から検索し、これにマッチしたデータソース3に対するクエリを選択/修正して作成する。
(1)データソースAに対するクエリ(2013年1月1日(1月1日は含まず)までのデータをtable_aから選択する):
SELECT * FROM table_a WHERE date < '2013/1/1'
(2)データソースBに対するクエリ(2013年1月1日から2013年10月1日までのデータをtable_bから選択する):
SELECT * FROM table_b WHERE date ≧ '2013/1/1' AND date < '2013/10/1'
また、ユーザクエリの条件が「2013年10月1日まで」であるので、2014年1月1日以降のデータを保持しているデータソースCは範囲対象外となるため、クエリは生成されない。
そのため、一つのデータセットを分割して複数のデータソースに配置されている場合のクエリ処理において、効率的なクエリ処理を実現することが可能となる。
また、複数のデータソース3について、種類の異なるデータソース(高速データベース、大容量データベース)で構成することで、各データソースに適したデータをそれぞれ記憶させてクエリ処理を行うことができ、より効率的なクエリ処理が可能となる。
また、データ仮想化サーバ1において、分割したデータセットの配置を一元的に管理することができ、データセットの活用及び保守を容易にすることができる。
Claims (4)
- クライアントから投稿されたユーザクエリに対し、複数のデータソースに分割配置されたデータセットを利用してクエリ処理を行うデータ仮想化サーバであって、
前記クライアントに対して提供するスキーマと物理モデルのマッチング情報である仮想スキーマ情報を記憶する仮想スキーマ情報記憶部と、
該仮想スキーマ情報と前記ユーザクエリを利用して前記データソースへ投稿するクエリの原型とデータ仮想化サーバ上で処理するクエリを生成するクエリ評価部と、
前記各データソースに分割配置されているデータセットの分割条件に関する分割情報を記憶する分割情報記憶部と、
該分割情報を利用して前記クエリ評価部で生成した各データソースへのクエリの原型を選択又は修正する分割条件適用部と、
前記各データソースへの接続に関する接続情報を記憶するデータソース情報記憶部と、
前記接続情報を利用して前記各データソースでそれぞれ実行可能となる各クエリを生成し、各データソースに投稿した後に、その結果を受信して結合した上で、前記ユーザクエリに対する応答として前記クライアントに送信するクエリ実行部と
を具備することを特徴とするデータ仮想化サーバ。 - 前記複数のデータソースは、データ読み出しの高速化が図れる高速データベース、記憶容量が大きい大容量データベースを含んで構成される請求項1に記載のデータ仮想化サーバ。
- ユーザクエリの評価によって得られた各データソースで実行されるクエリの情報を基に、対象となるデータソースの分割条件を分割情報より取得する手順と、
前記ユーザクエリに分割基準となる属性が含まれていた場合に、対象のデータソースへのクエリに対して分割条件を適用し、前記クエリを投稿するデータソースが複数である場合に、データソース情報を適用した各クエリをそれぞれのデータソース毎に生成する手順と、
前記クエリの投稿対象となる複数のデータソースに各クエリを投稿する手順と、
各データソースからの結果を結合する手順と
を含むことを特徴とするクエリ処理方法。 - 請求項3に記載された各手順をコンピュータに実行させることを特徴とするクエリ処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014131062A JP6371136B2 (ja) | 2014-06-26 | 2014-06-26 | データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014131062A JP6371136B2 (ja) | 2014-06-26 | 2014-06-26 | データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016009425A true JP2016009425A (ja) | 2016-01-18 |
JP6371136B2 JP6371136B2 (ja) | 2018-08-08 |
Family
ID=55226917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014131062A Active JP6371136B2 (ja) | 2014-06-26 | 2014-06-26 | データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6371136B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018180645A (ja) * | 2017-04-04 | 2018-11-15 | 富士通株式会社 | データ処理プログラム、データ処理方法およびデータ処理装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023086437A (ja) * | 2021-12-10 | 2023-06-22 | 株式会社東芝 | 情報処理装置、方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206629A (ja) * | 2002-12-26 | 2004-07-22 | Hitachi Ltd | 異種データソース統合検索サーバシステム |
JP2007257083A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置 |
JP2012113373A (ja) * | 2010-11-20 | 2012-06-14 | Nomura Research Institute Ltd | プログラム開発支援システム及びデータ利用システム |
JP2012123680A (ja) * | 2010-12-09 | 2012-06-28 | Nec Corp | 分散データベース管理システム、分散データベース管理方法 |
-
2014
- 2014-06-26 JP JP2014131062A patent/JP6371136B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206629A (ja) * | 2002-12-26 | 2004-07-22 | Hitachi Ltd | 異種データソース統合検索サーバシステム |
JP2007257083A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置 |
JP2012113373A (ja) * | 2010-11-20 | 2012-06-14 | Nomura Research Institute Ltd | プログラム開発支援システム及びデータ利用システム |
JP2012123680A (ja) * | 2010-12-09 | 2012-06-28 | Nec Corp | 分散データベース管理システム、分散データベース管理方法 |
Non-Patent Citations (1)
Title |
---|
片山 大河: "異種データソースを透過的にアクセス可能とする統合データベースシステム", 情報処理学会 研究報告 データベースシステム(DBS) 2013−DBS−157, JPN6017043381, 15 July 2013 (2013-07-15), JP, pages 1 - 4, ISSN: 0003680177 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018180645A (ja) * | 2017-04-04 | 2018-11-15 | 富士通株式会社 | データ処理プログラム、データ処理方法およびデータ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6371136B2 (ja) | 2018-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11372888B2 (en) | Adaptive distribution for hash operations | |
US11567956B2 (en) | Background format optimization for enhanced queries in a distributed computing cluster | |
US9576028B2 (en) | Managing data queries | |
US9665620B2 (en) | Managing data queries | |
US20120109926A1 (en) | Scoped database connections | |
JP6281225B2 (ja) | 情報処理装置 | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
WO2015110062A1 (zh) | 一种分布式数据存储方法、装置和系统 | |
Chen et al. | SparkRDF: elastic discreted RDF graph processing engine with distributed memory | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
Cheng et al. | Scale-out processing of large RDF datasets | |
Liang et al. | Mid-model design used in model transition and data migration between relational databases and nosql databases | |
Curé et al. | On the evaluation of RDF distribution algorithms implemented over apache spark | |
JP2015106219A (ja) | 分散型データ仮想化システム、クエリ処理方法及びクエリ処理プログラム | |
JP6371136B2 (ja) | データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム | |
CA2938127A1 (en) | Method and system for generating and using a master entity associative data network | |
Peng et al. | An analysis platform of road traffic management system log data based on distributed storage and parallel computing techniques | |
JP5464017B2 (ja) | 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム | |
JP6393193B2 (ja) | データ仮想化装置及び大規模データ処理プログラム | |
Kondylakis et al. | Enabling joins over cassandra NoSQL databases | |
US11016946B1 (en) | Method and apparatus for processing object metadata | |
Tang et al. | mDHT: a multi-level-indexed DHT algorithm to extra-large-scale data retrieval on HDFS/Hadoop architecture | |
JP2015045995A (ja) | 仮想データベースシステム管理装置、管理方法及び管理プログラム | |
JP6139399B2 (ja) | 分散クエリ処理装置、クエリ処理方法及びクエリ処理プログラム | |
CN104239008A (zh) | 并行数据库管理系统及设计方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160823 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180111 |
|
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: 20180704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180712 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6371136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |