JP7024432B2 - データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置 - Google Patents

データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置 Download PDF

Info

Publication number
JP7024432B2
JP7024432B2 JP2018006738A JP2018006738A JP7024432B2 JP 7024432 B2 JP7024432 B2 JP 7024432B2 JP 2018006738 A JP2018006738 A JP 2018006738A JP 2018006738 A JP2018006738 A JP 2018006738A JP 7024432 B2 JP7024432 B2 JP 7024432B2
Authority
JP
Japan
Prior art keywords
data
ros
wos
information indicating
storage range
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
Application number
JP2018006738A
Other languages
English (en)
Other versions
JP2019125264A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018006738A priority Critical patent/JP7024432B2/ja
Publication of JP2019125264A publication Critical patent/JP2019125264A/ja
Application granted granted Critical
Publication of JP7024432B2 publication Critical patent/JP7024432B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、WOS(Write Optimized Store)のデータ構造、データ変換プログラム、データ変換方法及びデータ変換装置に関する。
リレーショナルデータベース管理システム(Relational Database Management System:RDBMS)では、OLTP(Online Transaction Processing)とOLAP(Online Analytical Processing)の2つの処理が行われる。OLTPは、レコードの挿入、更新及び削除を行う処理であり、OLAPは、すでに蓄積されたレコードに統計処理等を行う処理である。
図9は、OLTPとOLAPの特徴を示す図である。図9において、行型とは、1つの行(レコード)に含まれるデータをまとめて記憶する行型のデータベースを示し、列型(カラムナ)とは、1つの列に含まれるデータをまとめて記憶する列型のデータベースを示す。
図9に示すように、OLTPでは、データベースに対する更新処理が発生するが、OLAPと比較して少数のデータに対する検索が行われる。したがって、OLTPでは、行型を用いる方が列型を用いるより処理が速い。一方、OLAPでは、特定の列に関する集計等で大量データの集計が行われる。したがって、OLAPでは、列型を用いる方が行型を用いるより処理が速い。このため、レコードの挿入、更新及び削除の操作は行型のデータベースに対して行われ、日毎、週毎等非同期に行型のデータベースのデータを列型のデータベースに移す処理が行われる。
近年、直近の集計データをビジネスに生かすことが求められている。例えば、午前の売り上げ状況に基づいて、午後の配送計画を策定することが行われる。このため、行型のデータベースと列型のデータベースの両方の利点を備えたデータベース管理システムに対するニーズが高まっている。
図10及び図11は、行型のデータベースと列型のデータベースの両方の利点を備えたデータベース管理システムのアーキテクチャの概要を説明するための図である。図10は、更新SQLに対する処理を説明するための図であり、図11は、検索SQLに対する処理を説明するための図である。ここで、更新SQLは、レコードの挿入、更新又は削除を行うことによりデータベースを更新するSQLであり、検索SQLはデータベースを検索するSQLである。
図10及び図11に示すように、行型のデータベースと列型のデータベースの両方の利点を備えたデータベース管理システムは、DBバッファ1aを有する。DBバッファ1aは、メインメモリ上の領域であり、行型の書き込みバッファであるWOS13と、列型のデータ構造のグローバルROS(Read Optimized Store)15を有する。
図10に示すように、更新SQLに対する処理では、行型のデータベースであるオリジナルテーブル11とWOS13が更新SQLと同期的に更新される。そして、更新SQLとは非同期にWOS13のデータをグローバルROS15に反映するWOS-ROS変換が行われる。
また、検索SQLに対する処理では、図11に示すように、WOS13が記憶する直近のデータが列型のローカルROS16aに変換され、ローカルROS16aとグローバルROS15に対して検索が行われる。なお、以下では、グローバルROS15を単にROS15として表す。
図12は、WOS-ROS変換の例を示す図である。図12に示すように、オリジナルテーブル11には、列としてTID(Tuple-ID)、取引日(a1)、コード(a2)、・・・、商品説明(an)が含まれる。TIDは、行を識別する行識別子である。取引日は、商品の取引が行われた日付である。コードは、商品の識別に用いられるコードである。商品説明は、商品に関する簡単な説明である。
WOS13には、更新されたデータのTIDだけが記憶される。したがって、WOS-ROS変換を行う変換部は、TIDを用いてオリジナルテーブル11からデータを取得し(1)、列型に格納することでROS15を作成する。
図13は、可変長データのWOS-ROS変換を説明するための図である。図13に示すように、オリジナルテーブル11の商品説明は可変長である。このように、オリジナルテーブル11が可変長の列を含む場合、変換部は、TIDを用いてオリジナルテーブル11からデータを取得し(1)、可変長の列については、エクステントよりも小さい単位(例えば128行)のバッファ21を確保して書き込む(2)。ここで、エクステントは、WOS-ROS変換の単位である。ROS15は、エクステント毎にデータを記憶する。バッファ21のサイズは、列のサイズの最大値に行の数を掛けた値である。
変換部は、バッファ21に書き込む際に可変長データのサイズを把握し、バッファ21を介してWOS-ROS変換を行う(3)。そして、変換部は、バッファ21をROSにコピーする(4)。
なお、並列演算器を用いて、可変長データについても効率的なデータベース処理を実現する従来技術がある。この従来技術は、可変長データを含むタプルデータをフラグメントに格納するとともに、フラグメントヘッダとしてフラグメントのメタデータを格納する。そして、この従来技術は、カラムストアデータベースに格納されたデータの処理に際して、メタデータを参照して各スレッドに割り当てるフラグメントを決定し、決定内容に基づいて各スレッドにフラグメントを割り当てて並列演算を実行させる。
また、タプルデータを属性データ毎にまとめて記憶装置に格納する際に、タプルデータを構成する各属性データを、属性データ毎に各々設定された所定容量の記憶領域を有する複数のチャンクに、表形式においてタプルデータが位置する順番で格納する技術がある。そして、この技術は、属性毎に設定されたチャンク内から削除された属性データが含まれるタプルデータの表形式における順番を特定する情報を表す削除データ情報を属性毎に取得し、当該削除データ情報に基づいてチャンクを解放する。したがって、この技術は、チャンクを解放した時にタプルの情報に不整合が生じないようにすることができる。
また、データベース処理エンジンが、ストレージ装置に保存されたカラム型ページをロー型ページに変換してメモリ装置に保存するモジュールを有することで、データベースへの効率的なアクセスを実現する技術がある。
特開2012-212427号公報 国際公開第2014/057616号 国際公開第2014/010038号
WOS-ROS変換中はOLAPの処理を行うことができないので、WOS-ROS変換にできるだけ時間がかからないようにする必要がある。このため、複数のワーカを用いてWOS-ROS変換を並列に行うことが考えられる。ここで、ワーカは、WOS-ROS変換を行う処理部である。マルチコア環境では、ワーカを並列化することで、WOS-ROS変換を高速化することができる。
しかしながら、オリジナルテーブル11が可変長の列を含む場合、各ワーカは、WOS13のどこからTIDを取り出し、TIDに対応する可変長データをROS15のどこへ書き込めばよいかがわからない。したがって、WOS-ROS変換を並列に行うことができないという問題がある。
図14は、WOS-ROS変換の並列化の問題を説明するための図である。図14では、オリジナルテーブル11に含まれる商品説明の列が可変長である。WOS13にある4つのTIDのうちTID#1とTID#2がワーカ#1に割り振られ、TID#3とTID#4がワーカ#2に割り振られる。
しかしながら、商品説明の列が可変長であるため、ワーカ#1とワーカ#2にそれぞれ2つのTIDを割り振ることが妥当であるとは限らない。例えば、商品説明#1のサイズが商品説明#2~商品説明#4のサイズの和よりも大きい場合、TID#1をワーカ#1に割り振り、TID#2~TID#4をワーカ#2に割り振る方がワーカの処理が均等化される。
また、ワーカ#2が商品説明#1及び商品説明#2をROS15に書き込み中である間は、商品説明#1及び商品説明#2のサイズが分からないため、ワーカ#2はROS15のどこから書き込んでいいか分からない。したがって、ワーカ#2は、ワーカ#1の書き込み待ちとなり、ワーカ#1と並列に動作することができない。
本発明は、1つの側面では、WOS-ROS変換を複数のワーカで並列に行うことを目的とする。
1つの態様では、WOS及びROSを有するデータベース管理システムであって、前記WOSは、行識別子に対応づけてROS上のデータの格納範囲を示す情報を備え、書き込みが行われる単位に分割され、前記WOSの行識別子に基づく、前記ROSへの分割された単位毎の複数の書き込み処理の競合の排除に、前記複数の書き込み処理に関連する前記WOSの行識別子に対応するROS上のデータの格納範囲が利用されるデータ構造を有する
1つの側面では、本発明は、WOS-ROS変換を複数のワーカで並列に行うことができる。
図1は、ワーカの並列化のためにWOSに追加する情報を説明するための図である。 図2は、ワーカによる並列書き込みを説明するための図である。 図3は、削除ベクトルを説明するための図である。 図4は、実施例に係るRDBMSの機能構成を示す図である。 図5は、WOSを更新する処理のフローを示すフローチャートである。 図6は、割り振り処理のフローを示すフローチャートである。 図7は、ワーカによる処理のフローを示すフローチャートである。 図8は、RDBMSを実行するコンピュータのハードウェア構成を示す図である。 図9は、OLTPとOLAPの特徴を示す図である。 図10は、更新SQLに対する処理を説明するための図である。 図11は、検索SQLに対する処理を説明するための図である。 図12は、WOS-ROS変換の例を示す図である。 図13は、可変長データのWOS-ROS変換を説明するための図である。 図14は、WOS-ROS変換の並列化の問題を説明するための図である。
以下に、本願の開示するWOSのデータ構造、データ変換プログラム、データ変換方法及びデータ変換装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、WOS-ROS変換を行うワーカの並列化について説明する。図1は、ワーカの並列化のためにWOS13に追加する情報を説明するための図である。図1において、(オフセット+自身のデータ長)がWOS13に追加される情報である。オフセットは、エクステントにおける可変長データの書き込み位置であり、自身のデータ長は、可変長データの長さである。すなわち、(オフセット+自身のデータ長)は、エクステント内での可変長データの書き終わり位置である。(オフセット+自身のデータ長)は、前のTIDに対応する(オフセット+自身のデータ長)にデータの長さを加えたものである。
商品説明#1のサイズ(長さ)は20であるので、TID#1に対応する(オフセット+自身のデータ長)は、0+20=20である。また、商品説明#2のサイズは60であるので、TID#2に対応する(オフセット+自身のデータ長)は、20+60=80である。また、商品説明#3のサイズは10であるので、TID#3に対応する(オフセット+自身のデータ長)は、80+10=90である。
ワーカは、(オフセット+自身のデータ長)を用いてエクステントにおける書き込み位置を特定する。図2は、ワーカによる並列書き込みを説明するための図である。図2では、TID#1~TID#2がワーカ#1に割り振られ、TID#3~TID#5がワーカ#2に割り振られる。TID#2に対応する(オフセット+自身のデータ長)は80であり、TID#5に対応する(オフセット+自身のデータ長)は160であるので、ワーカ#1及びワーカ#2は、それぞれ80の長さのデータをエクステント15aに書き込む。
ワーカ#1は、TID#1~TID#2に対応する商品説明#1~商品説明#2をオリジナルテーブル11から取り出してエクステント15aに書き込む。また、ワーカ#2は、TID#3~TID#5に対応する商品説明#3~商品説明#5をオリジナルテーブル11から取り出してエクステント15aに書き込む。
ワーカ#2は、WOS13においてTID#2に対応付けられた(オフセット+自身のデータ長)が80であることを特定し、その後ろから商品説明#3をエクステント15aに書き込む。したがって、ワーカ#1とワーカ#2は、並列にエクステント15aへの書き込みを行うことができる。
このように、各ワーカはエクステント15aにおいて書き込み始める場所が分かるので、複数のワーカが同時に書き込みを行うことができる。また、タスク毎の書き込み位置の特定は、(オフセット+自身のデータ長)に基づいて行われる。ここで、タスクとは、ワーカが書き込みを行う単位であり、WOS13が分割されたものである。図2では、TID#1~TID#2が1つのタスクであり、TID#3~TID#5が1つのタスクである。タスクの数は、例えばワーカの数の10倍である。各ワーカは、タスクを順番に取り出して処理し、1つのタスクの処理が終了すると次のタスクを取り出す。
なお、図2では、商品説明だけが可変長であるが、レコードに可変長データが複数ある場合には、WOS13は、可変長データ毎に(オフセット+自身のデータ長)を有する。
また、データが削除された場合にも(オフセット+自身のデータ長)は更新されない。削除されたデータは削除ベクトルによって管理される。図3は、削除ベクトルを説明するための図である。図3に示すように、削除されたデータは、WOS13において、ホワイトアウト(whiteout)WOS13bにより管理される。ホワイトアウトWOS13bには、削除されたデータのTIDが登録される。図3では、TID#3に対応するデータが削除されている。図3において、これまで説明してきたWOS13は、データWOS13aに対応する。WOS13は、データWOS13aとホワイトアウトWOS13bを含む。
各ワーカは、データWOS13aからエクステント15aへの書き込みを並列に行う。ワーカ#2は、削除されたTID#3も含めてエクステント15aへの書き込みを行う。また、ホワイトアウトWOS13bからは削除ベクトル15bが生成される。削除ベクトル15bは、削除されたデータのTIDに対応付けられたビットが1に設定されるベクトルである。削除ベクトル15bにおいて、削除されていないデータに対応するビットは0である。OLAPは、削除ベクトル15bにおいて値が1であるエントリに対応するデータを用いない。
次に、実施例に係るRDBMS(Relational Database Management System:リレーショナルデータベース管理システム)の機能構成について説明する。図4は、実施例に係るRDBMSの機能構成を示す図である。図4に示すように、実施例に係るRDBMS1は、オリジナルテーブル11と、バックエンド部12と、WOS13と、変換部14と、ROS15と、SQLプロセッサ16とを有する。
オリジナルテーブル11は、行型のデータベースである。バックエンド部12は、オリジナルテーブル11へのレコードの挿入、オリジナルテーブル11のレコードの更新及び削除、WOS13の更新、ワーカの生成、データWOS13aのタスクへの分割を行う。バックエンド部12は、WOS更新部12aと、ワーカ生成部12bと、タスク生成部12cとを有する。
WOS更新部12aは、バックエンド部12によるオリジナルテーブル11の操作と同期してWOS13を更新する。WOS更新部12aは、データWOS13aに挿入レコードのTIDを追加する際に、可変長のデータについて、(オフセット+自身のデータ長)を付加する。また、WOS更新部12aは、レコードが削除されると、ホワイトアウトWOS13bに削除されたレコードのTIDを追加する。
ワーカ生成部12bは、変換部14からの依頼に基づいて設定値に従った数のワーカ14bを生成して起動する。タスク生成部12cは、変換部14からの依頼に基づいて、データWOS13aをワーカ14bの数に応じた数に分割し、タスクを生成する。タスク生成部12cは、例えば、ワーカ14bの数を10倍した数のタスクを生成する。タスク生成部12cは、例えば、行数あるいはタスクのデータ長が均等になるようにデータWOS13aを分割する。
WOS13は、データWOS13aとホワイトアウトWOS13bを有する。データWOS13aは、行型の書き込みバッファであり、オリジナルテーブル11とROS15との差分をTIDを用いて記憶する。また、データWOS13aは、可変長のデータについて、(オフセット+自身のデータ長)をTIDと対応付けて記憶する。ホワイトアウトWOS13bは、削除されたデータのTIDを記憶する。なお、以降の説明でWOS13はデータWOS13aを表すものとする。
変換部14は、WOS-ROS変換を行い、エクステント15aを作成する。また、変換部14は、ホワイトアウトWOS13bに基づいて削除ベクトル15bを作成する。変換部14は、割り振り部14aと、複数のワーカ14bと、削除ベクトル作成部14cとを有する。
割り振り部14aは、ワーカの生成とタスクの生成をバックエンド部12に依頼し、ワーカ14bにタスクを処理させる。
ワーカ14bは、タスクに含まれるTIDに対応するデータをオリジナルテーブル11から読み出し、エクステント15aに書き込む。ワーカ14bは、(オフセット+自身のデータ長)を用いてエクステント15a内の書き込み位置を特定する。
削除ベクトル作成部14cは、ホワイトアウトWOS13bが記憶するTIDに基づいて削除ベクトル15bを作成する。削除ベクトル作成部14cは、削除ベクトル15bにおいて、ホワイトアウトWOS13bが記憶するTIDに対応するビットを1に設定する。なお、削除ベクトル作成部14cは、例えば、ワーカ14bとは異なるワーカにより実現される。
ROS15は、オリジナルテーブル11のレコードが列型に変換されたデータベースである。ROS15は、エクステント15a及び削除ベクトル15bの集合である。列の集計処理等は、ROS15を用いて行われる。
SQLプロセッサ16は、検索SQLを処理してデータベースの検索を行う。SQLプロセッサ16は、検索SQLを受け取ると、WOS13を変換してローカルROS16aを作成する。そして、SQLプロセッサ16は、ROS15とローカルROS16aを用いて検索を行う。
次に、WOS13を更新する処理のフローについて説明する。図5は、WOS13を更新する処理のフローを示すフローチャートである。なお、図5に示す処理は、オリジナルテーブル11が更新された後に行われる。
図5に示すように、WOS更新部12aは、WOS13にTIDを格納する(ステップS1)。そして、WOS更新部12aは、以下のステップS2~ステップS5の処理をROSに格納される全ての列に対して繰り返す。
すなわち、WOS更新部12aは、列のデータ型を読み取り(ステップS2)、データ型は可変長か否かを判定する(ステップS3)。そして、データ型が可変長である場合には、WOS更新部12aは、データサイズを特定し、WOS13内の当該列に対応する(オフセット+自身のデータ長)の最後尾の値と足し、TIDに対応する(オフセット+自身のデータ長)を算出する(ステップS4)。そして、WOS更新部12aは、算出した(オフセット+自身のデータ長)をTIDに対応付けてWOS13に格納する(ステップS5)。
このように、WOS更新部12aが、(オフセット+自身のデータ長)をTIDに対応付けてWOS13に格納するので、ワーカ14bは、(オフセット+自身のデータ長)を用いて並列にROS15への書き込みを行うことができる。
次に、割り振り処理のフローについて説明する。図6は、割り振り処理のフローを示すフローチャートである。図6に示すように、割り振り部14aは、バックエンド部12に設定値に従った個数のワーカ14bの生成を依頼する(ステップS11)。
そして、割り振り部14aは、バックエンド部12にワーカ14bの数に応じたタスクの生成を依頼し(ステップS12)、全てのワーカ14bが終了するまで待機する(ステップS13)。
このように、割り振り部14aがバックエンド部12にワーカ14bの生成とタスクの生成を依頼することで、変換部14は、WOS-ROS変換を並列に行うことができる。
次に、ワーカ14bによる処理のフローについて説明する。図7は、ワーカ14bによる処理のフローを示すフローチャートである。なお、図7は、WOS-ROS変換の対象の列が可変長である場合を示す。図7に示すように、ワーカ14bは、以下のステップS21~ステップS23の処理を未処理のタスクがなくなるまで繰り返す。
すなわち、ワーカ14bは、タスクを1つ取り出し(ステップS21)、ROS15への書き込み位置をWOS13から読み取る(ステップS22)。具体的には、ワーカ14bは、対象のTIDの1つ前の(オフセット+自身のデータ長)の次の位置を書き込み位置とする。そして、ワーカ14bは、書き込み位置からROS15にデータを書き込む(ステップS23)。
このように、ワーカ14bは、対象のTIDの1つ前の(オフセット+自身のデータ長)の次の位置を書き込み位置とすることで、他のワーカ14bと並列にROS15への書き込みを行うことができる。
次に、RDBMS1を実行するコンピュータについて説明する。図8は、RDBMS1を実行するコンピュータのハードウェア構成を示す図である。図8に示すように、コンピュータ50は、メインメモリ51と、CPU52と、LAN(Local Area Network)インタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVDの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行されるRDBMS1は、DVDに記憶され、ODD57によってDVDから読み出されてコンピュータ50にインストールされる。あるいは、RDBMS1は、LANインタフェース53を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読出されてコンピュータ50にインストールされる。そして、インストールされたRDBMS1は、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
上述してきたように、実施例では、TIDに対応付けて(オフセット+自身のデータ長)をWOS13に記憶する。そして、ワーカ14bは、(オフセット+自身のデータ長)を用いてROS15への書き込み位置を特定する。したがって、ワーカ14bは、特定した書き込み位置を用いてROS15への書き込みを行うことができ、他のワーカ14bと競合することなく、並列に動作することができる。
また、実施例では、割り振り部14aが、バックエンド部12に依頼してWOS13を均等なタスクに分割する。そして、各ワーカ14bは、タスクを順番に取り出してWOS-ROS変換を行う。したがって、割り振り部14aは、各ワーカ14bの負荷を均等化することができ、WOS-ROS変換を高速化することができる。
また、実施例では、削除ベクトル作成部14cが、ホワイトアウトWOS13bが記憶するTIDに基づいて削除ベクトル15bを作成するので、削除されたデータがOLAPで使用されることを防ぐことができる。
なお、実施例では、TIDに(オフセット+自身のデータ長)を対応付ける場合について説明したが、ROS15への書き込み範囲を特定できる値であれば他の値をTIDに対応付けてもよい。例えば、1つ前のTIDのデータを書き終える位置をTIDに対応付けてもよい。あるいは、ROS15への書き込み開始位置をTIDに対応付けてもよい。
1 RDBMS
1a DBバッファ
11 オリジナルテーブル
12 バックエンド部
12a WOS更新部
12b ワーカ生成部
12c タスク生成部
13 WOS(データWOS)
13a データWOS
13b ホワイトアウトWOS
14 変換部
14a 割り振り部
14b ワーカ
14c 削除ベクトル作成部
15 ROS(グローバルROS)
15a エクステント
15b 削除ベクトル
16 SQLプロセッサ
16a ローカルROS
21 バッファ
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD

Claims (9)

  1. WOS及びROSを有するデータベース管理システムであって、
    前記WOSは、
    行識別子に対応づけてROS上のデータの格納範囲を示す情報を備え、
    書き込みが行われる単位に分割され、前記WOSの行識別子に基づく、前記ROSへの分割された単位毎の複数の書き込み処理の競合の排除に、前記複数の書き込み処理に関連する前記WOSの行識別子に対応するROS上のデータの格納範囲が利用されるデータ構造を有する
    ことを特徴とするデータベース管理システム
  2. 前記ROS上のデータの格納範囲を示す情報は、前記ROSの先頭から該データまでのデータのサイズの合計値であることを特徴とする請求項1に記載のデータベース管理システム
  3. 前記ROS上のデータの格納範囲を示す情報は、前記ROSの先頭から該データの前のデータまでのデータのサイズの合計値であることを特徴とする請求項1に記載のデータベース管理システム
  4. 前記ROS上のデータの格納範囲を示す情報は、前記ROSにおける書き込み開始位置であることを特徴とする請求項1に記載のデータベース管理システム
  5. コンピュータに、
    行識別子に対応づけてROS上のデータの格納範囲を示す情報をWOSに記憶し、
    前記WOSを書き込みが行われる単位に分割して複数の部分WOSを生成し、
    前記複数の部分WOSを対象として前記格納範囲を示す情報に基づいて前記ROSへの書き込みを、競合を排除しつつ並列に行う
    処理を実行させることを特徴とするデータ変換プログラム。
  6. 前記ROS上のデータの格納範囲を示す情報は、前記ROSの先頭から該データまでのデータのサイズの合計値であることを特徴とする請求項5に記載のデータ変換プログラム。
  7. 前記WOSに含まれるデータが削除された場合に、該データに対応づけて該データが削除されたことを示す情報を削除ベクトルとして作成することを特徴とする請求項5又は6に記載のデータ変換プログラム。
  8. コンピュータが、
    行識別子に対応づけてROS上のデータの格納範囲を示す情報をWOSに記憶し、
    前記WOSを書き込みが行われる単位に分割して複数の部分WOSを生成し、
    前記複数の部分WOSを対象として前記格納範囲を示す情報に基づいて前記ROSへの書き込みを、競合を排除しつつ並列に行う
    処理を実行することを特徴とするデータ変換方法。
  9. 行識別子に対応づけてROS上のデータの格納範囲を示す情報を記憶するWOSと、
    前記WOSを書き込みが行われる単位に分割して複数の部分WOSを生成する生成部と、
    前記生成部により生成された複数の部分WOSを対象として前記格納範囲を示す情報に基づいて前記ROSへの書き込みを、競合を排除しつつ並列に行う書き込み部と
    を有することを特徴とするデータ変換装置。
JP2018006738A 2018-01-18 2018-01-18 データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置 Active JP7024432B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018006738A JP7024432B2 (ja) 2018-01-18 2018-01-18 データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018006738A JP7024432B2 (ja) 2018-01-18 2018-01-18 データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置

Publications (2)

Publication Number Publication Date
JP2019125264A JP2019125264A (ja) 2019-07-25
JP7024432B2 true JP7024432B2 (ja) 2022-02-24

Family

ID=67398945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018006738A Active JP7024432B2 (ja) 2018-01-18 2018-01-18 データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置

Country Status (1)

Country Link
JP (1) JP7024432B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064095A (ja) 2007-09-04 2009-03-26 Nippon Telegr & Teleph Corp <Ntt> 並列可変長ファイル出力装置、及び並列可変長ファイル出力方法
JP2013228999A (ja) 2012-03-26 2013-11-07 Nec Corp データベース処理装置、方法、プログラム及びデータ構造
US20150213072A1 (en) 2014-01-30 2015-07-30 International Business Machines Corporation Parallel load in a column-store database
JP2015185104A (ja) 2014-03-26 2015-10-22 日本電気株式会社 データベース装置
WO2016194401A1 (ja) 2015-06-05 2016-12-08 株式会社日立製作所 計算機、データベース処理方法、及び集積回路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309201A (ja) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> レコ―ド格納・アクセス法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064095A (ja) 2007-09-04 2009-03-26 Nippon Telegr & Teleph Corp <Ntt> 並列可変長ファイル出力装置、及び並列可変長ファイル出力方法
JP2013228999A (ja) 2012-03-26 2013-11-07 Nec Corp データベース処理装置、方法、プログラム及びデータ構造
US20150213072A1 (en) 2014-01-30 2015-07-30 International Business Machines Corporation Parallel load in a column-store database
JP2015185104A (ja) 2014-03-26 2015-10-22 日本電気株式会社 データベース装置
WO2016194401A1 (ja) 2015-06-05 2016-12-08 株式会社日立製作所 計算機、データベース処理方法、及び集積回路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
日経コンピュータ 編,すべてわかるデータベース大全 2017 ,日本,日経BP社,2016年12月16日,pp. 63--73
藤川 義文 外1名,インメモリ・カラム型DB用のFPGAアクセラレータによるOLAP高速化の評価手法の検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年08月11日,Vol.117 No.176,pp. 9--16

Also Published As

Publication number Publication date
JP2019125264A (ja) 2019-07-25

Similar Documents

Publication Publication Date Title
US10754874B2 (en) Query dispatching system and method
CN109271450B (zh) 数据库同步方法、装置、服务器和存储介质
US10255108B2 (en) Parallel execution of blockchain transactions
US20190303406A1 (en) Systems and Methods for Optimizing Performance of Graph Operations
US8775386B2 (en) Device and method for generating copy of database
US9639542B2 (en) Dynamic mapping of extensible datasets to relational database schemas
US9811577B2 (en) Asynchronous data replication using an external buffer table
US20150278310A1 (en) Database device
US10762037B2 (en) Data processing system
US11321302B2 (en) Computer system and database management method
US10007548B2 (en) Transaction system
US11366788B2 (en) Parallel pipelined processing for snapshot data deletion
US10810174B2 (en) Database management system, database server, and database management method
US11144574B2 (en) System and method for managing database
US11372883B2 (en) Apparatus for calculating size of processing unit, method for calculating size of processing unit, and non-transitory computer-readable storage medium for storing program
JP7024432B2 (ja) データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置
US20220360458A1 (en) Control method, information processing apparatus, and non-transitory computer-readable storage medium for storing control program
JP6897248B2 (ja) 更新反映プログラム、更新反映方法及び更新反映装置
US20180150498A1 (en) Database management device, information processing system, and database management method
JP7274293B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8296336B2 (en) Techniques for efficient dataloads into partitioned tables using swap tables
CN112559457A (zh) 数据访问方法及装置
US20230229657A1 (en) Zero Copy Optimization for SELECT * Queries
JP7095800B2 (ja) 情報処理プログラム、情報処理方法及び情報処理装置
JP2019101595A (ja) データベース管理システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124

R150 Certificate of patent or registration of utility model

Ref document number: 7024432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150