JP4380692B2 - サマリーテーブルをリフレッシュするための装置、方法、及びプログラム - Google Patents
サマリーテーブルをリフレッシュするための装置、方法、及びプログラム Download PDFInfo
- Publication number
- JP4380692B2 JP4380692B2 JP2006331213A JP2006331213A JP4380692B2 JP 4380692 B2 JP4380692 B2 JP 4380692B2 JP 2006331213 A JP2006331213 A JP 2006331213A JP 2006331213 A JP2006331213 A JP 2006331213A JP 4380692 B2 JP4380692 B2 JP 4380692B2
- Authority
- JP
- Japan
- Prior art keywords
- base
- base table
- difference
- tables
- update
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
・オペレーションタイプ
データが追加されたのか削除されたのかを示すフラグであり、「1」が追加を、「−1」が削除を示す。
・プロセスフラグ
データが演算処理中なのか未処理なのかを表すフラグであり、「1」が演算処理中を、「0」が未処理を表す。
・集約MQTのステージングテーブル
SELECT文がSUM()、COUNT()等の集約関数を使用している場合のステージングテーブルである。テーブルの列は、MQTと同じ列を持つ。
・ジョインMQTのステージングテーブル
SELECT文が集約関数を使用していない場合のステージングテーブルである。テーブルの列は、MQTと同じ列の他、データが追加されたのか削除されたのかを示す列を持つ。つまり、差分テーブルのオペレーションタイプと同様であり、「1」が追加を、「−1」が削除を表す。
・MQTに関連付けられたSELECT文のT1をdT1に置き換える。
・SUMについては、オペレーションタイプが「1」(追加)のデータはそのまま加算し、オペレーションタイプが「−1」(削除)のデータは減算する(「−1」倍する)。
・COUNTやCOUNT_BIGは、オペレーションタイプが「1」(追加)のデータは「1」を加算すると考え、オペレーションタイプが「−1」(削除)のデータは、「1」を減算すると考える。COUNT_BIGのデータタイプはDECIMALなので、DECIMAL関数を使用して、DECIMAL型にする。
・差分テーブルで処理するデータはプロセスフラグが「1」のものなので、それを条件に加える。
・MQTに関連付けられたSELECT文のT1をdT1に、T2をdT2に置き換える。
・差分テーブルが2つ存在し、それぞれがオペレーションタイプを保持する。従って、2つのオペレーションタイプの積が正であれば加算し、負であれば減算する。更にこの結果を減算する必要があるので、加算と減算を逆にする。
・その他は、差分テーブルが1つの場合と同じ考え方で処理する。
また、上記の展開された式を構成するテーブルのうち、第3項(マイナスを含む)のテーブルも、同様の規則で変換したSQL文によって得ることができる。
・MQTに関連付けられたSELECT文からT1とT2に関するものを抜き出す。COUNTやCOUNT_BIGもT1とT2に関するものであり、これも残す。
・条件等において、T1とT2のカラムが他のテーブルのカラムと使用されるものは、そのT1とT2のカラムを投影(プロジェクション)し、GROUP BYに追加する。この例では、T1.C7=T3.C7が該当する。従って、この条件を削除し、T1.C7を投影し、GROUP BYに追加する。また、T1.OPERATIONTYPEも、T3.C6のSUMを得る際に使用しているので、これも投影し、GROUP BYに追加する。
・その他は、「Each delta at once」の場合と同じ考え方で処理する。
・MQTに関連付けられたSELECT文からdT1M1(T1とT2)とT3に関するものを抜き出す。
・前述したdT1とT2に基づく処理で評価が終わっているものについては削除する。この例では、WHERE節のT1.C7=T2.C7とT1.PROCESSFLAG=1を削除する。また、S1とS2とCに関するT1.OPERATIONTYPEの評価も終わっているので、T1.OPERATIONTYPEの評価はせず、SUMのみ行う。
・T1とT2をdT1M1にする。
・その他は、前述したdT1とT2に基づく処理と同じ考え方で処理する。
・MQTに関連付けられたSELECT文のT1をdT1に置き換える。
・ジョインMQTのステージングテーブルは差分テーブルと同様、オペレーションタイプを保持する。差分テーブルを1つ使用する場合は、差分テーブルのオペレーションタイプの値をステージングテーブルのオペレーションタイプの値とする。オペレーションタイプがステージングテーブルの最後の列に定義されているとすると、図14(b)の演算式が成り立つ。
・差分テーブルで処理するデータはプロセスフラグが「1」のものなので、それを条件に加える。
・MQTに関連付けられたSELECT文のT1をdT1に、T2をdT2に置き換える。
・集約MQTの場合と同様の考え方で、ステージングテーブルのオペレーションタイプの値は、dT1とdT2のオペレーションタイプの積が正であれば「1」(追加)、負であれば「−1」(削除)とする。更にこの結果を減算する必要があるので、加算と減算を逆にする。
・その他は、差分テーブルが1つの場合と同じ考え方で処理する。
また、上記の展開された式を構成するテーブルのうち、第3項(マイナスを含む)のテーブルも、同様の規則で変換したSQL文によって得ることができる。
・MQTに関連付けられたSELECT文からT1とT2に関するものを抜き出す。
・条件等において、T1とT2のカラムが他のテーブルのカラムと使用されているものは、そのT1とT2のカラムを投影(プロジェクション)する。この例では、T1.C4=T3.C4が該当する。従って、この条件を削除し、T1.C4を投影する。
・その他は、「Each delta at once」の場合と同じ考え方で処理する。
・MQTに関連付けられたSELECT文からdT1M1(T1とT2)とT3に関するものを抜き出す。
・前述したdT1とT2に基づく処理で評価が終わっているものについては削除する。この例では、WHERE節のT1.C4=T2.C4とT1.PROCESSFLAG=1を削除する。
・T1とT2をdT1M1にする。
・その他は、前述したdT1とT2に基づく処理と同じ考え方で処理する。
Claims (12)
- 複数のベーステーブルに対するクエリーの結果を格納するサマリーテーブルをリフレッシュするための装置であって、
前記複数のベーステーブルのうちの指定されたベーステーブルの所定の時点までの更新内容を前記サマリーテーブルに反映させるための差分情報を、当該指定されたベーステーブルの更新内容を示す差分データを保持する差分テーブルと、当該指定されたベーステーブル以外の他のベーステーブルと、当該他のベーステーブルの更新内容を示す差分データを保持する差分テーブルとを用いて、当該指定されたベーステーブルの当該所定の時点以降の更新が可能で当該所定の時点以降の更新内容が当該差分情報の生成に用いられない状態で生成する生成部と、
異なるベーステーブルを指定した場合に異なるトランザクションで前記生成部が前記差分情報を生成するように制御する制御部と
を備えた、装置。 - 前記生成部は、前記複数のベーステーブルのうちの前記指定されたベーステーブル以外の全てのベーステーブルの更新が不可能な状態で、当該指定されたベーステーブル以外の全てのベーステーブルを参照して、前記差分情報を1つのトランザクションで生成する、請求項1の装置。
- 前記生成部は、1つのトランザクションで実行される処理であって、前記複数のベーステーブルのうちの前記指定されたベーステーブル以外の全てのベーステーブルから1つのベーステーブルを選択し、当該選択されたベーステーブルの更新が不可能な状態で当該選択されたベーステーブルを参照して、前記差分情報の元となる情報又は前記差分情報を生成する処理を、当該指定されたベーステーブル以外の全てのベーステーブルのうちの当該選択されたベーステーブル以外のベーステーブルについて行うことにより、前記差分情報を生成する、請求項1の装置。
- 前記生成部は、前記指定されたベーステーブルの更新内容を管理する領域において、前記差分情報の生成処理中は、前記所定の時点までの更新内容と、当該所定の時点以降の更新内容とを区別して管理することにより、当該指定されたベーステーブルの当該所定の時点以降の更新が可能で当該所定の時点以降の更新内容が当該差分情報の生成に用いられない状態にする、請求項1の装置。
- 前記生成部は、前記差分情報の生成処理中は、前記指定されたベーステーブルの更新内容を管理する領域で前記所定の時点以降の更新内容を管理する処理を停止することにより、当該指定されたベーステーブルの当該所定の時点以降の更新が可能で当該所定の時点以降の更新内容が当該差分情報の生成に用いられない状態にする、請求項1の装置。
- 複数のベーステーブルに対するクエリーの結果を格納するサマリーテーブルをリフレッシュするための方法であって、
前記複数のベーステーブルのうちの特定のベーステーブルの所定の時点までの更新内容を特定するステップと、
前記複数のベーステーブルのうちの前記特定のベーステーブル以外のn個(n≧1)のベーステーブルの更新を受け付けないようにするステップと、
前記特定するステップで特定された更新内容を前記サマリーテーブルに反映させるための差分情報を、前記特定のベーステーブルの更新内容を示す差分データを保持する差分テーブルと、前記n個のベーステーブルと、当該n個のベーステーブルのそれぞれの更新内容を示す差分データを保持するn個の差分テーブルとを用いて、前記特定のベーステーブルの前記所定の時点以降の更新を受け付けつつ、当該所定の時点以降の更新内容を用いることなく、生成するステップと、
前記n個のベーステーブルの更新を受け付けるようにするステップと
を含む、方法。 - 前記生成するステップでは、前記特定するステップで特定された更新内容と、前記特定のベーステーブルの前記所定の時点以降の更新内容とを区別して管理することにより、当該所定の時点以降の更新を受け付けつつ、当該所定の時点以降の更新内容を用いないようにする、請求項6の方法。
- 複数のベーステーブルに対するクエリーの結果を格納するサマリーテーブルをリフレッシュするための方法であって、
前記複数のベーステーブルのうちの第1のベーステーブルの所定の時点までの更新内容を特定するステップと、
前記複数のベーステーブルのうちの第2のベーステーブルの更新を受け付けないようにするステップと、
前記特定するステップで特定された更新内容を前記サマリーテーブルに反映させるための差分情報を、前記第1のベーステーブルの更新内容を示す差分データを保持する差分テーブルと、前記第2のベーステーブルと、当該第2のベーステーブルの更新内容を示す差分データを保持する差分テーブルとを用いて、前記第1のベーステーブルの前記所定の時点以降の更新を受け付けつつ、当該所定の時点以降の更新内容を用いることなく、生成するステップと、
前記第2のベーステーブルの更新を受け付けるようにするステップと、
前記複数のベーステーブルのうちの第3のベーステーブルの更新を受け付けないようにするステップと、
前記差分情報を、前記第1のベーステーブルの更新内容を示す差分データを保持する差分テーブルと、前記第3のベーステーブルと、当該第3のベーステーブルの更新内容を示す差分データを保持する差分テーブルとを用いて、再生成するステップと、
前記第3のベーステーブルの更新を受け付けるようにするステップと
を含む、方法。 - 前記生成するステップでは、前記特定するステップで特定された更新内容と、前記第1のベーステーブルの前記所定の時点以降の更新内容とを区別して管理することにより、当該所定の時点以降の更新を受け付けつつ、当該所定の時点以降の更新内容を用いないようにする、請求項8の方法。
- 複数のベーステーブルに対するクエリーの結果を格納するサマリーテーブルをリフレッシュするためのプログラムであって、コンピュータに、
前記複数のベーステーブルのうちの指定されたベーステーブルの所定の時点までの更新内容を前記サマリーテーブルに反映させるための差分情報を、当該指定されたベーステーブルの更新内容を示す差分データを保持する差分テーブルと、当該指定されたベーステーブル以外の他のベーステーブルと、当該他のベーステーブルの更新内容を示す差分データを保持する差分テーブルとを用いて、当該指定されたベーステーブルの当該所定の時点以降の更新が可能で当該所定の時点以降の更新内容が当該差分情報の生成に用いられない状態で生成する機能と、
異なるベーステーブルを指定した場合に異なるトランザクションで前記差分情報が生成されるように制御する機能と
を実現させる、プログラム。 - 前記生成する機能では、前記複数のベーステーブルのうちの前記指定されたベーステーブル以外の全てのベーステーブルの更新が不可能な状態で、当該指定されたベーステーブル以外の全てのベーステーブルを参照して、前記差分情報を1つのトランザクションで生成する、請求項10のプログラム。
- 前記生成する機能では、1つのトランザクションで実行される処理であって、前記複数のベーステーブルのうちの前記指定されたベーステーブル以外の全てのベーステーブルから1つのベーステーブルを選択し、当該選択されたベーステーブルの更新が不可能な状態で当該選択されたベーステーブルを参照して、前記差分情報の元となる情報又は前記差分情報を生成する処理を、当該指定されたベーステーブル以外の全てのベーステーブルのうちの当該選択されたベーステーブル以外のベーステーブルについて行うことにより、前記差分情報を生成する、請求項10のプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006331213A JP4380692B2 (ja) | 2006-12-07 | 2006-12-07 | サマリーテーブルをリフレッシュするための装置、方法、及びプログラム |
| US11/876,520 US8271440B2 (en) | 2006-12-07 | 2007-10-22 | Apparatus, method and program for refreshing a summary table |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006331213A JP4380692B2 (ja) | 2006-12-07 | 2006-12-07 | サマリーテーブルをリフレッシュするための装置、方法、及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008146264A JP2008146264A (ja) | 2008-06-26 |
| JP4380692B2 true JP4380692B2 (ja) | 2009-12-09 |
Family
ID=39275752
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006331213A Expired - Fee Related JP4380692B2 (ja) | 2006-12-07 | 2006-12-07 | サマリーテーブルをリフレッシュするための装置、方法、及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8271440B2 (ja) |
| JP (1) | JP4380692B2 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10198494B2 (en) * | 2006-05-18 | 2019-02-05 | Allotz.Com Limited | Control of distributed databases |
| JP5181283B2 (ja) * | 2008-06-30 | 2013-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理装置、ワークフローシステム、データ処理方法及びコンピュータプログラム |
| US8239389B2 (en) * | 2008-09-29 | 2012-08-07 | International Business Machines Corporation | Persisting external index data in a database |
| US9087105B2 (en) * | 2012-10-04 | 2015-07-21 | Adobe Systems Incorporated | Rule-based extraction, transformation, and loading of data between disparate data sources |
| GB2524075A (en) | 2014-03-14 | 2015-09-16 | Ibm | Advanced result cache refill |
| US10229150B2 (en) * | 2015-04-23 | 2019-03-12 | Splunk Inc. | Systems and methods for concurrent summarization of indexed data |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6353828B1 (en) * | 1999-05-14 | 2002-03-05 | Oracle Corp. | Concurrency control for transactions that update base tables of a materialized view using different types of locks |
| US6882993B1 (en) * | 2002-01-28 | 2005-04-19 | Oracle International Corporation | Incremental refresh of materialized views with joins and aggregates after arbitrary DML operations to multiple tables |
| US7321898B1 (en) * | 2002-04-04 | 2008-01-22 | Ncr Corp. | Locking mechanism for materialized views in a database system |
| US6952692B1 (en) * | 2002-05-17 | 2005-10-04 | Ncr Corporation | Execution of requests in a parallel database system |
| US7818297B2 (en) * | 2003-03-31 | 2010-10-19 | Hewlett-Packard Development Company, L.P. | System and method for refreshing a table using epochs |
| US20050102326A1 (en) * | 2003-10-22 | 2005-05-12 | Nitzan Peleg | Method and apparatus for performing conflict resolution in database logging |
| US7302441B2 (en) * | 2004-07-20 | 2007-11-27 | International Business Machines Corporation | System and method for gradually bringing rolled in data online with incremental deferred integrity processing |
| JP4488825B2 (ja) | 2004-07-29 | 2010-06-23 | タキロン株式会社 | 制電性樹脂成形体 |
| US7930297B2 (en) * | 2004-12-03 | 2011-04-19 | Oracle International Corporation | Materialized view maintenance and change tracking |
-
2006
- 2006-12-07 JP JP2006331213A patent/JP4380692B2/ja not_active Expired - Fee Related
-
2007
- 2007-10-22 US US11/876,520 patent/US8271440B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008146264A (ja) | 2008-06-26 |
| US8271440B2 (en) | 2012-09-18 |
| US20080086449A1 (en) | 2008-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10055440B2 (en) | Database table re-partitioning using trigger-based capture and replay | |
| CN105630863B (zh) | 用于多版本并发提交状态的事务控制块 | |
| US9411866B2 (en) | Replication mechanisms for database environments | |
| JP6448609B2 (ja) | データ取得方法及びシステム | |
| CN107077495B (zh) | 数据库管理系统中的高性能事务 | |
| US9336262B2 (en) | Accelerated transactions with precommit-time early lock release | |
| US10042910B2 (en) | Database table re-partitioning using two active partition specifications | |
| US9286300B2 (en) | Archiving data in database management systems | |
| US10452629B2 (en) | Automatic maintenance of a set of indexes with different currency characteristics in a database management system | |
| EP3519986B1 (en) | Direct table association in in-memory databases | |
| US8296269B2 (en) | Apparatus and method for read consistency in a log mining system | |
| US9053153B2 (en) | Inter-query parallelization of constraint checking | |
| JP2010257426A (ja) | データベース間でデータを同期するための方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム | |
| US20090319581A1 (en) | Online Table Move | |
| US20180137115A1 (en) | High performance parallel indexing for forensics and electronic discovery | |
| US11669535B1 (en) | Maintaining at a target database system a copy of a source table of a source database system | |
| US20190065495A1 (en) | Offloading constraint enforcement in a hybrid dbms | |
| US11144574B2 (en) | System and method for managing database | |
| US20090030880A1 (en) | Model-Based Analysis | |
| US8271440B2 (en) | Apparatus, method and program for refreshing a summary table | |
| US8719315B2 (en) | Representation of business object in analytical application by combining replicated, analytical, and locally enriched data | |
| US12254024B2 (en) | Conditional replication of data | |
| US20180150498A1 (en) | Database management device, information processing system, and database management method | |
| Fang et al. | MaLT: A Framework for Managing Large Transactions in OceanBase | |
| JP7024432B2 (ja) | データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090421 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20090421 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20090515 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090722 |
|
| 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: 20090901 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20090903 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090914 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |