JP2016539417A - 列指向データベース処理方法および処理デバイス - Google Patents
列指向データベース処理方法および処理デバイス Download PDFInfo
- Publication number
- JP2016539417A JP2016539417A JP2016529436A JP2016529436A JP2016539417A JP 2016539417 A JP2016539417 A JP 2016539417A JP 2016529436 A JP2016529436 A JP 2016529436A JP 2016529436 A JP2016529436 A JP 2016529436A JP 2016539417 A JP2016539417 A JP 2016539417A
- Authority
- JP
- Japan
- Prior art keywords
- marker
- column
- query
- row
- bitmap
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 title claims description 81
- 239000003550 marker Substances 0.000 claims abstract description 906
- 238000000034 method Methods 0.000 claims abstract description 116
- 230000008859 change Effects 0.000 claims description 192
- 230000008569 process Effects 0.000 claims description 62
- 238000012508 change request Methods 0.000 claims description 56
- 238000012217 deletion Methods 0.000 claims description 33
- 230000037430 deletion Effects 0.000 claims description 33
- 238000003780 insertion Methods 0.000 claims description 29
- 230000037431 insertion Effects 0.000 claims description 29
- 238000013500 data storage Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000007792 addition Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24557—Efficient disk access during query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
1.TABLE1を走査し、更新条件F3 < 20を満たすエントリの行番号を記録する。
2.その行番号に排他的ロックを付加し、それによって、その行番号に対応するエントリは他のsessionによって変更されることが可能でない。
3.その行番号に対応するエントリの全てのフィールドを読み取り、F2の値を10に変え、そして全てのフィールドを一緒にして行エントリを形成する。
4.行領域内の行エントリを記憶し、現在のデータ更新が完了した後に、行番号の排他的ロックを解放する。
1.TABLE1の列領域を走査し、問い合わせ条件F3 < 20を満たすエントリの行番号を記録する。
2.上記の記録された行番号が変更されたかどうかを判定し、記録された行番号が変更されていないならば、ステップ3へ進んで列領域内のF2の値を読み取り、記録された行番号が変更されたならば、ステップ3を実行することに加えて、ステップ4へ進んで行領域内の変更後の新しいエントリを読み取る必要がある。
3.行領域において、エントリの最新のバージョンがsessionにおいて変更されたバージョンであるかどうかを判定し、変更されたバージョンであるならば最新のバージョンを返信し、変更されたバージョンでないならば前にサブミットされたバージョンを返信する。
4.列領域を走査することが完了した後に、新しく追加されたデータについて行領域を走査し、いずれかの新しく追加されたデータが問い合わせ条件F3 < 20を満たすかどうかを判定し、問い合わせ条件F3 < 20を満たす新しく追加されたデータがあるならば、F2の値を出力する。
アプリケーションプログラムによって送信される問い合わせ要求を受信するように構成されるインタフェースモジュールを含む処理デバイスを提供し、ここで、問い合わせ要求は列指向データベースについての問い合わせ条件を含み、インタフェースモジュールは、問い合わせ要求を問い合わせモジュールに送信するように構成され、ここで、列指向データベースはマーカー列および1つより多くのデータ列を含み、データ列は列記憶の形態で特定のデータを記憶するために使用され、マーカー列内の各行のマーカービットの値はマーカービットと同じ行内に位置するデータの有効性を示すために使用され、
処理デバイスは、マーカー列および問い合わせ条件に従って1つより多くのデータ列を問い合わせして、問い合わせ条件およびマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得し、問い合わせ結果をインタフェースモジュールに送信するように構成される問い合わせモジュールを含み、
インタフェースモジュールは、問い合わせモジュールによって送信される問い合わせ結果を受信し、問い合わせ結果をアプリケーションプログラムに送信するようにさらに構成される。
マーカー列および条件付きビットマップに従って問い合わせビットマップを生成するステップであって、マーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、またはマーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効である、ステップと、問い合わせビットマップに従って、問い合わせ条件およびマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとは、具体的には、一時記憶領域において、他のまたは記憶された共有されたマーカー列のバージョン番号と問い合わせ要求の間の対応に従って、問い合わせ要求に対応する共有されたマーカー列を判定し、条件付きビットマップおよび問い合わせ要求に対応する共有されたマーカー列に従って問い合わせビットマップを生成するステップであって、問い合わせ要求に対応する共有されたマーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、または問い合わせ要求に対応する共有されたマーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効である、ステップと、問い合わせビットマップに従って、問い合わせ条件および問い合わせ要求に対応するマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとである。
アプリケーションプログラムによって送信される問い合わせ要求を受信し、問い合わせ要求を問い合わせモジュールに送信するように構成されるインタフェースモジュール41であって、問い合わせ要求は列指向データベースについての問い合わせ条件を含み、列指向データベースはマーカー列および1つより多くのデータ列を含み、データ列は列記憶の形態で特定のデータを記憶するために使用され、マーカー列内の各行のマーカービットの値はマーカービットと同じ行内に位置するデータの有効性を示すために使用される、インタフェースモジュール41と、
マーカー列および問い合わせ条件に従って1つより多くのデータ列を問い合わせして、問い合わせ条件およびマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得し、問い合わせ結果をインタフェースモジュールに送信するように構成される問い合わせモジュール42と、を含み、
インタフェースモジュール41は、問い合わせモジュールによって送信される問い合わせ結果を受信し、問い合わせ結果をアプリケーションプログラムに送信するようにさらに構成される。
判定ユニット424は、トランザクションがサブミットされるときマーカー列に行われるべき変更が存在すると判定するように構成され、ここで、トランザクションは問い合わせ要求が位置するトランザクションであり、判定ユニット424は、一時記憶領域内にマーカー列を記憶し、記憶されたマーカー列を問い合わせ要求のプライベート・マーカー列として使用し、トランザクションがサブミットされるときマーカー列に行われるべき変更に従ってプライベート・マーカー列を更新するように構成され、それによって、更新されたプライベート・マーカー列内の変更されたマーカービットの値は、トランザクションにおける現在のマーカービットに対応するデータの有効性を示し、
第2の生成ユニット422は、具体的には、更新されたプライベート・マーカー列および条件付きビットマップに従って問い合わせビットマップを生成するように構成され、ここで、更新されたプライベート・マーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、または更新されたプライベート・マーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効であり、
獲得ユニット423は、具体的には、問い合わせビットマップに従って、問い合わせ条件および更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される。
第2の生成ユニット422は、具体的には、更新されたプライベート・マーカー列および条件付きビットマップに従って問い合わせビットマップを生成するように構成され、ここで、更新されたプライベート・マーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、または更新されたプライベート・マーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効であり、
獲得ユニット423は、具体的には、問い合わせビットマップに従って、問い合わせ条件および更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される。
インタフェースモジュール41は、トランザクションにおいて、アプリケーションプログラムによって送信される変更要求を受信し、変更要求を変更モジュールに送信するようにさらに構成され、ここで、変更要求は変更条件を含み、
変更モジュール43は、インタフェースモジュールによって送信される変更要求を受信し、変更条件に従ってマーカー列および1つより多くのデータ列に変更処理を適用するように構成され、
記録モジュール44は、トランザクションがサブミットされるときマーカー列に行われるべき変更を記録するように構成され、
サブミットモジュール45は、トランザクションがサブミットされるときマーカー列に行われるべき記録された変更に従って、トランザクションがサブミットされるとき、マーカー列に、対応する変更を行うように構成され、それによって、変更されたマーカー列内の各行のマーカービットの値は、変更処理の後にマーカービットと同じ行内に位置するデータの有効性を示す。
記録モジュール44は、具体的には、トランザクションがサブミットされるときに更新条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があるとともに新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される。
記録モジュール44は、具体的には、トランザクションがサブミットされるときに新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される。
記録モジュール44は、トランザクションがサブミットされるときに削除条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があること、を示す記録を追加するように構成される。
インタフェースモジュール61は、トランザクションにおいて、アプリケーションプログラムによって送信される変更要求を受信するように構成され、ここで、変更要求は列指向データベースについての変更条件を含み、インタフェースモジュール61は、変更要求を変更モジュールに送信するように構成され、ここで、列指向データベースはマーカー列および1つより多くのデータ列を含み、データ列は列記憶の形態で特定のデータを記憶するために使用され、マーカー列内の各行のマーカービットの値はマーカービットと同じ行内に位置するデータの有効性を示すために使用され、
変更モジュール62は、変更条件に従ってマーカー列および1つより多くのデータ列に変更処理を適用するように構成され、
記録モジュール63は、トランザクションがサブミットされるときマーカー列に行われるべき変更を記録するように構成され、
サブミットモジュール64は、トランザクションがサブミットされるときマーカー列に行われるべき記録された変更に従って、トランザクションがサブミットされるとき、マーカー列に、対応する変更を行うように構成され、それによって、変更されたマーカー列内の各行のマーカービットの値は、変更処理の後にマーカービットと同じ行内に位置するデータの有効性を示し、
インタフェースモジュール61は、変更応答をアプリケーションプログラムに送信するようにさらに構成される。
記録モジュール63は、具体的には、トランザクションがサブミットされるときに更新条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があるとともに新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される。
記録モジュール63は、具体的には、トランザクションがサブミットされるときに新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される。
記録モジュール63は、トランザクションがサブミットされるときに削除条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があること、を示す記録を追加するように構成される。
第1の生成ユニット651は、問い合わせ条件に従って、問い合わせ条件において関与するデータ列を走査し、条件付きビットマップを生成するように構成され、ここで、関与するデータ列内のある行が問い合わせ条件を満たし、条件付きビットマップ内の対応する行は有効な値が割り当てられ、関与するデータ列内のある行が問い合わせ条件を満たさず、条件付きビットマップ内の対応する行は無効な値が割り当てられ、
第2の生成ユニット652は、マーカー列および条件付きビットマップに従って問い合わせビットマップを生成するように構成され、ここで、マーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、またはマーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効であり、
獲得ユニット653は、問い合わせビットマップに従って、問い合わせ条件およびマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される。
第2の生成ユニット652は、具体的には、更新されたプライベート・マーカー列および条件付きビットマップに従って問い合わせビットマップを生成するように構成され、ここで、更新されたプライベート・マーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、または更新されたプライベート・マーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効であり、
獲得ユニット653は、具体的には、問い合わせビットマップに従って、問い合わせ条件および更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される。
第2の生成ユニットは、具体的には、一時記憶領域において、他のまたは記憶された共有されたマーカー列のバージョン番号と問い合わせ要求の間の対応に従って、問い合わせ要求に対応する共有されたマーカー列を判定し、条件付きビットマップおよび問い合わせ要求に対応する共有されたマーカー列に従って問い合わせビットマップを生成するように構成され、ここで、問い合わせ要求に対応する共有されたマーカー列および条件付きビットマップの両方における同じ行の値が有効な値であるとき、問い合わせビットマップ内の同じ行の値は有効であり、または問い合わせ要求に対応する共有されたマーカー列内の同じ行の値および条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、問い合わせビットマップ内の同じ行の値は無効であり、
獲得ユニットは、具体的には、問い合わせビットマップに従って、問い合わせ条件および問い合わせ要求に対応する共有されたマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される。
トランザクションがサブミットされるときに新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するステップと、を含み得る。
103 通信ネットワーク
104 インタフェースモジュール
105 列指向データベース
106 問い合わせモジュール
108 記憶エンジン
202 アプリケーションプログラム
204 インタフェースモジュール
205 列指向データベース
206 変更モジュール
207 記録モジュール
208 サブミットモジュール
210 記憶エンジン
300 処理デバイス
302 プロセッサ
304 メモリ
306 入力および出力インタフェース
308 通信インタフェース
310 バス
41 インタフェースモジュール
42 問い合わせモジュール
421 第1の生成ユニット
422 第2の生成ユニット
423 獲得ユニット
424 判定ユニット
425 ロック処理ユニット
43 変更モジュール
431 更新ユニット
432 行番号処理ユニット
433 挿入ユニット
434 削除ユニット
44 記録モジュール
45 サブミットモジュール
61 インタフェースモジュール
62 変更モジュール
621 更新ユニット
622 行番号処理ユニット
623 挿入ユニット
624 削除ユニット
63 記録モジュール
64 サブミットモジュール
65 問い合わせモジュール
651 第1の生成ユニット
652 第2の生成ユニット
653 獲得ユニット
654 判定ユニット
655 ロック処理ユニット
Claims (41)
- 処理デバイスであって、
アプリケーションプログラムによって送信される問い合わせ要求を受信するように構成されるインタフェースモジュールを含み、前記問い合わせ要求は列指向データベースについての問い合わせ条件を含み、前記インタフェースモジュールは、前記問い合わせ要求を問い合わせモジュールに送信するように構成され、前記列指向データベースはマーカー列および1つより多くのデータ列を含み、前記データ列は列記憶の形態で特定のデータを記憶するために使用され、前記マーカー列内の各行のマーカービットの値は前記マーカービットと同じ行内に位置するデータの有効性を示すために使用され、
前記処理デバイスは、前記マーカー列および前記問い合わせ条件に従って前記1つより多くのデータ列を問い合わせして、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得し、前記問い合わせ結果を前記インタフェースモジュールに送信するように構成される前記問い合わせモジュールを含み、
前記インタフェースモジュールは、前記問い合わせモジュールによって送信される問い合わせ結果を受信し、前記問い合わせ結果を前記アプリケーションプログラムに送信するようにさらに構成される、処理デバイス。 - 前記問い合わせモジュールは、第1の生成ユニット、第2の生成ユニット、および獲得ユニットを含み、
前記第1の生成ユニットは、前記問い合わせ条件に従って前記問い合わせ条件において関与するデータ列を走査し、条件付きビットマップを生成するように構成され、前記関与するデータ列内のある行が前記問い合わせ条件を満たすならば、前記条件付きビットマップ内の対応する行は有効な値が割り当てられ、前記関与するデータ列内のある行が前記問い合わせ条件を満たさないならば、前記条件付きビットマップ内の対応する行は無効な値が割り当てられ、
前記第2の生成ユニットは、前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するように構成され、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効であり、
前記獲得ユニットは、前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される、請求項1に記載の処理デバイス。 - 前記第2の生成ユニットは、具体的には、前記マーカー列がビットマップであるとき、前記マーカー列および前記条件付きビットマップにAND演算を行って前記問い合わせビットマップを生成するように構成され、前記マーカー列内のマーカービットの値、前記条件付きビットマップ内の各行の値、および前記問い合わせビットマップ内の各行の値は、0または1である、請求項2に記載の処理デバイス。
- 前記問い合わせモジュールは判定ユニットをさらに含み、
前記判定ユニットは、トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在すると判定するように構成され、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記判定ユニットは、一時記憶領域内に前記マーカー列を記憶し、前記記憶されたマーカー列を前記問い合わせ要求のプライベート・マーカー列として使用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更に従って前記プライベート・マーカー列を更新するように構成され、それによって、前記更新されたプライベート・マーカー列内の変更されたマーカービットの値は、前記トランザクションにおける現在のマーカービットに対応するデータの有効性を示し、
前記第2の生成ユニットは、具体的には、前記更新されたプライベート・マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するように構成され、前記更新されたプライベート・マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記更新されたプライベート・マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効であり、
前記獲得ユニットは、具体的には、前記問い合わせビットマップに従って、前記問い合わせ条件および前記更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される、請求項2に記載の処理デバイス。 - 前記問い合わせモジュールは判定ユニットをさらに含み、前記判定ユニットは、トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在しないと判定するようにさらに構成され、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記判定ユニットは、一時記憶領域内に共有されたマーカー列が記憶されていないとき、または前記一時記憶領域内に記憶されている共有されたマーカー列のバージョン番号がテーブルヘッダ内のマーカー列のバージョン番号と異なるとき、データ記憶領域内にある前記マーカー列のバージョン番号および前記マーカー列を前記一時記憶領域内に記憶し、前記一時記憶領域内に記憶されたマーカー列を他の共有されたマーカー列として使用し、前記他の共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を確立し、または前記記憶された共有されたマーカー列のバージョン番号が前記テーブルヘッダ内のマーカー列のバージョン番号と同じであるとき、前記記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を確立するようにさらに構成され、
前記第2の生成ユニットは、具体的には、前記一時記憶領域において、前記他のまたは記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応に従って、前記問い合わせ要求に対応する共有されたマーカー列を判定し、前記条件付きビットマップおよび前記問い合わせ要求に対応する共有されたマーカー列に従って問い合わせビットマップを生成するように構成され、前記問い合わせ要求に対応する共有されたマーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記問い合わせ要求に対応するマーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効であり、
前記獲得ユニットは、具体的には、前記問い合わせビットマップに従って、前記問い合わせ条件および前記問い合わせ要求に対応するマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される、請求項2に記載の処理デバイス。 - 前記問い合わせモジュールは、前記マーカー列をコピーする前に前記マーカー列に排他的ロックを付加し、前記マーカー列をコピーした後に前記マーカー列について前記排他的ロックを解放するように構成されるロック処理ユニットをさらに含む、請求項4または5に記載の処理デバイス。
- 変更モジュール、記録モジュール、およびサブミットモジュールをさらに含み、
前記インタフェースモジュールは、トランザクションにおいて、アプリケーションプログラムによって送信される変更要求を受信するようにさらに構成され、前記変更要求は変更条件を含み、前記インタフェースモジュールは、前記変更要求を前記変更モジュールに送信するようにさらに構成され、
前記変更モジュールは、前記インタフェースモジュールによって送信される変更要求を受信し、前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用するように構成され、
前記記録モジュールは、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するように構成され、
前記サブミットモジュールは、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき前記記録された変更に従って、前記トランザクションがサブミットされるとき、前記マーカー列に、対応する変更を行うように構成され、それによって、前記変更されたマーカー列内の各行のマーカービットの値は、前記変更処理の後に前記マーカービットと同じ行内に位置するデータの有効性を示し、
前記インタフェースモジュールは、変更応答を前記アプリケーションプログラムに送信するようにさらに構成される、請求項1に記載の処理デバイス。 - 前記変更モジュールは、前記変更要求が具体的には更新要求であり、前記変更条件が具体的には更新条件であるとき、前記1つより多くのデータ列において前記更新条件を満たすデータについて問い合わせするように構成される更新ユニットを含み、前記更新条件を満たすデータが位置する行のマーカービットの値は有効であり、前記更新ユニットは、前記1つより多くのデータ列および前記マーカー列に新しい行を追加するように構成され、新しい行の数量は前記更新条件において要求される更新されるべき行の数量と同じであり、前記更新ユニットは、前記1つより多くのデータ列内にあり、前記更新条件を満たすデータを保持する行内のデータを前記新しい行にコピーし、前記新しい行のマーカービットの値を無効に設定し、前記更新条件に従って前記新しい行内の更新されるべきデータを変更するように構成され、
前記記録モジュールは、具体的には、前記トランザクションがサブミットされるときに前記更新条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があるとともに前記新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される、請求項7に記載の処理デバイス。 - 前記変更モジュールは、前記列指向データベースが行番号列をさらに含み、各行の行番号が前記行番号列内に記憶されるとき、前記新しい行の行番号を、前記更新条件を満たすデータが位置する行の行番号として設定するように構成される行番号処理ユニットを含む、請求項8に記載の処理デバイス。
- 前記変更モジュールは、前記変更要求が具体的には挿入要求であり、前記変更条件が具体的には挿入条件であるとき、前記挿入条件に従って前記1つより多くのデータ列および前記マーカー列に新しい行を追加するように構成される挿入モジュールを含み、新しい行の数量は前記挿入条件において要求される挿入されるべき行の数量と同じであり、前記挿入モジュールは、データを前記新しい行に追加し、前記新しい行のマーカービットを無効に設定するように構成され、
前記記録モジュールは、具体的には、前記トランザクションがサブミットされるときに前記新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される、請求項7に記載の処理デバイス。 - 前記変更モジュールは、前記変更要求が具体的には削除要求であり、前記変更条件が具体的には削除条件であるとき、前記1つより多くのデータ列において前記削除条件を満たすデータについて問い合わせするように構成される削除ユニットを含み、
前記記録モジュールは、前記トランザクションがサブミットされるときに前記削除条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があること、を示す記録を追加するように構成される、請求項7に記載の処理デバイス。 - 処理デバイスであって、インタフェースモジュール、変更モジュール、記録モジュール、およびサブミットモジュールを含み、
前記インタフェースモジュールは、トランザクションにおいて、アプリケーションプログラムによって送信される変更要求を受信するように構成され、前記変更要求は列指向データベースについての変更条件を含み、前記インタフェースモジュールは、前記変更要求を前記変更モジュールに送信するように構成され、前記列指向データベースはマーカー列および1つより多くのデータ列を含み、前記データ列は列記憶の形態で特定のデータを記憶するために使用され、前記マーカー列内の各行のマーカービットの値は前記マーカービットと同じ行内に位置するデータの有効性を示すために使用され、
前記変更モジュールは、前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用するように構成され、
前記記録モジュールは、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するように構成され、
前記サブミットモジュールは、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき前記記録された変更に従って、前記トランザクションがサブミットされるとき、前記マーカー列に、対応する変更を行うように構成され、それによって、前記変更されたマーカー列内の各行のマーカービットの値は、前記変更処理の後に前記マーカービットと同じ行内に位置するデータの有効性を示す、処理デバイス。 - 前記変更モジュールは、前記変更要求が具体的には更新要求であり、前記変更条件が具体的には更新条件であるとき、前記1つより多くのデータ列において前記更新条件を満たすデータについて問い合わせするように構成される更新ユニットを含み、前記更新条件を満たすデータが位置する行のマーカービットの値は有効であり、前記更新ユニットは、前記1つより多くのデータ列および前記マーカー列に新しい行を追加するように構成され、新しい行の数量は前記更新条件において要求される更新されるべき行の数量と同じであり、前記更新ユニットは、前記1つより多くのデータ列内にあり、前記更新条件を満たすデータを保持する行内のデータを前記新しい行にコピーし、前記新しい行のマーカービットの値を無効に設定し、前記更新条件に従って前記新しい行内の更新されるべきデータを変更するように構成され、
前記記録モジュールは、具体的には、前記トランザクションがサブミットされるときに前記更新条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があるとともに前記新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される、請求項12に記載の処理デバイス。 - 前記変更モジュールは、前記列指向データベースが行番号列をさらに含み、各行の行番号が前記行番号列内に記憶されるとき、前記新しい行の行番号を、前記更新条件を満たすデータが位置する行の行番号として設定するように構成される行番号処理ユニットを含む、請求項13に記載の処理デバイス。
- 前記変更モジュールは、前記変更要求が具体的には挿入要求であり、前記変更条件が具体的には挿入条件であるとき、前記挿入条件に従って前記1つより多くのデータ列および前記マーカー列に新しい行を追加するように構成される挿入ユニットを含み、新しい行の数量は前記挿入条件において要求される挿入されるべき行の数量と同じであり、前記挿入ユニットは、データを前記新しい行に追加し、前記新しい行のマーカービットを無効に設定するように構成され、
前記記録モジュールは、具体的には、前記トランザクションがサブミットされるときに前記新しい行のマーカービットの値が有効に変更される必要があること、を示す記録を追加するように構成される、請求項12に記載の処理デバイス。 - 前記変更モジュールは、前記変更要求が具体的には削除要求であり、前記変更条件が具体的には削除条件であるとき、前記1つより多くのデータ列において前記削除条件を満たすデータについて問い合わせするように構成される削除ユニットを含み、
前記記録モジュールは、前記トランザクションがサブミットされるときに前記削除条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があること、を示す記録を追加するように構成される、請求項11に記載の処理デバイス。 - 問い合わせモジュールをさらに含み、
前記インタフェースモジュールは、アプリケーションプログラムによって送信される問い合わせ要求を受信するようにさらに構成され、前記問い合わせ要求は前記列指向データベースについての問い合わせ条件を含み、前記インタフェースモジュールは、前記問い合わせ要求を前記問い合わせモジュールに送信するようにさらに構成され、
前記問い合わせモジュールは、前記マーカー列および前記問い合わせ条件に従って前記1つより多くのデータ列を問い合わせして、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得し、前記問い合わせ結果を前記インタフェースモジュールに送信するように構成され、
前記インタフェースモジュールは、前記問い合わせモジュールによって送信される問い合わせ結果を受信し、前記問い合わせ結果を前記アプリケーションプログラムに送信するようにさらに構成される、請求項12に記載の処理デバイス。 - 前記問い合わせモジュールは、第1の生成ユニット、第2の生成ユニット、および獲得ユニットを含み、
前記第1の生成ユニットは、前記問い合わせ条件に従って前記問い合わせ条件において関与するデータ列を走査し、条件付きビットマップを生成するように構成され、前記関与するデータ列内のある行が前記問い合わせ条件を満たすならば、前記条件付きビットマップ内の対応する行は有効な値が割り当てられ、前記関与するデータ列内のある行が前記問い合わせ条件を満たさないならば、前記条件付きビットマップ内の対応する行は無効な値が割り当てられ、
前記第2の生成ユニットは、前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するように構成され、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効であり、
前記獲得ユニットは、前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される、請求項17に記載の処理デバイス。 - 前記第2の生成ユニットは、具体的には、前記マーカー列がビットマップであるとき、前記マーカー列および前記条件付きビットマップにAND演算を行って前記問い合わせビットマップを生成するように構成され、前記マーカー列内のマーカービットの値、前記条件付きビットマップ内の各行の値、および前記問い合わせビットマップ内の各行の値は、0または1である、請求項18に記載の処理デバイス。
- 前記問い合わせモジュールは判定ユニットをさらに含み、
前記判定ユニットは、トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在すると判定するように構成され、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記判定ユニットは、一時記憶領域内に前記マーカー列を記憶し、前記記憶されたマーカー列を前記問い合わせ要求のプライベート・マーカー列として使用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更に従って前記プライベート・マーカー列を更新するように構成され、それによって、前記更新されたプライベート・マーカー列内の変更されたマーカービットの値は、前記トランザクションにおける現在のマーカービットに対応するデータの有効性を示し、
前記第2の生成ユニットは、具体的には、前記更新されたプライベート・マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するように構成され、前記更新されたプライベート・マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記更新されたプライベート・マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効であり、
前記獲得ユニットは、具体的には、前記問い合わせビットマップに従って、前記問い合わせ条件および前記更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される、請求項18に記載の処理デバイス。 - 前記問い合わせモジュールは判定ユニットをさらに含み、
前記判定ユニットは、トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在しないと判定するようにさらに構成され、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記判定ユニットは、一時記憶領域内に共有されたマーカー列が記憶されていないとき、または前記一時記憶領域内に記憶されている共有されたマーカー列のバージョン番号がテーブルヘッダ内のマーカー列のバージョン番号と異なるとき、データ記憶領域内にあるマーカー列のバージョン番号および前記マーカー列を前記一時記憶領域内に記憶し、前記一時記憶領域内に記憶されたマーカー列を他の共有されたマーカー列として使用し、前記他の共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を確立し、または前記記憶された共有されたマーカー列のバージョン番号が前記テーブルヘッダ内のマーカー列のバージョン番号と同じであるとき、前記記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を確立するようにさらに構成され、
前記第2の生成ユニットは、具体的には、前記一時記憶領域において、前記他のまたは記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応に従って、前記問い合わせ要求に対応する共有されたマーカー列を判定し、前記条件付きビットマップおよび前記問い合わせ要求に対応する共有されたマーカー列に従って問い合わせビットマップを生成するように構成され、前記問い合わせ要求に対応する共有されたマーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記問い合わせ要求に対応する共有されたマーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効であり、
前記獲得ユニットは、具体的には、前記問い合わせビットマップに従って、前記問い合わせ条件および前記問い合わせ要求に対応するマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するように構成される、請求項18に記載の処理デバイス。 - 列指向データベース処理方法であって、前記列指向データベースはマーカー列および1つより多くのデータ列を含み、前記データ列は列記憶の形態で特定のデータを記憶するために使用され、前記マーカー列内の各行のマーカービットの値は前記マーカービットと同じ行内に位置するデータの有効性を示すために使用され、前記方法は、
アプリケーションプログラムによって送信される問い合わせ要求を受信するステップであって、前記問い合わせ要求は問い合わせ条件を含む、ステップと、
前記マーカー列および前記問い合わせ条件に従って前記1つより多くのデータ列を問い合わせして、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップと、
前記問い合わせ結果を前記アプリケーションプログラムに送信するステップと、
を含む、方法。 - 前記マーカー列および前記問い合わせ条件に従って前記1つより多くのデータ列を問い合わせして、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップは、具体的には、
前記問い合わせ条件に従って、前記問い合わせ条件において関与するデータ列を走査し、条件付きビットマップを生成するステップであって、前記関与するデータ列内のある行が前記問い合わせ条件を満たすならば、前記条件付きビットマップ内の対応する行は有効な値が割り当てられ、前記関与するデータ列内のある行が前記問い合わせ条件を満たさないならば、前記条件付きビットマップ内の対応する行は無効な値が割り当てられる、ステップと、
前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、
前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップと、
を含む、請求項22に記載の方法。 - 前記マーカー列はビットマップであり、前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップは、具体的には、
前記マーカー列および前記条件付きビットマップにAND演算を行って前記問い合わせビットマップを生成するステップを含み、前記マーカー列内のマーカービットの値、前記条件付きビットマップ内の各行の値、および前記問い合わせビットマップ内の各行の値は、0または1である、請求項23に記載の方法。 - 前記問い合わせ条件に従って、前記問い合わせ条件において関与するデータ列を走査する前に、前記方法は、
トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在すると判定することをさらに含み、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記方法は、一時記憶領域内に前記マーカー列を記憶し、前記記憶されたマーカー列を前記問い合わせ要求のプライベート・マーカー列として使用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更に従って前記プライベート・マーカー列を更新することをさらに含み、それによって、前記更新されたプライベート・マーカー列内の変更されたマーカービットの値は、前記トランザクションにおける現在のマーカービットに対応するデータの有効性を示し、
前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとは、具体的には、
前記更新されたプライベート・マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記更新されたプライベート・マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記更新されたプライベート・マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとである、請求項23に記載の方法。 - 前記問い合わせ条件に従って、前記問い合わせ条件において関与するデータ列を走査する前に、前記方法は、
トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在しないと判定することをさらに含み、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記方法は、一時記憶領域内に共有されたマーカー列が記憶されていないとき、または前記一時記憶領域内に記憶されている共有されたマーカー列のバージョン番号がテーブルヘッダ内のマーカー列のバージョン番号と異なるとき、データ記憶領域内にあるマーカー列のバージョン番号および前記マーカー列を前記一時記憶領域内に記憶し、前記一時記憶領域内に記憶されたマーカー列を他の共有されたマーカー列として使用し、前記他の共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を設定し、または前記記憶された共有されたマーカー列のバージョン番号が前記テーブルヘッダ内のマーカー列のバージョン番号と同じであるとき、前記記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を設定することをさらに含み、
前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとは、具体的には、
前記一時記憶領域において、前記他のまたは記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応に従って、前記問い合わせ要求に対応する共有されたマーカー列を判定し、前記条件付きビットマップおよび前記問い合わせ要求に対応する共有されたマーカー列に従って問い合わせビットマップを生成するステップであって、前記問い合わせ要求に対応する共有されたマーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記問い合わせ要求に対応する共有されたマーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記問い合わせ要求に対応するマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとである、請求項23に記載の方法。 - マーカー列をコピーする前に、前記マーカー列に排他的ロックを付加するステップをさらに含み、マーカー列をコピーした後に、前記マーカー列について前記排他的ロックを解放するステップをさらに含む、請求項25に記載の方法。
- 前記方法は、
トランザクションにおいて、アプリケーションプログラムによって送信される変更要求を受信するステップであって、前記変更要求は変更条件を含む、ステップと、
前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するステップと、
前記トランザクションがサブミットされるとき前記マーカー列に行われるべき前記記録された変更に従って、前記トランザクションがサブミットされるとき、前記マーカー列に、対応する変更を行い、それによって、前記変更されたマーカー列内の各行のマーカービットの値は、前記変更処理の後に前記マーカービットと同じ行内に位置するデータの有効性を示す、ステップと、
前記アプリケーションプログラムに変更応答を送信するステップと、
をさらに含む、請求項22に記載の方法。 - 前記変更要求は具体的には更新要求であり、前記変更条件は具体的には更新条件であり、
前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するステップは、具体的には、
前記1つより多くのデータ列において前記更新条件を満たすデータについて問い合わせするステップであって、前記更新条件を満たすデータが位置する行のマーカービットの値は有効である、ステップと、
前記1つより多くのデータ列および前記マーカー列に新しい行を追加するステップであって、新しい行の数量は前記更新条件において要求される更新されるべき行の数量と同じである、ステップと、
前記1つより多くのデータ列内の前記更新条件を満たすデータが位置する行内のデータを前記新しい行にコピーし、前記新しい行のマーカービットの値を無効に設定するステップと、
前記更新条件に従って前記新しい行内の更新されるべきデータを変更するステップと、
前記トランザクションがサブミットされるときに前記更新条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があるとともに前記新しい行のマーカービットの値が有効に変更される必要があること、を記録するステップと、
を含む、請求項28に記載の方法。 - 前記列指向データベースは行番号列をさらに含み、各行の行番号が前記行番号列内に記憶され、
前記方法は、前記新しい行の行番号を、前記更新条件を満たすデータが位置する行の行番号として設定するステップをさらに含む、請求項28に記載の方法。 - 前記変更要求は具体的には挿入要求であり、前記変更条件は具体的には挿入条件であり、
前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するステップは、具体的には、
前記挿入条件に従って前記1つより多くのデータ列および前記マーカー列に新しい行を追加するステップであって、新しい行の数量は前記挿入条件において要求される挿入されるべき行の数量と同じである、ステップと、データを前記新しい行に追加し、前記新しい行のマーカービットを無効に設定するステップと、
前記トランザクションがサブミットされるときに前記新しい行のマーカービットの値が有効に変更される必要があること、を記録するステップと、
を含む、請求項28に記載の方法。 - 列指向データベース処理方法であって、前記列指向データベースはマーカー列および1つより多くのデータ列を含み、前記データ列は列記憶の形態で特定のデータを記憶するために使用され、前記マーカー列内の各行のマーカービットの値は前記マーカービットと同じ行内に位置するデータの有効性を示すために使用され、前記方法は、
トランザクションにおいて、アプリケーションプログラムによって送信される変更要求を受信するステップであって、前記変更要求は変更条件を含む、ステップと、
前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するステップと、
前記トランザクションがサブミットされるとき前記マーカー列に行われるべき前記記録された変更に従って、前記トランザクションがサブミットされるとき、前記マーカー列に、対応する変更を行い、それによって、前記変更されたマーカー列内の各行のマーカービットの値は、前記変更処理の後に前記マーカービットと同じ行内に位置するデータの有効性を示す、ステップと、
を含む、方法。 - 前記変更要求は具体的には更新要求であり、前記変更条件は具体的には更新条件であり、
前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するステップは、具体的には、
前記1つより多くのデータ列において前記更新条件を満たすデータについて問い合わせするステップであって、前記更新条件を満たすデータが位置する行のマーカービットの値は有効である、ステップと、
前記1つより多くのデータ列および前記マーカー列に新しい行を追加するステップであって、新しい行の数量は前記更新条件において要求される更新されるべき行の数量と同じである、ステップと、
前記1つより多くのデータ列内の前記更新条件を満たすデータが位置する行内のデータを前記新しい行にコピーし、前記新しい行のマーカービットの値を無効に設定するステップと、
前記更新条件に従って前記新しい行内の更新されるべきデータを変更するステップと、
前記トランザクションがサブミットされるときに前記更新条件を満たすデータが位置する行のマーカービットの値が無効に変更される必要があるとともに前記新しい行のマーカービットの値が有効に変更される必要があること、を記録するステップと、
を含む、請求項32に記載の方法。 - 前記列指向データベースは行番号列をさらに含み、各行の行番号が前記行番号列内に記憶され、
前記方法は、前記新しい行の行番号を、前記更新条件を満たすデータが位置する行の行番号として設定するステップをさらに含む、請求項33に記載の方法。 - 前記変更要求は具体的には挿入要求であり、前記変更条件は具体的には挿入条件であり、
前記変更条件に従って前記マーカー列および前記1つより多くのデータ列に変更処理を適用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更を記録するステップは、具体的には、
前記挿入条件に従って前記1つより多くのデータ列および前記マーカー列に新しい行を追加するステップであって、新しい行の数量は前記挿入条件において要求される挿入されるべき行の数量と同じである、ステップと、データを前記新しい行に追加し、前記新しい行のマーカービットを無効に設定するステップと、
前記トランザクションがサブミットされるときに前記新しい行のマーカービットの値が有効に変更される必要があること、を記録するステップと、
を含む、請求項32に記載の方法。 - 前記方法は、
アプリケーションプログラムによって送信される問い合わせ要求を受信するステップであって、前記問い合わせ要求は問い合わせ条件を含む、ステップと、
前記マーカー列および前記問い合わせ条件に従って前記1つより多くのデータ列を問い合わせして、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップと、
前記問い合わせ結果を前記アプリケーションプログラムに送信するステップと、
をさらに含む、請求項32に記載の方法。 - 前記マーカー列および前記問い合わせ条件に従って前記1つより多くのデータ列を問い合わせして、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップは、具体的には、
前記問い合わせ条件に従って、前記問い合わせ条件において関与するデータ列を走査し、条件付きビットマップを生成するステップであって、前記関与するデータ列内のある行が前記問い合わせ条件を満たし、前記条件付きビットマップ内の対応する行は有効な値が割り当てられ、前記関与するデータ列内のある行が前記問い合わせ条件を満たさず、前記条件付きビットマップ内の対応する行は無効な値が割り当てられる、ステップと、
前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、
前記問い合わせビットマップに従って、前記問い合わせ条件を満たす問い合わせ結果を取得するステップと、
を含む、請求項36に記載の方法。 - 前記マーカー列はビットマップであり、前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップは、具体的には、
前記マーカー列および前記条件付きビットマップにAND演算を行って前記問い合わせビットマップを生成するステップを含み、前記マーカー列内のマーカービットの値、前記条件付きビットマップ内の各行の値、および前記問い合わせビットマップ内の各行の値は、0または1である、請求項37に記載の方法。 - 前記問い合わせ条件に従って、前記問い合わせ条件において関与するデータ列を走査する前に、前記方法は、
トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在すると判定することをさらに含み、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、前記方法は、一時記憶領域内に前記マーカー列を記憶し、前記記憶されたマーカー列を前記問い合わせ要求のプライベート・マーカー列として使用し、前記トランザクションがサブミットされるとき前記マーカー列に行われるべき変更に従って前記プライベート・マーカー列を更新することをさらに含み、それによって、前記更新されたプライベート・マーカー列内の変更されたマーカービットの値は、前記トランザクションにおける現在のマーカービットに対応するデータの有効性を示し、
前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとは、具体的には、
前記更新されたプライベート・マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記更新されたプライベート・マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記更新されたプライベート・マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記更新されたプライベート・マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとである、請求項36から38に記載の方法。 - 前記問い合わせ条件に従って、前記問い合わせ条件において関与するデータ列を走査する前に、
トランザクションがサブミットされるとき前記マーカー列に行われるべき変更が存在しないと判定することをさらに含み、前記トランザクションは前記問い合わせ要求が位置するトランザクションであり、一時記憶領域内に共有されたマーカー列が記憶されていないとき、または前記一時記憶領域内に記憶されている共有されたマーカー列のバージョン番号がテーブルヘッダ内のマーカー列のバージョン番号と異なるとき、データ記憶領域内にあるマーカー列のバージョン番号および前記マーカー列を前記一時記憶領域内に記憶し、前記一時記憶領域内に記憶されたマーカー列を他の共有されたマーカー列として使用し、前記他の共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を設定し、または前記記憶された共有されたマーカー列のバージョン番号が前記テーブルヘッダ内のマーカー列のバージョン番号と同じであるとき、前記記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応を設定することをさらに含み、
前記マーカー列および前記条件付きビットマップに従って問い合わせビットマップを生成するステップであって、前記マーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記マーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記マーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとは、具体的には、
前記一時記憶領域において、前記他のまたは記憶された共有されたマーカー列のバージョン番号と前記問い合わせ要求の間の対応に従って、前記問い合わせ要求に対応する共有されたマーカー列を判定し、前記条件付きビットマップおよび前記問い合わせ要求に対応する共有されたマーカー列に従って問い合わせビットマップを生成するステップであって、前記問い合わせ要求に対応する共有されたマーカー列および前記条件付きビットマップの両方における同じ行の値が有効な値であるとき、前記問い合わせビットマップ内の同じ行の値は有効であり、または前記問い合わせ要求に対応する共有されたマーカー列内の同じ行の値および前記条件付きビットマップ内の同じ行の値が両方とも有効な値であるわけではないとき、前記問い合わせビットマップ内の同じ行の値は無効である、ステップと、前記問い合わせビットマップに従って、前記問い合わせ条件および前記問い合わせ要求に対応するマーカー列内の問い合わせ結果のマーカービットが有効であるという要求条件の両方を満たす問い合わせ結果を取得するステップとである、請求項36から38に記載の方法。 - 前記マーカー列をコピーする前に、前記マーカー列に排他的ロックを付加するステップをさらに含み、
前記マーカー列をコピーした後に、前記マーカー列について前記排他的ロックを解放するステップをさらに含む、ことをさらに含む、請求項39または40に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310656482.1 | 2013-12-06 | ||
CN201310656482.1A CN103678556B (zh) | 2013-12-06 | 2013-12-06 | 列式数据库处理的方法和处理设备 |
PCT/CN2014/090337 WO2015081780A1 (zh) | 2013-12-06 | 2014-11-05 | 列式数据库处理的方法和处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016539417A true JP2016539417A (ja) | 2016-12-15 |
JP6244592B2 JP6244592B2 (ja) | 2017-12-13 |
Family
ID=50316101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016529436A Active JP6244592B2 (ja) | 2013-12-06 | 2014-11-05 | 列指向データベース処理方法および処理デバイス |
Country Status (5)
Country | Link |
---|---|
US (1) | US10303691B2 (ja) |
EP (1) | EP3007085A4 (ja) |
JP (1) | JP6244592B2 (ja) |
CN (1) | CN103678556B (ja) |
WO (1) | WO2015081780A1 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678556B (zh) * | 2013-12-06 | 2017-10-10 | 华为技术有限公司 | 列式数据库处理的方法和处理设备 |
CN103970870A (zh) * | 2014-05-12 | 2014-08-06 | 华为技术有限公司 | 数据库查询方法和服务器 |
CN103995676A (zh) * | 2014-06-16 | 2014-08-20 | 国家电网公司 | 数据存储方法及装置和数据处理方法及装置 |
CN104216955B (zh) * | 2014-08-20 | 2017-12-26 | 百度在线网络技术(北京)有限公司 | 一种操作数据及管理事务的方法、装置及分布式系统 |
CN104572933B (zh) * | 2014-12-30 | 2018-02-23 | 北京像素软件科技股份有限公司 | 一种处理数据的方法 |
CN106682042B (zh) * | 2015-11-11 | 2019-11-22 | 杭州海康威视数字技术股份有限公司 | 一种关系数据缓存及查询方法及装置 |
CN105589969A (zh) * | 2015-12-23 | 2016-05-18 | 浙江大华技术股份有限公司 | 一种数据处理方法及装置 |
WO2017107130A1 (zh) * | 2015-12-24 | 2017-06-29 | 华为技术有限公司 | 数据查询方法和数据库系统 |
US10268636B2 (en) * | 2016-09-16 | 2019-04-23 | Oracle International Corporation | Column level invalidation for in-memory database |
CN106844541B (zh) * | 2016-12-30 | 2020-05-29 | 晶赞广告(上海)有限公司 | 一种联机分析处理方法及装置 |
CN109947980A (zh) * | 2017-10-30 | 2019-06-28 | 北京国双科技有限公司 | 一种视频收视数据的统计方法及装置 |
CN108563923B (zh) * | 2017-12-05 | 2020-08-18 | 华南理工大学 | 一种基因变异数据分布式存储方法及系统 |
CN108389027B (zh) * | 2017-12-30 | 2020-06-16 | 北京航天智造科技发展有限公司 | 一种面向工业的app应用开发系统 |
CN108345648B (zh) * | 2018-01-18 | 2021-01-26 | 奇安信科技集团股份有限公司 | 一种基于列式存储的获取日志信息的方法及装置 |
CN108958894B (zh) * | 2018-06-14 | 2022-05-10 | 创新先进技术有限公司 | 一种分布式事务处理方法、系统、事务管理器及终端设备 |
US11328081B2 (en) * | 2018-10-16 | 2022-05-10 | Sap Se | Consent-based data privacy management system |
CN109471893B (zh) * | 2018-10-24 | 2022-05-20 | 上海连尚网络科技有限公司 | 网络数据的查询方法、设备及计算机可读存储介质 |
CN109782658A (zh) * | 2018-12-27 | 2019-05-21 | 北京航天智造科技发展有限公司 | 工业现场远程监控方法及装置 |
US10909101B2 (en) | 2019-04-19 | 2021-02-02 | Advanced New Technologies Co., Ltd. | Updating and querying a bitmap index |
CN110059090B (zh) * | 2019-04-19 | 2020-11-03 | 创新先进技术有限公司 | 一种位图索引的写入/转储/合并/查询方法和装置 |
CN112948413A (zh) * | 2019-12-10 | 2021-06-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备及存储介质 |
WO2021133982A1 (en) * | 2019-12-24 | 2021-07-01 | Consilient Labs Inc. | Episodic memory stores, data ingestion and query systems for same, including examples of autonomous smart agents |
US11386089B2 (en) * | 2020-01-13 | 2022-07-12 | The Toronto-Dominion Bank | Scan optimization of column oriented storage |
CN113282578B (zh) * | 2020-02-20 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 消息处理方法、装置、消息处理设备及存储介质 |
US11914589B2 (en) * | 2020-02-28 | 2024-02-27 | Sap Se | Efficient computation of order by, order by with limit, min, and max in column-oriented databases |
CN111552715B (zh) * | 2020-05-06 | 2023-11-17 | 北京易数科技有限公司 | 用户查询方法和装置 |
CN111859445B (zh) * | 2020-06-14 | 2022-08-02 | 苏州浪潮智能科技有限公司 | 一种基于k-db数据库的数据安全实现方法及系统 |
CN112214521A (zh) * | 2020-11-20 | 2021-01-12 | 深圳前海微众银行股份有限公司 | 规则查询方法、装置、设备及计算机存储介质 |
CN115827653B (zh) * | 2022-11-25 | 2023-09-05 | 深圳计算科学研究院 | 一种用于htap和海量数据的纯列式更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02501604A (ja) * | 1986-08-22 | 1990-05-31 | コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼイション | 連想記憶メモリシステム |
JPH09305622A (ja) * | 1996-05-13 | 1997-11-28 | Hitachi Ltd | 文書検索機能を有するデータベース管理方法およびシステム |
JP2000020385A (ja) * | 1998-07-07 | 2000-01-21 | Hitachi Ltd | データ検索システムにおけるデータキャッシュ方法 |
US20070112736A1 (en) * | 2005-11-15 | 2007-05-17 | Russell Okamoto | Multi-query optimization |
JP2007531115A (ja) * | 2004-03-26 | 2007-11-01 | オラクル インターナショナル コーポレーション | 永続的でユーザアクセス可能なビットマップ値を有するデータベース管理システム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0321493A4 (en) | 1986-08-22 | 1991-11-21 | Commonwealth Scientific And Industrial Research Organisation | A content-addressable memory system |
US5794229A (en) * | 1993-04-16 | 1998-08-11 | Sybase, Inc. | Database system with methodology for storing a database table by vertically partitioning all columns of the table |
US6009432A (en) * | 1998-07-08 | 1999-12-28 | Required Technologies, Inc. | Value-instance-connectivity computer-implemented database |
JP2006508434A (ja) * | 2002-11-15 | 2006-03-09 | フォン・シュヴェーバー,エリック | 情報サーベイのための方法及び装置 |
US9626421B2 (en) * | 2007-09-21 | 2017-04-18 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | ETL-less zero-redundancy system and method for reporting OLTP data |
CN101727465B (zh) | 2008-11-03 | 2011-12-21 | 中国移动通信集团公司 | 分布式列存储数据库索引建立、查询方法及装置与系统 |
US8214352B2 (en) * | 2008-11-26 | 2012-07-03 | Hewlett-Packard Development Company | Modular query optimizer |
US10152504B2 (en) * | 2009-03-11 | 2018-12-11 | Actian Netherlands B.V. | Column-store database architecture utilizing positional delta tree update system and methods |
US8626770B2 (en) * | 2010-05-03 | 2014-01-07 | International Business Machines Corporation | Iceberg query evaluation implementing a compressed bitmap index |
US8676834B2 (en) * | 2011-02-16 | 2014-03-18 | International Business Machines Corporation | Set-level comparisons in dynamically formed groups |
US20130198168A1 (en) * | 2011-08-01 | 2013-08-01 | Wei Huang | Data storage combining row-oriented and column-oriented tables |
US8660985B2 (en) * | 2012-04-11 | 2014-02-25 | Renmin University Of China | Multi-dimensional OLAP query processing method oriented to column store data warehouse |
CN102682108B (zh) * | 2012-05-08 | 2015-02-18 | 同方知网数字出版技术股份有限公司 | 一种行列混合的数据库存储方法 |
CN102890721B (zh) * | 2012-10-16 | 2016-03-30 | 苏州迈科网络安全技术股份有限公司 | 基于列存储技术的数据库建立方法及系统 |
CN103324765B (zh) * | 2013-07-19 | 2016-08-17 | 西安电子科技大学 | 一种基于列存储的多核并行数据查询优化方法 |
CN103678556B (zh) * | 2013-12-06 | 2017-10-10 | 华为技术有限公司 | 列式数据库处理的方法和处理设备 |
-
2013
- 2013-12-06 CN CN201310656482.1A patent/CN103678556B/zh active Active
-
2014
- 2014-11-05 JP JP2016529436A patent/JP6244592B2/ja active Active
- 2014-11-05 WO PCT/CN2014/090337 patent/WO2015081780A1/zh active Application Filing
- 2014-11-05 EP EP14868508.4A patent/EP3007085A4/en not_active Withdrawn
-
2016
- 2016-06-06 US US15/173,971 patent/US10303691B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02501604A (ja) * | 1986-08-22 | 1990-05-31 | コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼイション | 連想記憶メモリシステム |
JPH09305622A (ja) * | 1996-05-13 | 1997-11-28 | Hitachi Ltd | 文書検索機能を有するデータベース管理方法およびシステム |
JP2000020385A (ja) * | 1998-07-07 | 2000-01-21 | Hitachi Ltd | データ検索システムにおけるデータキャッシュ方法 |
JP2007531115A (ja) * | 2004-03-26 | 2007-11-01 | オラクル インターナショナル コーポレーション | 永続的でユーザアクセス可能なビットマップ値を有するデータベース管理システム |
US20070112736A1 (en) * | 2005-11-15 | 2007-05-17 | Russell Okamoto | Multi-query optimization |
Non-Patent Citations (5)
Title |
---|
イーデルステイン ハーブ: "テクニカルフォーラムfrom U.S.A.", 日経コンピュータ, JPN6017006567, 5 February 1996 (1996-02-05), JP, pages 139 - 144, ISSN: 0003594777 * |
吉田琢也: "検索専用の高速DBソフト登場意思決定支援システムに威力", 日経コンピュータ, vol. 第396号, JPN6008021332, 22 July 1996 (1996-07-22), JP, pages 105 - 108, ISSN: 0003594776 * |
谷川 耕一: "Orfacle7.3の機能強化ポイント", ネットワークコンピューティング, vol. 第8巻,第7号, JPN6017025011, 1 July 1996 (1996-07-01), JP, pages 73 - 80, ISSN: 0003594779 * |
高橋 秀和: "Part4 大規模化 スケーラビリティでRDBに一日の長", NIKKEI BYTE, vol. 第251号, JPN6009027163, 22 March 2004 (2004-03-22), pages 38 - 43, ISSN: 0003594780 * |
鵜木 昌行: "Sybase IQ「独自データ構造による、データウエアハウスへのアプローチ」", 電子情報通信学会技術研究報告 VOL.97 NO.415, vol. 第97巻 第415号, JPN6010016891, 2 December 1997 (1997-12-02), JP, pages 51 - 56, ISSN: 0003594778 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015081780A1 (zh) | 2015-06-11 |
US10303691B2 (en) | 2019-05-28 |
EP3007085A1 (en) | 2016-04-13 |
JP6244592B2 (ja) | 2017-12-13 |
EP3007085A4 (en) | 2016-09-14 |
CN103678556B (zh) | 2017-10-10 |
CN103678556A (zh) | 2014-03-26 |
US20160283558A1 (en) | 2016-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6244592B2 (ja) | 列指向データベース処理方法および処理デバイス | |
TWI262406B (en) | System, method and program storage device for dynamic caching of data based on queries performed by a local application | |
CN106462592B (zh) | 优化对索引的多版本支持的系统和方法 | |
US20200117733A1 (en) | Blockchain integration layer | |
EP3079078B1 (en) | Multi-version concurrency control method in database, and database system | |
US9430539B2 (en) | Universal data storage system that maintains data across one or more specialized data stores | |
US8185546B2 (en) | Enhanced control to users to populate a cache in a database system | |
US20120203745A1 (en) | System and method for range search over distributive storage systems | |
JP2005532615A (ja) | データ項目の使用可能バージョンの提供 | |
CN105740383A (zh) | 一种大数据平台下数据库与缓存的数据一致性方法及系统 | |
WO2020041950A1 (zh) | 一种基于b+树索引的数据更新方法、装置及存储装置 | |
CN113495872A (zh) | 分布式数据库中的事务处理方法及系统 | |
CN106354732A (zh) | 一种支持并发协同的离线数据版本冲突解决方法 | |
US11514074B2 (en) | Method and system for optimizing data replication for large scale archives | |
CN114185991A (zh) | 基于分布式数据库实现数据同步的方法及相关装置 | |
CN111639087B (zh) | 数据库中数据更新方法、装置和电子设备 | |
CN110502535B (zh) | 数据访问方法、装置、设备和存储介质 | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
WO2012106922A1 (zh) | 主题属性信息生成方法及装置 | |
CN115374133A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
JP6834715B2 (ja) | 更新処理プログラム、装置、及び方法 | |
US11256679B2 (en) | Systems and methods for storing object state on hash chains | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
AU2022203732B2 (en) | System and method for reference validation of spreadsheets | |
US11822485B1 (en) | Systems and methods for coupled cache management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171002 |
|
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: 20171017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171025 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6244592 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |