JP5464017B2 - 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム - Google Patents

分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム Download PDF

Info

Publication number
JP5464017B2
JP5464017B2 JP2010085568A JP2010085568A JP5464017B2 JP 5464017 B2 JP5464017 B2 JP 5464017B2 JP 2010085568 A JP2010085568 A JP 2010085568A JP 2010085568 A JP2010085568 A JP 2010085568A JP 5464017 B2 JP5464017 B2 JP 5464017B2
Authority
JP
Japan
Prior art keywords
data
database server
index
column
index number
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.)
Expired - Fee Related
Application number
JP2010085568A
Other languages
English (en)
Other versions
JP2011216029A (ja
Inventor
輝聖 川畠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010085568A priority Critical patent/JP5464017B2/ja
Publication of JP2011216029A publication Critical patent/JP2011216029A/ja
Application granted granted Critical
Publication of JP5464017B2 publication Critical patent/JP5464017B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は分散メモリデータベースシステム、データベースサーバ、データ処理方法およびプログラムに関し、特に集計にかかる速度と通信量を削減することの可能な分散メモリデータベースシステム等に関する。
ある程度以上の規模のコンピュータ装置を利用したシステム、たとえばウェブサービスや業務システム等では、大量のデータを扱うためにデータベース管理システム(DBMS: DataBase Management System)の利用が不可欠である。また、近年は主記憶装置(メモリ)の大容量化および低価格化が進行しているので、ネットワークによって接続された多数のコンピュータのメモリを連携させて1つの巨大な論理的メモリとして使用する分散メモリ技術が確立されてきている。
分散メモリ技術によって、データベース上のデータを全てメモリ上に展開して処理することで、データの集計や結合などの処理を高速化したDBMSを、ここでは分散メモリデータベースシステムという。分散メモリデータベースシステムは特に、大量のデータを一括で処理するバッチ用途や、企業の扱う大量のデータから特定の部署が必要とするものを抽出するデータマートの作成などで、特に処理の高速化の効果が発揮される。
分散メモリデータベースシステムに関連して、次のような技術文献がある。その中でも特許文献1は、複数のプロセッサ付きメモリモジュールをリング状に配置して、表形式データの結合を高速化するという分散メモリ型情報処理システムが記載されている。特許文献2には、カラム単位で記録データを管理してデータの格納および検索を効率化するというデータベース検索システムが記載されている。
特許文献3には、データベースを複数の区画に区分し、その各々に局所索引を付けるという多層索引構造の生成方法が記載されている。特許文献4には、複数のデータベースの各々の処理装置を並列に活用して処理を行わせることによってネットワークの負荷を軽減するというデータ加工システムが記載されている。
再特WO2005/073880号公報 特開2004−252828号公報 特開平07−123450号公報 特開平07−182368号公報
分散メモリデータベースシステムは、全てのデータをメモリ上に格納することによって、処理を高速化しようという発想に基づいている。しかしながら、もともとのデータ量がメモリ容量を超えた場合、あるいは演算途中の一時的なデータによって増加したデータ量がメモリ容量を超えた場合、一般的にはOS(Operating System)によってハードディスク上に確保された仮想メモリ領域が使用される。
コンピュータプログラムを実行するプロセッサとハードディスクとの間のデータ転送速度は、プロセッサとメモリとの間のそれと比べて劣っているため、仮想メモリ領域が使用されると処理速度が大きく低下してしまうことになる。そのため、データ量がメモリ容量を超えるような大容量のデータを扱う場合には、分散メモリデータベースシステムによる処理速度の高速化が困難であるという問題がある。
ハードディスクを用いた通常のDBMSでは、その処理の高速化のため、テーブルを行単位で分割する水平分割を行い、複数のサーバにまたがる検索処理、特にデータの集計処理や結合処理を行うためには、各データベースサーバ間でデータの通信を行いながら処理を行うという方法が用いられる。
しかしながら、分散メモリデータベースシステムでは、各データベースサーバ間で行われるデータ通信処理が、メモリ上での演算処理に比べて長い時間を要するためにボトルネックとなり、分散メモリデータベースシステムの高速性を損なわせることとなる。また、データの転送された量に応じて課金される通信環境もあり、その場合には分散メモリデータベースシステムを使用することによって巨額の課金が発生することとなる。
前述の特許文献1〜4には、分散メモリデータベースシステムで各データベースサーバ間の通信を抑制する技術は記載されていないので、当然ながらこれらの問題を解決することはできない。
本発明の目的は、各データベースサーバ間の通信容量を抑制して、複数のサーバにまたがる処理を高速化することを可能とする分散メモリデータベースシステム、データベースサーバ、データ処理方法およびプログラムを提供することにある。
上記目的を達成するため、本発明に係る分散メモリデータベースシステムは、フロントメモリデータベースサーバと、単数もしくは複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムであって、フロントメモリデータベースサーバが、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル,データテーブルの中で集計処理対象となる列であるフロントインデックス列,およびインデックス番号に対応する実データがいずれのバックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報とを記憶する第1の記憶手段と、インデックステーブルおよびフロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部と、スキーマ情報に基づいてインデックス番号に対応する実データが記憶されているバックエンドデータベースサーバを特定する表情報管理部と、特定されたバックエンドデータベースサーバにインデックス番号に対応する実データを照会してこれを取得する実データ照会部とを備え、バックエンドデータベースサーバの各々が、フロントメモリデータベースサーバにあらかじめ入力されたデータテーブルの列ごとにインデックス番号に対応する実データを保存する第2の記憶手段と、フロントメモリデータベースサーバからインデックス番号について照会を受けた場合にこのインデックス番号に対応する実データを返信するカラムデータ管理部とを備え、フロントメモリデータベースサーバのクエリ実行部が、中間データ中のインデックス番号を取得された実データに置換して出力する機能を有することを特徴とする。
上記目的を達成するため、本発明に係るデータベースサーバは、単数もしくは複数台のバックエンドデータベースサーバと相互に接続されて分散メモリデータベースシステムを構成するフロントメモリデータベースサーバであって、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル、データテーブルの中で集計処理対象となる列であるフロントインデックス列、およびインデックス番号に対応する実データがいずれのバックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報とを記憶する第1の記憶手段と、インデックステーブルおよびフロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部と、スキーマ情報に基づいてインデックス番号に対応する実データが記憶されているバックエンドデータベースサーバを特定する表情報管理部と、特定されたバックエンドデータベースサーバにインデックス番号に対応する実データを照会してこれを取得する実データ照会部とを備え、クエリ実行部が、中間データ中のインデックス番号を取得された実データに置換して出力する機能を有することを特徴とする。
上記目的を達成するため、本発明に係るデータベース用データ処理方法は、フロントメモリデータベースサーバと、単数もしくは複数台の複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムにあって、フロントメモリデータベースサーバがあらかじめ備える第1の記憶手段に、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブルとして記憶すると共に、データテーブルの中で集計処理対象となる列であるフロントインデックス列およびインデックス番号に対応する実データがいずれのバックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を第1の記憶手段に同時に記憶し、バックエンドデータベースサーバがあらかじめ備える第1の記憶手段に、データテーブルの列ごとにインデックス番号に対応する実データをあらかじめ記憶し、インデックステーブルおよびフロントインデックス列に対してフロントメモリデータベースサーバのクエリ実行部がユーザに入力されたクエリを実行して中間データを作成し、スキーマ情報に基づいてインデックス番号に対応する実データが記憶されているバックエンドデータベースサーバをフロントメモリデータベースサーバの表情報管理部が特定し、特定されたバックエンドデータベースサーバにインデックス番号に対応する実データをフロントメモリデータベースサーバの実データ照会部が照会し、フロントメモリデータベースサーバから照会を受けたインデックス番号に対応する実データをバックエンドデータベースサーバのカラムデータ管理部が返信し、中間データ中のインデックス番号をフロントメモリデータベースサーバのクエリ実行部が実データに置換して出力する
ことを特徴とする。
上記目的を達成するため、本発明に係るデータベース用データ処理プログラムは、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル、データテーブルの中で集計処理対象となる列であるフロントインデックス列、およびインデックス番号に対応する実データがいずれのバックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報とを記憶する第1の記憶手段を有するフロントメモリデータベースサーバと、データテーブルの列ごとにインデックス番号に対応する実データを記憶する第2の記憶手段を有する単数もしくは複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムにあって、フロントメモリデータベースサーバがあらかじめ備えるコンピュータに、インデックステーブルおよびフロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成する手順、スキーマ情報に基づいてインデックス番号に対応する実データが記憶されているバックエンドデータベースサーバを特定する手順、特定されたバックエンドデータベースサーバに実データを照会してこれを受信する手順、および中間データ中のインデックス番号を受信した実データに置換して出力する手順を実行させることを特徴とする。
本発明は、上述したようにフロントメモリデータベースサーバにインデックステーブルと集計処理対象となるフロントインデックス列とを記憶するように構成したので、フロントメモリデータベースサーバ単体で集計作業を進めることができ、バックエンドデータベースサーバには出力段階でインデックス番号に対応する実データを照会するだけでよい。これによって、各データベースサーバ間の通信容量を抑制し、複数のサーバにまたがる処理を高速化することが可能である分散メモリデータベースシステム、データベースサーバ、データ処理方法およびプログラムを提供することができる。
本実施形態に係る分散メモリデータベースシステムの構成を示す説明図である。 図1に示した分散メモリデータベースシステムにユーザが登録するデータの一例を示す説明図である。 図2に示したデータを登録した結果、図1に示したデータ保存メモリ領域およびスキーマ情報領域に記憶されるデータの例を示す説明図である。 図2に示したデータを登録した結果、図1に示したカラムデータ保存メモリ領域の各々に記憶されるデータの例を示す説明図である。 図1に示した分散メモリデータベースシステムにデータを登録して利用可能な状態にする動作を示すフローチャートである。 図1に示した分散メモリデータベースシステムに対してクライアントコンピュータからデータ検索の操作があった場合の動作を示す説明図である。図6(a)は入力されたSQLコマンドを示し、図6(b)〜(d)は各処理段階でフロントDBサーバの中間データ領域に記憶される内容を示す。 図6(a)に示すSQLコマンドを入力されたクエリ実行部が実行する処理を示すフローチャートである。 図6〜7に示した処理によって出力される最終出力データを示す説明図である。 図1に示した分散メモリデータベースシステムに入力される別のSQLコマンドの例を示す説明図である。
(第1の実施形態)
以下、本発明の第1の実施形態の構成について添付図1〜7に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る分散メモリデータベースシステム1は、フロントメモリデータベースサーバ10と、単数もしくは複数台のバックエンドデータベースサーバ21とが相互に接続された分散メモリデータベースシステムである。フロントメモリデータベースサーバ10は、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル、データテーブルの中で集計処理対象となる列であるフロントインデックス列、およびインデックス番号に対応する実データがいずれのバックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報とを記憶する第1の記憶手段102と、インデックステーブルおよびフロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部111と、スキーマ情報に基づいてインデックス番号に対応する実データが記憶されているバックエンドデータベースサーバを特定する表情報管理部112と、特定されたバックエンドデータベースサーバにインデックス番号に対応する実データを照会してこれを取得する実データ照会部113とを備える。バックエンドデータベースサーバ21は各々、データテーブルの列ごとにインデックス番号に対応する実データを保存する第2の記憶手段202と、フロントメモリデータベースサーバからインデックス番号について照会を受けた場合にこのインデックス番号に対応する実データを返信するカラムデータ管理部211とを備える。そしてフロントメモリデータベースサーバ10のクエリ実行部111が、中間データ中のインデックス番号を取得された実データに置換して出力する機能を有する。
ここでバックエンドデータベースサーバ21の第2の記憶手段202は、インデックス番号に対応する実データを重複を排除した形でソートして記憶している。そしてフロントメモリデータベースサーバ10の第1の記憶手段102は、複数個のインデックステーブルを記憶しており、クエリ実行部111が、クエリの実行内容に応じて複数個のインデックステーブルに対して結合処理を行う。さらにフロントメモリデータベースサーバ10の第1の記憶手段102が、データテーブルの中でフロントインデックス列および結合処理のキーとなるグループ列のいずれにも該当しない列のうち少なくとも1列を直接データ列として記憶している。
この構成を備えることにより、この分散メモリデータベースシステム1は各サーバ間の通信容量を抑制し、これによってデータの集計などの処理を高速化することが可能となる。
以下、これをより詳細に説明する。
図1は、本実施形態に係る分散メモリデータベースシステム1の構成を示す説明図である。分散メモリデータベースシステム1は、フロントメモリデータベースサーバ10(以後フロントメモリDBサーバ10という)と、複数台のバックエンドデータベースサーバ21〜23(以後バックエンドDBサーバ21〜23という)とが内部ネットワーク30を介して相互に接続されて構成される。
利用者は、クライアントコンピュータ40を操作してネットワークを介してフロントメモリDBサーバ10に接続し、分散メモリデータベースシステム1上のデータを利用する。図1では3台のバックエンドDBサーバ21〜23を示しているが、このバックエンドDBサーバの台数は任意であり、1台以上何台でもよい。また、内部ネットワーク30のネットワーク方式やプロトコルなどは任意である。
フロントメモリDBサーバ10は、プロセッサ101、記憶手段102、および通信手段103を備えるコンピュータ装置である。プロセッサ101はコンピュータプログラムの動作主体となるCPU(Central Processing Unit)であり、記憶手段102はプロセッサ101が作業中のデータを記憶するRAM(Random Access Memory)などのような記憶装置である。通信手段103は他のコンピュータとのデータ通信を行う。
プロセッサ101では、クエリ実行部111、表情報管理部112、および実データ照会部113が、コンピュータプログラムとして動作する。また、記憶手段102には、データ保存メモリ領域121、スキーマ情報領域122、および中間データ領域123が確保されている。
クエリ実行部111はクライアントコンピュータ40から発行されたSQL(Structured Query Language)文に定義されたクエリ(処理要求)を実行するDBMSとしての基本的な機能部である。表情報管理部112はデータベースの表定義の情報と各列の実データがバックエンドDBサーバ21〜23のうちのいずれにあるかをスキーマ情報領域122に記憶および管理する機能を有する。実データ照会部113は、実データが記憶されているバックエンドDBサーバ21〜23に、インデックス番号に対応する実データを照会して取得する。
クエリ実行部111は同時に、SQL文を実行した結果に、実データ照会部113が取得した実データを含めて出力する機能も有する。スキーマ情報領域122には、クエリ実行部111やデータ保存メモリ領域121に必要なデータの配置情報であるスキーマ(データ構造)情報122が記憶されており、表情報管理部112は必要に応じて実データ照会部113にその情報を渡す。
データ保存メモリ領域121には、ユーザが登録した全てのデータ情報が、インデックス番号もしくは実データの形で保存されている。ここでいうインデックス番号とは、実データがバックエンドDBサーバ21〜23のうちのいずれにある実データ列で何行目のデータであるかを示す番号である。このインデックス番号と、表情報管理部112が管理しているスキーマ情報とを照合することによって、実データの所在を把握して取得することが可能となる。
なお、スキーマ情報領域122および中間データ領域123に記憶される内容については後述する。
バックエンドDBサーバ21〜23の中の1台であるバックエンドDBサーバ21も、フロントメモリDBサーバ10と同様に、プロセッサ201、記憶手段202、および通信手段203を備えるコンピュータ装置である。その各々のハードウェアとしての機能は、フロントメモリDBサーバ10の同名部と同一である。プロセッサ201では、カラムデータ管理部211が、コンピュータプログラムとして動作する。また、記憶手段202には、カラムデータ保存メモリ領域212が確保されている。
カラムデータ管理部211は、フロントメモリDBサーバ10のクエリ実行部111から受けた問い合わせに対して、カラムデータ保存メモリ領域212に記憶されたデータの検索・更新などの操作を行い、その結果をクエリ実行部111に返却する。カラムデータ保存メモリ領域212は、カラムデータ管理部211から操作を受けて必要な列情報を格納する。
ここで、カラムデータ保存メモリ領域212に記憶されたデータはある列の全ての実データを重複を排除した形でソート(並べ替え)したものであり、ある列のデータを複数のサーバに分割して格納するものではない。他サーバとは、異なる列単位でデータを分散して格納している。
バックエンドDBサーバ22および23も、バックエンドDBサーバ21とハードウェア的には同一の構成を有する。バックエンドDBサーバ22は、カラムデータ管理部221およびカラムデータ保存メモリ領域222といった各機能部を備える。バックエンドDBサーバ23は、カラムデータ管理部231およびカラムデータ保存メモリ領域232といった各機能部を備える。これら各々の機能は、バックエンドDBサーバ21の同名の機能部と同一である。
図2は、図1に示した分散メモリデータベースシステム1にユーザが登録するデータの一例を示す説明図である。また図3は、図2に示したデータを登録した結果、図1に示したデータ保存メモリ領域121およびスキーマ情報領域122に記憶されるデータ、図4はカラムデータ保存メモリ領域212、212、232の各々に記憶されるデータの例をそれぞれ示す説明図である。
図2に示す例では、商品テーブル300と売上テーブル310という各々のテーブルを定義されている。商品テーブル300には、商品ID300a、商品種別300b、メーカー300c、発売年300dという各々の列が定義されている。売上テーブル310には、売上ID310a、商品ID300a、数量310b、価格310cという各々の列が定義されている。
各々のテーブル間で、結合を行うことが想定される列を1グループとし、グループ化された列のことをグループ列といい、結合を行わない列を非グループ列という。さらに、グループ列と非グループ列をまとめてインデックス列という。図2に示す例では、商品テーブル300と売上テーブル310の間で、商品ID300aをキーとして結合を行うことができるので、この両テーブルの商品ID300aがグループ列となる。
フロントメモリDBサーバ10には原則としてインデックス列を格納するが、対象列の実データがint(整数)型やfloat(浮動小数点)型などの比較的データ量が少ない数値データであり、そのデータが集計対象かつ結合の対象列ではない場合には、(バックエンドDBサーバ21〜23に実データを配置した場合の)インデックスと、実データとの間で、データのサイズ自体がほとんど変わらない。従って、このような場合には直接実データを格納するようにした方が効率的である。この列を直接データ列と呼ぶ。
本発明を適用する領域ではデータ量が多いため、データ格納の効率性を考慮するとこの方法や有効である。ただし、結合を行う対象列の場合は、インデックス番号で格納しているインデックス列との結合ができないので留意が必要である。図2に示す例では、数量310bが結合を行う対象ではなく、またデータ量も少ないので、直接データ列となる。
また、集計対象で計算処理を行うと思われる列について、フロントメモリDBサーバ10上に対象列の実データを配置するように指定することもできる。そのようにすれば、集計処理が1つのサーバ上に集約されるため高速化が可能となる。ただし、この集計対象列に関しては、フロントDBサーバのデータ保存メモリ領域121の容量に応じて、適用するかどうかの判断を行う必要がある。この列をフロントインデックス列と呼ぶ。図2に示す例では、価格310cをフロントインデックス列としている。これは、このデータが集計処理の対象となることが多いからである。
図3〜4に示した例では、フロントメモリDBサーバ10のデータ保存メモリ領域121上には、図2に示した商品テーブル300および売上テーブル310を各々インデックス番号としたインデックス商品テーブル400およびインデックス売上テーブル410と、価格310cを記憶する価格テーブル420として保存している。
なお、インデックス商品テーブル400およびインデックス売上テーブル410は、SQL文で扱うテーブル名称は各々「商品テーブル」と「売上テーブル」であるが、インデックス番号に置換する処理を行った後のテーブルであるという意味で、ここではこれらを各々「インデックス商品テーブル」と「インデックス売上テーブル」と呼ぶことにする。たとえばインデックス商品テーブル400の項目「メーカー」に対応する列には、メーカーテーブル430の何番目の項目の実データに対応するかを示す番号が記憶されている。インデックス番号とは、このようにバックエンドDBサーバ21〜23のカラムデータ保存メモリ領域に記憶されている実データの何番目の項目に対応するかを示す番号である。
バックエンドDBサーバ21のカラムデータ保存メモリ領域212には、メーカー300cを記憶するメーカーテーブル430が記憶されている。同様に、バックエンドDBサーバ22のカラムデータ保存メモリ領域222には、商品種別300bを記憶する商品種別テーブル440、および売上ID310aを記憶する売上IDテーブル450が記憶されている。バックエンドDBサーバ23のカラムデータ保存メモリ領域232には、発売年300dを記憶する発売年テーブル460、および商品ID300aを記憶する商品IDテーブル470が記憶されている。
スキーマ情報領域122には、以上の各データ項目とそれらが実際に記憶されているバックエンドDBサーバとの対応を示すデータ配置テーブルが記憶されている。価格310cについてはフロントインデックス列である旨を示す「フロント」、数量310bについては直接データ列である旨を示す「直接」というデータになっている。これら以外は、各データが実際に記憶されているバックエンドDBサーバ名が、各データ項目に対応づけられている。
(データの登録の動作)
図5は、図1に示した分散メモリデータベースシステム1にデータを登録して利用可能な状態にする動作を示すフローチャートである。データベース管理者は、フロントメモリDBサーバ10に対して、通常のDBMSに対する操作と同様にして図2に示した商品テーブル300および売上テーブル310のようにデータベースの表定義を作成する。その作成の際に、前述のグループ列、直接データ列、フロントインデックス列を定義する(ステップS501)。
表定義の作成を終えた後、作成した表に実データを登録する(ステップS502)。そして、実データの登録を終えた後、各データをインデックス格納列ごとに、各々のバックエンドDBサーバごとのカラムデータ保存メモリ領域に分散させ、重複を排除しソートした形で格納する(ステップS503)。
ちなみにステップS503の処理で、どの列データをどのバックエンドDBサーバに割り振るかの決定は、空き容量が多いバックエンドDBサーバから順番に列データを割り振るようにすることが簡単である。ただし、ある一定のクエリが処理に時間が非常にかかることが事前に判断できている場合は、列の検索条件(and条件やor条件)に合わせた形で分割しておくことによって、検索性能を向上させることができる。
(データ検索時の動作)
図6は、図1に示した分散メモリデータベースシステム1に対してクライアントコンピュータ40からデータ検索の操作があった場合の動作を示す説明図である。図6(a)は入力されたSQLコマンド601を示し、図6(b)〜(d)は各処理段階でフロントDBサーバ10の中間データ領域123に記憶される内容を示す。また図7は、図6(a)に示すSQLコマンド601を入力されたクエリ実行部111が実行する処理を示すフローチャートである。
図6(a)に示すように、「商品テーブルおよび売上テーブルから、価格が100000円以上の商品で、商品テーブルの商品IDと売上テーブルの商品IDが等しいものについて、商品種別とメーカーを抽出する」ことを意味するSQLコマンド601を入力されたクエリ実行部111は、フロントDBサーバ10のデータ保存メモリ領域121に記憶されたデータのみでSQLコマンド601を実行する(図7・ステップS701)。
まず、インデックス売上テーブル410から「価格が100000円以上」の条件に該当するものを抽出して図6(b)に示す第1の中間データ610を抽出する。そこから続けて、第1の中間データ610にインデックス商品テーブル400を商品ID300aをキーとして結合して、図6(c)に示す第2の中間データ620とする。これを、出力対象である商品種別300bとメーカー300cとだけを残したテーブルとして、図6(d)に示す最終中間データ630とする。なお、図6(c)に示した第2の中間データ620では、紙面の都合で一部の列の記載を省略している。
この最終中間データ630をクエリ実行部111が中間データ領域123に記憶したことを受けた実データ照会部113は、最終中間データ630にあるインデックス番号に相当する実データがいずれのバックエンドDBサーバ21〜23に記憶されているかを表情報管理部112に問い合わせる(図7・ステップS702)。表情報管理部112は、スキーマ情報領域122のデータ配置テーブル480を参照して、実データの記憶されているバックエンドDBサーバ21〜23の所在を返却する。
これを受けた実データ照会部113は、返却されてきた結果に基づいてバックエンドDBサーバ21〜23にインデックス番号に相当する実データを問い合わせて取得する(図7・ステップS703)。商品種別300bはバックエンドDBサーバ22に、メーカー300cはバックエンドDBサーバ21に各々、実データが記憶されているので、その各々の実データを取得した後、クエリ実行部111が取得したデータでインデックスを置き換えてクライアントコンピュータ40に対して出力し(図7・ステップS704)、処理を終了する。
図8は、図6〜7に示した処理によって出力された最終出力データ640を示す説明図である。このように、入力されたSQLコマンド601に対して、フロントメモリDBサーバ10単体で処理可能なところまで問い合わせを実行して得られた最終中間データ630を中間データ領域123に格納し、そこにあるインデックス番号に相当する実データを各バックエンドDBサーバ21〜23に問い合わせて取得し、最終中間データ630をこの実データに置き換えて最終出力データ640とする。
本実施形態によれば、表の結合処理ではグループ列で実データやインデックスが共通化されているため、フロントメモリDBサーバ10にあるインデックス番号だけで結合演算を行うことが可能である。あとは最終出力時に実データを取得する処理以外で各バックエンドDBサーバ21〜23への問い合わせは発生しないので、このデータの問い合わせに伴うデータ転送量の増大および処理速度の低下を最低限に抑制することが可能となる。
図9は、図1に示した分散メモリデータベースシステム1に入力される別のSQLコマンド801の例を示す説明図である。このSQLコマンド801は、「商品テーブルで、商品種別が『PC』であるデータの件数を取得する」という処理を意味する。このSQLコマンド801を入力されたクエリ実行部111は、商品種別300b=「PC」をこのデータが記憶されたバックエンドDBサーバ22に送信し、そのインデックス番号を照会して取得する。そしてクエリ実行部111は、返信されたインデックス番号を用いてその件数を算出する。
このように、図6〜8に記載したフロントメモリDBサーバ10からバックエンドDBサーバ21〜23に対して「インデックス番号に相当する実データを照会して取得する」処理だけではなく、これとは逆に「実データに相当するインデックス番号を照会して取得する」処理も、SQLコマンドの内容によっては考え得ることである。
(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るデータベース用データ処理方法は、フロントメモリデータベースサーバ10と、単数もしくは複数台のバックエンドデータベースサーバ21とが相互に接続された分散メモリデータベースシステムにあって、フロントメモリデータベースサーバ10があらかじめ備える第1の記憶手段102に、あらかじめ入力されたデータテーブルをインデックス番号に置換したインデックステーブルとして保存すると共に、データテーブルの中で集計処理対象となる列であるフロントインデックス列およびインデックス番号に対応する実データがいずれのバックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を第1の記憶手段に同時に保存し、バックエンドデータベースサーバ21があらかじめ備える第1の記憶手段202に、データテーブルの列ごとにインデックス番号に対応する実データをあらかじめ保存し、インデックステーブルおよびフロントインデックス列に対してフロントメモリデータベースサーバのクエリ実行部がユーザに入力されたクエリを実行して中間データを作成し(図7・ステップS701)、スキーマ情報に基づいてインデックス番号に対応する実データが記憶されているバックエンドデータベースサーバをフロントメモリデータベースサーバの表情報管理部が特定し(図7・ステップS702)、特定されたバックエンドデータベースサーバにインデックス番号に対応する実データをフロントメモリデータベースサーバの実データ照会部が照会し(図7・ステップS703)、フロントメモリデータベースサーバから照会を受けたインデックス番号に対応する実データをバックエンドデータベースサーバのカラムデータ管理部が返信し、中間データ中のインデックス番号をフロントメモリデータベースサーバのクエリ実行部が実データに置換して出力する(図7・ステップS704)。
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるフロントメモリデータベースサーバ10およびバックエンドデータベースサーバ21に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
本実施形態によれば、1台のサーバでは取り扱うことができない大容量のデータを分散メモリデータベースとして取り扱うことができる。その理由は、全ての列の実データをバックエンドDBサーバのメモリ上に分散して保有し、フロントメモリDBサーバにインデックス情報やデータ量の少ない数値データのみを保有することで、全ての表の情報を1台のサーバに集約しつつ、多くのデータを保有することができる。特に文字列やバイト列の様な1レコードのデータ量が多い列を多く含む場合に、演算処理を迅速に行うことが可能となる。
かつ、本実施形態によれば、データベース上でのデータ列の結合処理や集計処理で、速度の劣化を最小限に抑えることができる。その理由は、フロントメモリDBサーバにはインデックス番号という形で全ての表情報を保有しているため、このフロントメモリDBサーバが保有する情報のみで結合処理を行うことができる。また、各データをカラム単位にソートした形で格納しているため、水平分割している場合に必要となる各DBサーバ間の通信は必要なく、列に対する検索処理命令の際にフロントサーバからバックエンドDBサーバに対して通信を行うだけでよい。また、検索結果が中間結果を求めるためのものであれば、列番号を返却するだけでよいので、実データを返却するよりも通信量を削減することができるという効果もある。
上記説明では、フロントインデックス列である価格310cに対して「価格が100000円以上」の条件に該当するものを抽出するという演算を行ったが、たとえば「商品IDとの売り上げ金額」を集計して、それをたとえば「メーカーごと」「商品種別ごと」などのように観点を変えて売り上げ金額を抽出集計するなどのような演算も、SQLコマンドによって可能である。
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
(付記1) フロントメモリデータベースサーバと、単数もしくは複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムであって、
前記フロントメモリデータベースサーバが、
あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル,前記データテーブルの中で集計処理対象となる列であるフロントインデックス列,および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を記憶する第1の記憶手段と、
前記インデックステーブルおよび前記フロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部と、
前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを特定する表情報管理部と、
特定された前記バックエンドデータベースサーバに前記インデックス番号に対応する実データを照会してこれを取得する実データ照会部と
を備え、
前記バックエンドデータベースサーバの各々が、
前記フロントメモリデータベースサーバにあらかじめ入力された前記データテーブルの列ごとに前記インデックス番号に対応する実データを保存する第2の記憶手段と、
前記フロントメモリデータベースサーバから前記インデックス番号について照会を受けた場合にこのインデックス番号に対応する前記実データを返信するカラムデータ管理部と
を備え、
前記フロントメモリデータベースサーバの前記クエリ実行部が、前記中間データ中の前記インデックス番号を取得された前記実データに置換して出力する機能を有する
ことを特徴とする分散メモリデータベースシステム。
(付記2) 前記バックエンドデータベースサーバの前記第2の記憶手段が、前記インデックス番号に対応する前記実データを重複を排除した形でソートして記憶していることを特徴とする、付記1に記載の分散メモリデータベースシステム。
(付記3) 前記フロントメモリデータベースサーバの前記第1の記憶手段が、複数個の前記インデックステーブルを記憶しており、
前記クエリ実行部が、前記クエリの実行内容に応じて前記複数個のインデックステーブルに対して結合処理を行う機能を有することを特徴とする、付記1に記載の分散メモリデータベースシステム。
(付記4) 前記フロントメモリデータベースサーバの前記第1の記憶手段が、前記データテーブルの中で前記フロントインデックス列および前記結合処理のキーとなるグループ列のいずれにも該当しない列のうち少なくとも1列を直接データ列として記憶していることを特徴とする、付記3に記載の分散メモリデータベースシステム。
(付記5) 単数もしくは複数台のバックエンドデータベースサーバと相互に接続されて分散メモリデータベースシステムを構成するフロントメモリデータベースサーバであって、
あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル、前記データテーブルの中で集計処理対象となる列であるフロントインデックス列、および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を記憶する第1の記憶手段と、
前記インデックステーブルおよび前記フロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部と、
前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを特定する表情報管理部と、
特定された前記バックエンドデータベースサーバに前記インデックス番号に対応する実データを照会してこれを取得する実データ照会部とを備え、
前記クエリ実行部が、前記中間データ中の前記インデックス番号を取得された前記実データに置換して出力する機能を有する
ことを特徴とするフロントメモリデータベースサーバ。
(付記6) フロントメモリデータベースサーバと、単数もしくは複数台の複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムにあって、
前記フロントメモリデータベースサーバがあらかじめ備える第1の記憶手段に、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブルとして記憶すると共に、前記データテーブルの中で集計処理対象となる列であるフロントインデックス列および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を前記第1の記憶手段に同時に記憶し、
前記バックエンドデータベースサーバがあらかじめ備える第1の記憶手段に、前記データテーブルの列ごとに前記インデックス番号に対応する実データをあらかじめ記憶し、
前記インデックステーブルおよび前記フロントインデックス列に対して前記フロントメモリデータベースサーバのクエリ実行部がユーザに入力されたクエリを実行して中間データを作成し、
前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを前記フロントメモリデータベースサーバの表情報管理部が特定し、
特定された前記バックエンドデータベースサーバに前記インデックス番号に対応する前記実データを前記フロントメモリデータベースサーバの実データ照会部が照会し、
前記フロントメモリデータベースサーバから照会を受けたインデックス番号に対応する実データを前記バックエンドデータベースサーバのカラムデータ管理部が返信し、
前記中間データ中の前記インデックス番号を前記フロントメモリデータベースサーバの前記クエリ実行部が前記実データに置換して出力する
ことを特徴とするデータベース用データ処理方法。
(付記7) あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル,前記データテーブルの中で集計処理対象となる列であるフロントインデックス列,および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を記憶する第1の記憶手段を有するフロントメモリデータベースサーバと、前記データテーブルの列ごとに前記インデックス番号に対応する実データを記憶する第2の記憶手段を有する単数もしくは複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムにあって、
前記フロントメモリデータベースサーバがあらかじめ備えるコンピュータに、
前記インデックステーブルおよび前記フロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成する手順、
前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを特定する手順、
特定された前記バックエンドデータベースサーバに前記実データを照会してこれを受信する手順、
および前記中間データ中の前記インデックス番号を受信した前記実データに置換して出力する手順
を実行させることを特徴とするデータベース用データ処理プログラム。
本発明はデータベースを利用するコンピュータシステム、特に分散メモリを使用するデータベースシステムに幅広く適用できる。
1 分散メモリデータベースシステム
10 フロントメモリDBサーバ
21、22、23 バックエンドDBサーバ
30 内部ネットワーク
40 クライアントコンピュータ
101、201 プロセッサ
102、202 記憶手段
103、203 通信手段
111 クエリ実行部
112 表情報管理部
113 実データ照会部
121 データ保存メモリ領域
122 スキーマ情報領域
123 中間データ領域
211、221、231 カラムデータ管理部
212、222、232 カラムデータ保存メモリ領域
300 商品テーブル
300a 商品ID(グループ列)
310 売上テーブル
310b 数量(直接データ列)
310c 価格(フロントインデックス列)
400 インデックス商品テーブル
410 インデックス売上テーブル
420 価格テーブル
430 メーカーテーブル
440 商品種別テーブル
450 売上IDテーブル
460 発売年テーブル
470 商品IDテーブル
480 データ配置テーブル
601 SQLコマンド
610、620、630 中間データ
640 最終出力データ

Claims (7)

  1. フロントメモリデータベースサーバと、単数もしくは複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムであって、
    前記フロントメモリデータベースサーバが、
    あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル,前記データテーブルの中で集計処理対象となる列であるフロントインデックス列,および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を記憶する第1の記憶手段と、
    前記インデックステーブルおよび前記フロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部と、
    前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを特定する表情報管理部と、
    特定された前記バックエンドデータベースサーバに前記インデックス番号に対応する実データを照会してこれを取得する実データ照会部と
    を備え、
    前記バックエンドデータベースサーバの各々が、
    前記フロントメモリデータベースサーバにあらかじめ入力された前記データテーブルの列ごとに前記インデックス番号に対応する実データを保存する第2の記憶手段と、
    前記フロントメモリデータベースサーバから前記インデックス番号について照会を受けた場合にこのインデックス番号に対応する前記実データを返信するカラムデータ管理部と
    を備え、
    前記フロントメモリデータベースサーバの前記クエリ実行部が、前記中間データ中の前記インデックス番号を取得された前記実データに置換して出力する機能を有する
    ことを特徴とする分散メモリデータベースシステム。
  2. 前記バックエンドデータベースサーバの前記第2の記憶手段が、前記インデックス番号に対応する前記実データを重複を排除した形でソートして記憶していることを特徴とする、請求項1に記載の分散メモリデータベースシステム。
  3. 前記フロントメモリデータベースサーバの前記第1の記憶手段が、複数個の前記インデックステーブルを記憶しており、
    前記クエリ実行部が、前記クエリの実行内容に応じて前記複数個のインデックステーブルに対して結合処理を行う機能を有することを特徴とする、請求項1に記載の分散メモリデータベースシステム。
  4. 前記フロントメモリデータベースサーバの前記第1の記憶手段が、前記データテーブルの中で前記フロントインデックス列および前記結合処理のキーとなるグループ列のいずれにも該当しない列のうち少なくとも1列を直接データ列として記憶していることを特徴とする、請求項3に記載の分散メモリデータベースシステム。
  5. 単数もしくは複数台のバックエンドデータベースサーバと相互に接続されて分散メモリデータベースシステムを構成するフロントメモリデータベースサーバであって、
    あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル,前記データテーブルの中で集計処理対象となる列であるフロントインデックス列,および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を記憶する第1の記憶手段と、
    前記インデックステーブルおよび前記フロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成するクエリ実行部と、
    前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを特定する表情報管理部と、
    特定された前記バックエンドデータベースサーバに前記インデックス番号に対応する実データを照会してこれを取得する実データ照会部とを備え、
    前記クエリ実行部が、前記中間データ中の前記インデックス番号を取得された前記実データに置換して出力する機能を有する
    ことを特徴とするフロントメモリデータベースサーバ。
  6. フロントメモリデータベースサーバと、単数もしくは複数台の複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムにあって、
    前記フロントメモリデータベースサーバがあらかじめ備える第1の記憶手段に、あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブルとして記憶すると共に、前記データテーブルの中で集計処理対象となる列であるフロントインデックス列および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を前記第1の記憶手段に同時に記憶し、
    前記バックエンドデータベースサーバがあらかじめ備える第1の記憶手段に、前記データテーブルの列ごとに前記インデックス番号に対応する実データをあらかじめ記憶し、
    前記インデックステーブルおよび前記フロントインデックス列に対して前記フロントメモリデータベースサーバのクエリ実行部がユーザに入力されたクエリを実行して中間データを作成し、
    前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを前記フロントメモリデータベースサーバの表情報管理部が特定し、
    特定された前記バックエンドデータベースサーバに前記インデックス番号に対応する前記実データを前記フロントメモリデータベースサーバの実データ照会部が照会し、
    前記フロントメモリデータベースサーバから照会を受けたインデックス番号に対応する実データを前記バックエンドデータベースサーバのカラムデータ管理部が返信し、
    前記中間データ中の前記インデックス番号を前記フロントメモリデータベースサーバの前記クエリ実行部が前記実データに置換して出力する
    ことを特徴とするデータベース用データ処理方法。
  7. あらかじめ入力されたデータテーブル内のデータをインデックス番号に置換したインデックステーブル,前記データテーブルの中で集計処理対象となる列であるフロントインデックス列,および前記インデックス番号に対応する実データがいずれの前記バックエンドデータベースサーバに記憶されているかの情報であるスキーマ情報を記憶する第1の記憶手段を有するフロントメモリデータベースサーバと、前記データテーブルの列ごとに前記インデックス番号に対応する実データを記憶する第2の記憶手段を有する単数もしくは複数台のバックエンドデータベースサーバとが相互に接続された分散メモリデータベースシステムにあって、
    前記フロントメモリデータベースサーバがあらかじめ備えるコンピュータに、
    前記インデックステーブルおよび前記フロントインデックス列に対してユーザに入力されたクエリを実行して中間データを作成する手順、
    前記スキーマ情報に基づいて前記インデックス番号に対応する前記実データが記憶されている前記バックエンドデータベースサーバを特定する手順、
    特定された前記バックエンドデータベースサーバに前記実データを照会してこれを受信する手順、
    および前記中間データ中の前記インデックス番号を受信した前記実データに置換して出力する手順
    を実行させることを特徴とするデータベース用データ処理プログラム。
JP2010085568A 2010-04-01 2010-04-01 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム Expired - Fee Related JP5464017B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010085568A JP5464017B2 (ja) 2010-04-01 2010-04-01 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010085568A JP5464017B2 (ja) 2010-04-01 2010-04-01 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2011216029A JP2011216029A (ja) 2011-10-27
JP5464017B2 true JP5464017B2 (ja) 2014-04-09

Family

ID=44945656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010085568A Expired - Fee Related JP5464017B2 (ja) 2010-04-01 2010-04-01 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム

Country Status (1)

Country Link
JP (1) JP5464017B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5818394B2 (ja) * 2011-11-10 2015-11-18 トレジャー データ, インク.Treasure Data, Inc. 大量データプラットフォームを操作するシステム及び方法
JP6272168B2 (ja) * 2014-07-18 2018-01-31 三菱電機株式会社 検索装置及び検索プログラム
CN109063219A (zh) * 2018-10-30 2018-12-21 深圳市海能通信股份有限公司 一种大数据结构化查询系统
KR102461213B1 (ko) * 2021-05-06 2022-10-31 주식회사 오퍼스엠 블록체인 기반 데이터베이스 운영방법 및 이를 구동하기 위한 블록체인 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3860992B2 (ja) * 2001-11-09 2006-12-20 株式会社ターボデータラボラトリー データの結合・提示方法、および、データ結合・提示プログラム
JP4559971B2 (ja) * 2004-01-29 2010-10-13 株式会社ターボデータラボラトリー 分散メモリ型情報処理システム
JP4729683B2 (ja) * 2004-03-26 2011-07-20 株式会社エヌ・ティ・ティ ネオメイト データ分散格納装置、そのデータ構成管理サーバ、クライアント端末、および、データ分散格納装置を備えた業務委託システム
JP4207096B2 (ja) * 2008-06-12 2009-01-14 株式会社日立製作所 データベース管理方法

Also Published As

Publication number Publication date
JP2011216029A (ja) 2011-10-27

Similar Documents

Publication Publication Date Title
US11120022B2 (en) Processing a database query using a shared metadata store
EP3602351B1 (en) Apparatus and method for distributed query processing utilizing dynamically generated in-memory term maps
US8943103B2 (en) Improvements to query execution in a parallel elastic database management system
US9081837B2 (en) Scoped database connections
JP5598279B2 (ja) 分散メモリデータベースシステム、フロントデータベースサーバ、データ処理方法およびプログラム
US10452632B1 (en) Multi-input SQL-MR
JP2000187668A (ja) グループ化方法と重複排除方法
CN105468720A (zh) 集成分布式数据处理系统的方法、相应系统及其数据处理方法
US10402383B2 (en) DBMS-supported score assignment
CN103823846A (zh) 一种基于图论的大数据存储及查询方法
Nidzwetzki et al. Distributed secondo: an extensible and scalable database management system
Zhao et al. A practice of TPC-DS multidimensional implementation on NoSQL database systems
JP5464017B2 (ja) 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム
Saleem Storage, indexing, query processing, and benchmarking in centralized and distributed RDF engines: a survey
CN114064707A (zh) 一种用于数据虚拟化服务器的数据查询方法、装置及存储介质
CN105574010B (zh) 数据查询方法及装置
Guo et al. Leon: A distributed rdf engine for multi-query processing
Li et al. C2Net: A network-efficient approach to collision counting LSH similarity join
Khafagy Indexed map-reduce join algorithm
US20160048560A1 (en) System and Method for Querying a Distributed Dwarf Cube
Kondylakis et al. Enabling joins over cassandra NoSQL databases
CN113742346A (zh) 资产大数据平台架构优化方法
Zhu et al. Hydb: Access optimization for data-intensive service
JP2020038610A (ja) 検索処理プログラム、検索処理方法及び情報処理装置
US12072881B2 (en) Key range query optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131216

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: 20131224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140106

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees