JP6295754B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP6295754B2
JP6295754B2 JP2014055852A JP2014055852A JP6295754B2 JP 6295754 B2 JP6295754 B2 JP 6295754B2 JP 2014055852 A JP2014055852 A JP 2014055852A JP 2014055852 A JP2014055852 A JP 2014055852A JP 6295754 B2 JP6295754 B2 JP 6295754B2
Authority
JP
Japan
Prior art keywords
data
column
column format
free space
processing device
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
JP2014055852A
Other languages
English (en)
Other versions
JP2015179353A (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 JP2014055852A priority Critical patent/JP6295754B2/ja
Publication of JP2015179353A publication Critical patent/JP2015179353A/ja
Application granted granted Critical
Publication of JP6295754B2 publication Critical patent/JP6295754B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ処理装置にかかり、特に、データベースを処理するデータ処理装置に関する。
データベース管理システム(DBMS : database management system)の内部構造として、複数のデータを表形式で表し、その複数の表に互いに関連付けを持たせて運用するリレーショナルデータベース(RDB : relational database)が広く用いられている。RDBは、トランザクションなどの更新処理は得意であるが、1つ1つの行(レコード)をデータの参照や操作の単位としているため、列単位の集計や検索が遅いという欠点がある。
この欠点を克服するために、表形式のデータを、列ごとにそのデータの並びを加工し、重複排除して保持することによって、高速な集計や行うことを可能としたFAST(Filter Array Structure)構造というデータ構造が考案されている。図1は、図1(A)に示す1つの表形式データを、図1(B)に示すFAST構造データに変換した一例を表している。図1(B)に示すように、FAST構造は、表形式のデータを、行番号を表す「順序集合」、ユニークでソートされたデータ群である「値リスト」(以後、「VL」と呼ぶ。)、列にどのデータが入っているかを示す「値番号」(以後、「VNo」と呼ぶ。)の3つの成分に分解して表現する。このFAST構造のように、データをレコード単位ではなく、列単位で考え、列の処理を効率的に行えるよう設計された内部構造を持つDBMSをカラムストアDBと呼ぶ。
FAST構造では、データがメモリに乗っている場合、VNo、VLのデータが配列で配置されるため、データへのアドレス計算にコストがかからないことと、データが配列で連続に配置されていることで、キャッシュヒット率が高くなることにより、集計や検索を高速に行うことが可能となっている。
特開2002−108662号公報
しかしながら、上述したFAST構造では、新規データの挿入などの更新処理に時間がかかってしまう、という問題が生じる。具体的に、まず、FAST構造において、VLは、重複データを排除し、かつソートされているデータを配列に格納している。ところが、VLに無い新規データの挿入処理が行う場合、VL配列のデータの配置換えが必要になり、かつ、それに伴い、VLのデータの格納先を指し示すVNoの値も更新し直す「VNo、VLの作り変え」処理を行う必要がある。
VNo、VLの作り変え処理の一例を、図2に示す。ここでは、図2(A)に示すように、FAST構造において「生年月日」列に新規データ「1997/07/22」を挿入する例を考える。「1997/07/22」は、VLのデータのソート性を保つために、図2(B)の斜線で示すように、VLの配列番号3に格納されることになる。ところが、その際に、図2(A)の矢印A2に示すように、これまで配列番号3から8に入っていたデータは、それぞれ一つ後ろに移動することとなる(VLの作り変え)。次に、このデータ移動に伴い、それまでVLの配列番号3から8のデータの格納先を示していたVNoの値を、図2(B)に示すように1ずつ増やす必要がある(VNoの作り変え)。
上述した作り変え処理は、ある程度の時間コストがかかり、一般的にVNo、VLサイズが大きいほど時間がかかる。そのため、この時間が大きいほど、作り変え中にユーザからデータへの参照や操作の問い合わせが来た場合のTAT(Turn Around Time)が大きくなる。このように、FAST構造では、新規データの挿入などの更新処理に時間がかかってしまう、という問題が生じる。
ここで、本発明に関連する技術として、特許文献1に開示の技術がある。かかる技術では、新たなデータをデータベースに追加する際に、かかるデータを追加する箇所に空きがなければ、前後のデータを移動して空きを作り、その空きに新たなデータを格納する、とうものである。しかしながら、特許文献1に開示の技術であっても、データ格納時にデータベースに空きを作ると言った処理が必要となり、上述同様に更新処理に時間がかかってしまう、という問題が生じる。
このため、本発明の目的は、上述した課題である、データベースの更新処理に時間がかかる、という問題を解決することにある。
本発明の一形態であるデータ処理装置は、
表形式データを列ごとの成分に分解した列形式データに変換する形式変換部と、
前記列形式データに対する操作を行うデータ操作部と、を備え、
前記形式変換部は、前記表形式データを前記列形式データに変換する際に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
前記データ操作部は、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
という構成をとる。
また、本発明の他の形態であるプログラムは、
情報処理装置に、
表形式データを列ごとの成分に分解した列形式データに変換する形式変換部と、
前記列形式データに対する操作を行うデータ操作部と、
を実現させるプログラムであって、
前記形式変換部は、前記表形式データを前記列形式データに変換する際に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
前記データ操作部は、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
という構成をとる。
また、本発明の他の形態であるデータ処理方法は、
表形式データを列ごとの成分に分解した列形式データに変換し、
前記列形式データに対する操作を行う、データ処理方法であって、
前記表形式データを前記列形式データに変換する際に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
という構成をとる。
本発明は、以上のように構成されることにより、データベースの更新処理にかかる時間を抑制することができる。
本発明に関連する技術において、表形式データをFAST構造データに変換した一例を示す図である。 本発明に関連する技術において、FAST構造データに新規データを挿入するときの様子を示す図である。 本発明におけるデータベース管理システムの構成を示すブロック図である。 本発明におけるデータベース管理システムの動作を示すフローチャートである。 本発明におけるデータベース管理システムの動作を示すフローチャートである。 本発明におけるデータベース管理システムの動作を示すシーケンス図である。 本発明におけるデータベース管理システムにて、表形式データをFAST構造データに変換した一例を示す図である。 本発明に関連する技術において変換したFAST構造データと、本発明におけるデータベース管理システムにて変換したFAST構造データと、を比較した図である。 本発明におけるデータベース管理システムにて、FAST構造データに新規データを追加するときの処理の様子を示す図である。 本発明におけるデータベース管理システムにて、FAST構造データに新規データを追加するときの処理の様子を示す図である。 本発明におけるデータベース管理システムにて、FAST構造データに新規データを追加するときの処理の様子を示す図である。 本発明におけるデータベース管理システムにて、FAST構造データの空きサイズを調整するときの様子を示す図である。 本発明におけるデータベース管理システムにて、FAST構造データに対する新規データの挿入レベルを判定する一例を示す図である。 本発明の付記1におけるデータ処理装置の構成を示すブロック図である。
本発明の第1の実施形態を、図1乃至図13を参照して説明する。図1は、データベース管理システムの構成を示すブロック図である。図2乃至図6は、データベース管理システムの動作を説明するための図である。図7乃至図13は、データベース管理システムにてデータを操作する時の様子を示す図である。
[構成]
本発明におけるデータベース管理システム1は、演算装置と記憶装置とを備えた一般的な情報処理装置である。そして、データベース管理システム1は、図3に示すように、ユーザ2にて操作され、当該ユーザ2が操作する情報処理端末であるクライアント3が接続されている。
データベース管理システム1は、図3に示すように、装備された演算装置にプログラムが組み込まれることで構築された、インポート部10、データベース操作部20、空きサイズ調整部30、を備える。インポート部10は、データ変換部11を備える。データベース操作部20は、データ挿入処理部21を備えており、さらにデータ挿入部21は、データ挿入確認部22、VNo,VL作り変え部23、データ挿入部24、挿入レベル更新部25、を備えている。また、データ管理システム1は、装備された記憶装置に、取り扱うFAST構造データD1を記憶するデータベース40を備えている。
上記インポート部10は、システム1を利用するユーザ2によってインポートされた、CSVファイルなどの表形式で表されるデータの集合である表形式データD1を受け付ける。そして、インポート部10が有するデータ変換部11(形式変換部)は、上述した図1に示すように、表形式データD1を、列ごとの成分に分解した列形式データであるFAST構造データD2に変換して、データベース40に記憶する。なお、FAST構造データD2は、上述したように、表形式のデータを、行番号を表す「順序集合」、ユニークでソートされたデータ群である「値リスト」(「VL」)、列にどのデータが入っているかを示す「値番号」(「VNo」)の3つの成分に分解して表現したものである。但し、データ変換部11は、表形式データD1をFAST構造データD2とは異なる他の列形式データに変換してもよい。
そして、データ変換部11は、図7(A)に示す表形式データD1をFAST構造データD2に変換する際に、後述する図7(B)の「NULL」に示すように、各VLに格納されるデータの間に所定容量の空き領域を挿入する。さらに、データ変換部11は、後述する図7(B)に示すように、各VLのデータの間毎に対する新規データの挿入度合いを記憶するための新たな領域である、挿入レベル配列(IL)を追加した、FAST構造データを作成して、データベースに格納する。
また、データベース操作部20は、クライアント3から発行された問い合わせを受け付け、当該問い合わせに対して、データベース40を操作して、問い合わせの結果をクライアント3に返す。特に、データベース操作部20が有するデータ挿入処理部21(データ操作部)は、各問い合わせに応じた処理をFAST構造データD2に対して行う。また、空きサイズ調整部30(空き領域調整部)も、FAST構造データD2に対する処理を行う。
上記データ挿入処理部21は、FAST構造データに対して新規データの挿入があった際には、以下のように新規データの照入処理を行う。まず最初に、データ挿入確認部22で、挿入する範囲に空き領域が存在するか否かを確認する。空き領域がある場合には、データ挿入部24で、新規データを挿入して、挿入レベル更新部25で挿入があった範囲の挿入レベル配列「IL」を更新する。空き領域が無い場合は、VNo,VL作り変え部23でVNo, VLの作り変えを行い、併せて挿入レベル配列「IL」も作り変える。
また、空きサイズ調整部30は、FAST構造データの空き領域を定期的に調整する。これに伴い、空きサイズ調整部30は、挿入レベル配列「IL」も作り変える。なお、空きサイズ調整部30は、必要に応じて上記データ挿入処理部21と協働して作動し、上述した新規データの挿入時にも、FAST構造データの空き領域を定期的に調整する。
次に、上述したデータ管理システム1の構成の具体例とその動作を、図4乃至図13を参照して説明する。以下では、特に、<1.表形式データからFAST構造データへの変換動作>、<2.FAST構造データへの新規データの挿入動作>のうち<2−a.空き領域があるVLへの新規データの挿入動作>及び<2−b.VNo,VL作り変え時の動作>、<3.空き領域のサイズの調整動作>、に分けて説明する。
<1.表形式データからFAST構造データへの変換動作>
ここでは、図7(A)に示す表形式データである「ふりがな」の列を、FAST構造データに変換する場合を一例に挙げて説明する。
まず、本発明に関連する技術では、通常、「ふりがな」列をFAST構造に変換すると、図8(A)に示す形式となる。この例では、「VL」には、「ふりがな」列データの重複を排除し、ソートされたデータが格納されている。また、「VNo」には、各レコードの「ふりがな」列にどのデータが入っているか分かるように、「VL」のデータの格納先配列番号が格納されている。
これに対して、本発明におけるデータベース管理装置1のデータ変換部11は、「VL」を作成する際に、当該「VL」を構成する各データ間に、空き領域を入れてデータを格納する。この処理の具体例を、図4のフローチャート及び図8(B)を参照して説明する。
まず、図7(A)に示す表形式データでは、「ふりがな」列の重複排除したデータの数は、番号2,4の「たかはし」が重複しているため、図8(A)に示すように全部で「9」となる。ここで、空き領域の数(サイズ)「S」を「3」とした場合には、「9×(3 + 1) + 3 = 39」になり、「VL」の配列のサイズは、「39」となる。このように、「VL」の配列領域を確保する(図4のステップS1)。
次に、図8(A)に示すようにソートされた「ふりがな」データ9個を、図8(B)に示すように、各データ間に空き領域が3個、さらに、データの両端に空き領域がそれぞれ3個入るよう、配列番号3, 7, 11, 15, 19, 23, 27, 31, 35に順に格納する(図4のステップS2)。このとき、要素が何も入っていない箇所である空き領域には、空きを示す「NULL」を入れる(図4のステップS3)。なお、空き領域には「NULL」を入れることに限定されず、空きを示す特別な値など、他の値を入れても構わない。
その後、データ変換部11は、図8(B)に示すように、「VL」とは別の新たな配列「IL」(Insert Level)を、「VL」のサイズと同じサイズ「39」で作成する(図4のステップS4)。そして、各要素すべてに「0」を格納する(図4のステップS5)。このIL配列は、対応するデータの範囲内に対する新規データの挿入度合い(挿入状況情報)を記録するための配列である。そして、後述するように、この「挿入度合い」から判断されるデータ間の「挿入レベル」に応じて、「VL」のデータ間の空きサイズが調整されることとなる。
<2.FAST構造データへの新規データの挿入動作>
次に、FAST構造データに、新規データを挿入するときの動作を、図5のフローチャート、図6のシーケンス図、図9乃至図11を参照して説明する。まず、上述したように作成した図8(B)に示すFAST構造データの「ふりがな」列に、新規データ「しみず」を挿入する例、つまり、空き領域がある「VL」への新規データの挿入動作を説明する。
<2−a.空き領域があるVLへの新規データの挿入動作>
図8(B)に示すFAST構造データの「VL」において、「しみず」がどの範囲にあるかスキャンする(図5のステップS11,図6のステップS21)。配列のスキャン方法は、二分探索で行うことが可能である。すると、「しみず」は、「VL」にはまだ存在せず(図5のステップS12:No)、「さとう」と「すずき」の間にあることが分かる。さらに、図8(B)に示すように、「さとう」と「すずき」の真ん中の配列番号25の要素は「NULL」で空いているため(図5のステップS13:Yes、図6のステップS22)、図9に斜線で示すように、その空き領域に「しみず」を挿入する(図5のステップS15、図6のステップS23,S24)。
その後、新規データを挿入した範囲に位置する「IL」配列の要素の値である「挿入度合い」を「1」増やす。ここでは、「さとう」と「すずき」の間に「しみず」を挿入したため、図9の斜線で示すように、「さとう」と「すずき」の間の範囲に位置する「IL」配列の全ての要素の値を、「0」から「1」にする(図5のステップS16、図6のステップS25,S26)。
そして最後に、「VNo」の一番最後に、「VL」の「しみず」を指し示すように要素「25」を追加する(図5のステップS17)(図9の斜線を参考)。なお、新規データが挿入される範囲内の空きが偶数の場合、挿入する箇所として決定する真ん中の場所は、配列番号の小さい方とする。例えば、「すずき」が要素「27」ではなく、「26」だった場合、「しみず」が入る場所は「24」か「25」の2通り考えられるが、小さい方の「24」に入れるとする。
以上の処理により、図8(B)に示すFAST構造データに新規データである「しみず」が挿入されると、FAST構造データの「VNo」、「VL」は、図9に示すようになる。なお、新規データである「しみず」が、FAST構造データ内のどの範囲にあるかスキャンした結果(図5のステップS11)、既に同じデータが入っていた場合には(図5のステップS12:Yes)、「VL」へのデータ挿入は行わない。
次に、新規データを挿入する箇所に空きがない場合を考える。まず、FAST構造データが図9の場合であり、さらに「しもやなぎ」、「しょうない」の新規データを挿入することを考える。図9において、「しもやなぎ」は、「しみず」と「すずき」の間にあり、その真ん中の配列番号26の要素が「NULL」で空いているため、挿入可能と判断して、図10に示すように挿入する。続いて、「しょうない」は、「しもやなぎ」と「すずき」の間に位置するが、その間には「ULL」の空きが無い。この場合、下記のように、VNo,VLの作り変えを行う。
<2−b.VNo,VL作り変え時の動作>
VNo,VL作り変え処理では、上述したデータ変換部11にて、表形式データをFAST構造データに変換したときと同様に、「VL」の各データの間に空きを入れるようにする(図6のステップS27,S28)。ただし、配列「IL」から判定される「挿入レベル」に応じて、データの範囲ごとに空き領域のサイズ(個数)を変えるようにする。具体的には、新たな空きサイズを、(S + (挿入レベルに応じた個数))、とする。データの範囲の挿入レベルが高ければ高いほど、その後もその範囲にデータが挿入される可能性が高いと推測されるため、空きサイズを大きく取るようにする。
ここで、「VL」の各データ間に対応する「IL」配列に基づく「挿入レベル」の判定方法を、図13を参照して説明する。図13(A),(B),(C)の各パターンでは、「VL」の範囲内の空き領域(NULL)に設定されている「IL」要素の値である「挿入度合い」が、すべて一致する場合にはその値に対応する「挿入レベル」となり、すべてが一致しない場合には、低い値の「挿入レベル」となる。これらの例では、「VL」のデータ「156」から「162」の範囲の「挿入レベル」は、それぞれ、(A):レベル1、(B):レベル0、(C):レベル0となる。また、図13(D),(E)のパターンのように、「VL」範囲内に空きがない場合は、隣あったデータの「IL」要素の値を比較し、同値ならその値、異なるなら小さい方の値が「挿入レベル」となる。よって、これらの例では、(D):レベル1、(E):レベル0となる。
次に、上述したVNo,VL作り変え処理の一例を、図11を参照して説明する。ここでは、図11(A)のFAST構造データに対して、新規データ「さとう」を挿入することとする。すると、「さとう」は、「きむら」から「たかはし」の範囲にあるが、その間に空きがないため、VNo,VLの作り変えを行う。
具体的に、VNo,VLの作り変え処理は、まず、「VL」のデータ間に、当該データ間に対応する「挿入レベル」の値に応じて、いくつかの新たな空き領域を挿入して行う。ここでは、一例として、データ間に、「元の空き領域数+(挿入レベル×3)」個の空き領域を新たに挿入している。つまり、挿入レベルが高ければ高いほど、その範囲に多くの空き領域が挿入される。但し、挿入する空き領域の数は、上述した数であることに限定されない。
例えば、図11(A)において「IL」に基づく「挿入レベル」が「0」ではない斜線で示す範囲については、図11(B)の斜線で示す「NULL」の空き領域が追加されている。特に、「きむら」と「たかはし」の間には、「挿入レベル=2」に相当する6個の空き領域「NULL」が追加される。そして、「きむら」と「たかはし」の間に追加された空き領域に、「さとう」が挿入される。これに伴い、「さとう」が挿入された「きむら」から「たかはし」の範囲は、図11(B)の斜線に示すように、「IL」の値である「挿入度合い」が、「1」加算され、「3」となる。
<3.空き領域のサイズの調整動作>
ここで、新規データの挿入があまり起こっていない範囲、つまり、「挿入レベル」が低い範囲は、そのままだと長い間データが挿入されず利用されないまま、初期の空き領域のサイズ分のメモリ量を消費することになる。これの対策として、「挿入レベル」が低い範囲の空き領域を、空きサイズ調整部30で定期的に調整する処理を行う。また、このとき、上述したVNo,VLの作り変えで行った「挿入レベル」に応じて空き領域を広げる処理も行う。なお、この処理は、データベースのシステム負荷が低いとき(例えば、夜間)を見計らい、定期的に自動で実行されるものとする。
空き領域のサイズの調整では、上述したVNo,VLの作り変え処理に加えて、以下の処理を行う。
まず、「挿入レベル」が「0」の範囲は、空き領域のサイズつまり空き領域の個数Sを、「S/2(小数点以下切り捨て)」にする。ただし、後に新規データの挿入が起こることもあり、その際に空き領域のサイズが「0」であるということが無いように、最低空き領域サイズは「1」とする。例えば、図12(A)の斜線で示す「挿入レベル」が「0」の範囲の空き領域が「3」個ある場合には、図12(B)の網掛けで示すように、空き領域が「1」個(3/2:小数点以下切り捨て)となる。
これに加え、「挿入レベル」が「0」より大きい範囲については、上述同様に、図12(B)に示すように、「挿入レベル」の値に応じた個数の空き領域「NULL」を挿入する。
以上のようにして、VNo,VLの作り変えを行った後に、図12(B)の斜線に示すように、各「IL」の「挿入度合い」をそれぞれ「1」下げる。このとき、「挿入度合い」が「0」の箇所は、「0」のままとする。
なお、実際のデータベースの運用では、使用可能なリソースが限られている。空きサイズを余分に取るVNo,VLの作り変えや空きサイズの調整により、必要メモリ使用量が使用可能なリソース限度を超えないよう、配列サイズに最大値を設定してもよい。この場合、配列サイズが最大値を超えたら、空きサイズの調整を複数回行って配列サイズを縮めるようにするという運用も可能である。また、上記では、「挿入レベル」が「0」の範囲の空き領域を小さくする場合を説明したが、「挿入レベル」が「0」よりも大きい範囲においても、空き領域を小さくしてもよい。その場合には、「挿入レベル」が低いほど後に新規データが挿入される可能性も低くなるため、「挿入レベル」が低いほど空き領域の大きさ(個数)が小さく(少なく)なるよう調整してもよい。
なお、上述した空きサイズ調整部30に、調整を非同期実行するためのコマンドまたはAPI I/Fを用意し、それをユーザ2またはユーザが利用するクライアント3から都合がいいタイミングで実行できるようにすることも可能である。これにより、データベースの運用者が、調整を明示的なタイミングで行うことができる。
以上のように、本発明によると、VNo,VLの作り変え回数が減少することにより、当該作り変えにかかる時間を抑制でき、その結果、装置の性能向上を図ることができる。特に、本発明は、ソートされた列データに、ランダムかつ一様に新規データが挿入されるような列に対して有益である。
なお、上記では、新規データの挿入操作について説明したが、データの更新処理についても本発明は適用可能である。例えば、これまでのシステムでは、「VL」に無い新しいデータで上書きすると、新しいデータの挿入処理と同様の処理を行うことになり、VNo,VLの作り変えが必要となる。この場合であっても、本発明の手法により、作り変え発生回数の軽減が可能である。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるデータ処理装置(図14参照)、プログラム、データ処理方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
表形式データを列ごとの成分に分解した列形式データに変換する形式変換部101と、
前記列形式データに対する操作を行うデータ操作部102と、を備え、
前記形式変換部101は、前記表形式データを前記列形式データに変換する際に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
前記データ操作部102は、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
データ処理装置100。
上記発明によると、まず、表形式データを列形式データに変換する際に、列形式データを構成する各データ間に予め空き領域を形成して列形式のデータを生成する。そして、列形式データを操作して当該列形式データを構成する各データの間に他のデータを挿入する際には、上述したように形成された空き領域に他のデータを挿入する。これにより、列形式データに対して他のデータを挿入した際に、その順序の更新を行うことがないため、更新かかる時間を抑制して、データ処理装置の性能の向上を図ることができる。
(付記2)
付記1に記載のデータ処理装置であって、
前記データ操作部は、前記列形式データを形成する各データ間毎に、当該各データ間に対する前記他のデータの挿入状況を表す挿入状況情報を記憶して管理する、
データ処理装置。
(付記3)
付記2に記載のデータ処理装置であって、
前記挿入状況情報に応じて、前記列形式データを形成する各データ間に形成している空き領域の大きさを変化させる空き領域調整部を備えた、
データ処理装置。
(付記4)
付記3に記載のデータ処理装置であって、
前記データ操作部は、前記挿入状況情報として、前記列形式データを形成する各データ間に対する前記他のデータの挿入度合いを管理し、
前記空き領域調整部は、前記挿入度合いが高いほど、対応する各データ間に形成している空き領域の大きさが大きくなるよう変化させる、
データ処理装置。
(付記5)
付記3又は4に記載のデータ処理装置であって、
前記データ操作部は、前記挿入状況情報として、前記列形式データを形成する各データ間に対する前記他のデータの挿入度合いを管理し、
前記空き領域調整部は、前記挿入度合いが低いほど、対応する各データ間に形成している空き領域の大きさが小さくなるよう変化させる、
データ処理装置。
(付記6)
付記4又は5に記載のデータ処理装置であって、
前記データ操作部は、前記空き領域調整部にて空き領域の大きさを変化させた各データ間に対する前記挿入度合いを変化させて設定する、
データ処理装置。
このように、過去のデータの挿入状況に応じて空き領域の大きさを変化させることにより、その後のデータの挿入に対して適切に対応することができる。その結果、他のデータを挿入することによる列形式データの順序の更新が必要となることをさらに抑制できると共に、容量の節約を図ることができ、データ処理装置の性能のさらなる向上を図ることができる。
(付記7)
付記1乃至6のいずれかに記載のデータ処理装置であって、
前記形式変換部は、前記列形式データを構成する各データのうち、先頭と後端とに位置する各データの両端に、それぞれ空き領域を形成する、
データ処理装置。
(付記8)
付記1乃至7のいずれかに記載のデータ処理装置であって、
前記形式変換部は、表形式データを、列ごとに、前記データである値、順序、位置、の成分に分解したFAST(Filter Array Structure)構造の列形式データに変換する、
データ処理装置。
(付記9)
情報処理装置に、
表形式データを列ごとの成分に分解した列形式データに変換する形式変換部と、
前記列形式データに対する操作を行うデータ操作部と、
を実現させるプログラムであって、
前記形式変換部は、前記表形式データを前記列形式データに変換する際に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
前記データ操作部は、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
プログラム。
(付記9.1)
付記9に記載のプログラムであって、
前記データ操作部は、前記列形式データを形成する各データ間毎に、当該各データ間に対する前記他のデータの挿入状況を表す挿入状況情報を記憶して管理する、
プログラム。
(付記9.2)
付記9.1に記載のプログラムであって、
前記情報処理装置に、さらに、
前記挿入状況情報に応じて、前記列形式データを形成する各データ間に形成している空き領域の大きさを変化させる空き領域調整部、
を実現させるためのプログラム。
(付記10)
表形式データを列ごとの成分に分解した列形式データに変換し、
前記列形式データに対する操作を行う、データ処理方法であって、
前記表形式データを前記列形式データに変換する際に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
データ処理方法。
(付記10.1)
付記10に記載のデータ処理方法であって、
前記列形式データを構成する各データ間に他のデータを挿入する際に、前記列形式データを形成する各データ間毎に、当該各データ間に対する前記他のデータの挿入状況を表す挿入状況情報を記憶して管理する、
データ処理方法。
(付記10.2)
付記10.1に記載のデータ処理方法であって、
前記挿入状況情報に応じて、前記列形式データを形成する各データ間に形成している空き領域の大きさを変化させる、
データ処理方法。
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
1 データベース管理システム
2 ユーザ
3 クライアント
10 インポート部
11 データ変換部
20 データベース操作部
21 データ挿入処理部
22 データ挿入確認部
23 VNo,VL作り変え部
24 データ挿入部
25 挿入レベル更新部
30 空きサイズ調整部
40 データベース
D1 表形式データ
D2 FAST構造データ
100 データ処理装置
101 形式変換部
102 データ操作部

Claims (9)

  1. 表形式データを列ごとの成分に分解した列形式データに変換する形式変換部と、
    前記列形式データに対する操作を行うデータ操作部と、を備え、
    前記形式変換部は、前記表形式データを前記列形式データに変換する際に、前記表形式データを、列ごとに、データの値、順序、位置、の成分に分解したFAST(Filter Array Structure)構造の列形式データに変換すると共に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
    前記データ操作部は、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
    データ処理装置。
  2. 請求項1に記載のデータ処理装置であって、
    前記データ操作部は、前記列形式データを形成する各データ間毎に、当該各データ間に対する前記他のデータの挿入状況を表す挿入状況情報を記憶して管理する、
    データ処理装置。
  3. 請求項2に記載のデータ処理装置であって、
    前記挿入状況情報に応じて、前記列形式データを形成する各データ間に形成している空き領域の大きさを変化させる空き領域調整部を備えた、
    データ処理装置。
  4. 請求項3に記載のデータ処理装置であって、
    前記データ操作部は、前記挿入状況情報として、前記列形式データを形成する各データ間に対する前記他のデータの挿入度合いを管理し、
    前記空き領域調整部は、前記挿入度合いが高いほど、対応する各データ間に形成している空き領域の大きさが大きくなるよう変化させる、
    データ処理装置。
  5. 請求項3又は4に記載のデータ処理装置であって、
    前記データ操作部は、前記挿入状況情報として、前記列形式データを形成する各データ間に対する前記他のデータの挿入度合いを管理し、
    前記空き領域調整部は、前記挿入度合いが低いほど、対応する各データ間に形成している空き領域の大きさが小さくなるよう変化させる、
    データ処理装置。
  6. 請求項4又は5に記載のデータ処理装置であって、
    前記データ操作部は、前記空き領域調整部にて空き領域の大きさを変化させた各データ間に対する前記挿入度合いを変化させて設定する、
    データ処理装置。
  7. 請求項1乃至6のいずれかに記載のデータ処理装置であって、
    前記形式変換部は、前記列形式データを構成する各データのうち、先頭に位置するデータの前と後端に位置するデータの後ろとに、それぞれ空き領域を形成する、
    データ処理装置。
  8. 情報処理装置に、
    表形式データを列ごとの成分に分解した列形式データに変換する形式変換部と、
    前記列形式データに対する操作を行うデータ操作部と、
    を実現させるプログラムであって、
    前記形式変換部は、前記表形式データを前記列形式データに変換する際に、前記表形式データを、列ごとに、データの値、順序、位置、の成分に分解したFAST(Filter Array Structure)構造の列形式データに変換すると共に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
    前記データ操作部は、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
    プログラム。
  9. 情報処理装置が、表形式データを列ごとの成分に分解した列形式データに変換し、
    前記情報処理装置が、前記列形式データに対する操作を行う、データ処理方法であって、
    前記情報処理装置が、前記表形式データを前記列形式データに変換する際に、前記表形式データを、列ごとに、データの値、順序、位置、の成分に分解したFAST(Filter Array Structure)構造の列形式データに変換すると共に、当該列形式データを構成する各データの間に空き領域を形成して、当該列形式データに変換し、
    前記情報処理装置が、前記列形式データを構成する各データ間に他のデータを挿入する際に、当該各データ間に形成された前記空き領域に前記他のデータを挿入する、
    データ処理方法。
JP2014055852A 2014-03-19 2014-03-19 データ処理装置 Active JP6295754B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014055852A JP6295754B2 (ja) 2014-03-19 2014-03-19 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014055852A JP6295754B2 (ja) 2014-03-19 2014-03-19 データ処理装置

Publications (2)

Publication Number Publication Date
JP2015179353A JP2015179353A (ja) 2015-10-08
JP6295754B2 true JP6295754B2 (ja) 2018-03-20

Family

ID=54263367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014055852A Active JP6295754B2 (ja) 2014-03-19 2014-03-19 データ処理装置

Country Status (1)

Country Link
JP (1) JP6295754B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018051424A1 (ja) * 2016-09-14 2018-03-22 株式会社日立製作所 サーバ計算機および計算機制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4206586B2 (ja) * 1999-11-12 2009-01-14 株式会社日立製作所 データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体
JP4559971B2 (ja) * 2004-01-29 2010-10-13 株式会社ターボデータラボラトリー 分散メモリ型情報処理システム
JP5010958B2 (ja) * 2007-03-30 2012-08-29 株式会社富士通ビー・エス・シー データ管理方法、プログラム及び装置
JP2011203899A (ja) * 2010-03-25 2011-10-13 Fujitsu Broad Solution & Consulting Inc データ処理プログラム、データ処理装置およびデータ処理方法

Also Published As

Publication number Publication date
JP2015179353A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
EP3079078B1 (en) Multi-version concurrency control method in database, and database system
JP5774742B2 (ja) データ重複除去方法及び装置
US11868315B2 (en) Method for splitting region in distributed database, region node, and system
US8682941B2 (en) Database apparatus
CN105989076A (zh) 一种数据统计方法以及装置
JP5799812B2 (ja) データ配置・計算システム、データ配置・計算方法、マスタ装置、及びデータ配置方法
US20040019737A1 (en) Multiple-RAM CAM device and method therefor
JP7050133B2 (ja) ブロックチェーンのデータ記憶方法、装置、電子機器及び媒体
JP6295754B2 (ja) データ処理装置
WO2018090249A1 (en) Log-structured storage method and server
JP5790755B2 (ja) データベース管理装置及びデータベース管理方法
CN105117169B (zh) 一种优化的磁盘空间管理的方法及装置
JP6189266B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP2018180688A (ja) 更新処理プログラム、装置、及び方法
US20130328903A1 (en) Efficient cache preloading
EP3588319B1 (en) Memory module
CN110658999B (zh) 一种信息更新方法、装置、设备及计算机可读存储介质
CN112463741A (zh) 一种聚合大文件的清理方法及相关设备
JP2018032079A (ja) データ分配プログラム、データ分配方法、およびデータ分配装置
CN111427851A (zh) 一种hdfs跨外部存储系统多层级存储效率优化的方法和设备
JP5222171B2 (ja) データベース管理方法およびデータベース管理システム
JP2009199384A (ja) データ処理装置
JP2008065716A (ja) データ管理装置、データ管理方法及びデータ管理プログラム
CN111143324B (zh) 一种kudu的基于大小的数据库数据均衡系统及实现方法
JP6161395B2 (ja) 演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180205

R150 Certificate of patent or registration of utility model

Ref document number: 6295754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150