JP4951137B2 - データベースの管理方法 - Google Patents
データベースの管理方法 Download PDFInfo
- Publication number
- JP4951137B2 JP4951137B2 JP2011178571A JP2011178571A JP4951137B2 JP 4951137 B2 JP4951137 B2 JP 4951137B2 JP 2011178571 A JP2011178571 A JP 2011178571A JP 2011178571 A JP2011178571 A JP 2011178571A JP 4951137 B2 JP4951137 B2 JP 4951137B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- master node
- master
- update
- node
- 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
Links
- 238000012545 processing Methods 0.000 claims description 26
- 238000007726 management method Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000010076 replication Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence 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/21—Design, administration or maintenance of databases
-
- 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
-
- 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
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
そのためミラーノードが独自にデータ更新命令(INSERT、UPDATE、DELETE)を実行することはないため、マスタノードからのトランザクションログを参照して自身のデータベースをアップデートしてやればよかった。
本発明の請求項1は、マスタノードを階層的に有する追記型データベースにおける上位マスタノードのデータベース管理方法であって、いずれかの下位マスタノードでデータベースへの更新命令が生じたときに、上位マスタノードは、当該下位マスタノードのデータベース処理部によって自身のメモリ上に展開されたデータベースのシャドウコピーとヒープタプルマップとから生成された書込セットを受信するステップと、前記上位マスタノードが、前記で受信した書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているデータベースの該当行が別の書込セットで更新されているか否かを検証するステップと、前記更新がなされているときには当該書込セットをアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するステップと、からなる上位マスタノードにおけるデータベースの管理方法である。
図1は、本実施形態の階層的マスタノードの構造を示している。同図に示すように、上位マスタノード(MS101)の下に階層的に下位マスタノード(MS201,MS202・・・MS20nや、MS301,MS302・・・MS30n)を有するノード構成となっている。各ノード(情報処理装置)にはデータベースを有している。また上位マスタノード(MS101)にはスレーブを有しているが、他の下位マスタノードにもスレーブを有していてもよい。このようなマスタ・スレーブ構成の場合には両者間のデータベースの更新には本出願人によるPCT/JP2010/054311(本出願人による未公開先行出願)に記載された更新管理技術を適用することができる。
製(レプリケーション)すればよかったのに対して、本実施形態では、階層的なマルチマスタノードで構成されており下位マスタノードでもアップデート命令が実行されていた場合、上位からのトランザクションログの参照だけでは全下位ノードの整合性を保つことができない点に着目した点が特徴である。以下に説明する。
同図に示すように、クライアント(CL)からデータベースの更新命令が入力されるとデータベース処理部(11b)は、メインメモリ(MM)上に構築されたバックエンドメモリ(BEM)上で書込セットを生成する。この書込セットは図4に示すようにヒープタプルマップ(HTM)とシャドウコピー(SC)とで構成される。ここでは、マスタデータベース(101a)の行番号4を削除(DELETE)し、行番号5を新たな値(sc1)に書き換える(UPDATE)する更新命令が入力されたものと仮定する。
同図は、下位マスタノード(MS201)におけるマスタデータベース(11a)と、書込セットとの関係を示している。マスタデータベース(201a)は行番号と、命令内容と、ポインタとによって構成されており、新たな命令がクライアント端末(CL)からなされる毎に行番号が追加されていく追記型のデータベースである。同図の場合、前記で説明したように、行番号4を削除(DELETE)し、行番号5を新たな命令内容に書き換える(sc1にUPDATE)する場合を示している。
ピー(SC)とからなる書込セットが生成される。
上位マスタノード(MS101)において、データベース処理部11b(中央処理装置(CPU))は、前記下位マスタノード(MS201)から前記書込セットを受信すると、前記更新命令にともなってトランザクションログ処理部(11c)を起動してトランザクションログデータの生成を開始する。そして、前記で受信した書込セットからヒープタプルマップ(HTM)を読み出して、自身のマスタデータベース(11a)と比較する。ここで、ターゲットとなっているタプル(ここでは行番号4,5および7)の内容がマスタデータベース(11a)上で更新されているか否かを検証する。図5では、行番号4〜6については未更新であるため、行番号4に削除ポインタを付与し、書き換えられる旧番号5にも削除ポインタを付与する。そして、新たな行番号7に新しい命令(sc1)が書き込まれる。
具体的には、下位マスタノード(たとえばM202)が図6に示したトランザクションログデータを通信モジュール(11d)で受信すると、トランザクションログ処理部(11c)を起動してこのトランザクションログデータを自身のマスタデータベース(11a)にレプリケーションする。この結果、行番号4と5に削除ポインタが付与され、新たな行番号7が追加される。
以上、本発明を実施形態に基づいて説明したが、本発明はこれに限定されるものではない。以下、その変形例について説明する。
下位マスタノード(たとえばMS201)でマスタデータベースの更新命令が発生した場合の処理については、図2で説明したように、バックエンドメモリ(BEM)上でヒープタプルマップ(HTM、ヒープファイル)とシャドウコピー(SC)とからなる書込セットが生成されるが、上位マスタノード(MS101)でマスタデータベースの更新命令が発生した場合には、上位ノードに通知する必要がないため、書込セットは生成されない。すなわち、このような場合、上位ノード(MS101)では、図5の左図に示すようにマスタデータベース(11a)に対して直接更新データの書込が行われるとともに、図6に示すトランザクションログデータが生成される。このトランザクションログデータは下位マスタノードに配信され、前記トランザクションログデータを受信した下位マスタノードでは、当該トランザクションログデータを自身のマスタデータベースにレプリケーションする。
下位マスタノード(たとえばMS201)において、図4に示すような書込セットを生成している段階で、当該下位マスタノードのマスタデータベースに対して検索が実行されたとき、書込セットの生成された行番号以外の行番号を対象とした検索であれば問題はないが、該当行(ここでは行番号4および行番号5)に対する検索が実行された場合、これらの行番号は既に削除されているため、検索対象にはできない。
第1の類型は、データベース処理部(11b)は、マスタデータベース(11a)を参照した後に、ヒープタプルマップ(HTM)を参照する。そしてこのヒープタプルマップ(HTM)上で検索該当行番号がエントリされているか否かをチェックする。そしてエントリがあった場合には当該エントリが削除か更新かを判定し、更新の場合にはさらにシャドウコピー(SC)を参照して当該シャドウコピー(SC)のエントリ(sc1)を検索対象とする。たとえば図4に示す例で、検索対象が行番号3である場合、データベース処理部(11b)は、メインメモリ(MM)上に構築されたバックエンドメモリ(BEM)上の書込セット内のヒープタプルマップ(HTM)を参照して、該当行(行番号3)がエントリされているか否かを判定する。図4の例では、該当行はエントリされていない。その場合には、マスタデータベース201aに直接アクセスして該当行(行番号3)を検索する。
とはならない。データベース処理部(11b)は、ヒープタプルマップ(HTM)を参照して該当行(行番号4)が削除されていることを検出する。このように、検索対象行が削除されているため、データベース処理部(11b)は該当行を検索対象とはしない。
第2の類型では、データベース処理部(11b)はまずマスタデータベース(11a)を参照した後に、ヒープタプルマップ(HTM)の全体を参照する。このとき、検索対象となっている行がエントリされているか否かをチェックし、エントリされている行番号(ここでは行番号4および5)を全て削除されたものとする(検索対象から除外する)。次に、データベース処理部11bは、シャドウコピー(SC)を参照して、シャドウコピー内の追加されたエントリ(sc1)を参照しこれを検索対象とすればよい。
上位マスタから配信されたトランザクションログデータによって下位マスタノードのデータベースにレプリケーションが行われているときに、該当行に対して下位マスタのデータベースの更新命令が実行されている場合、競合が発生することになる。
ら参照できるようにしたことにより、マルチマスタ方式のデータベースにおいても下位マスタノードの段階で、競合を防止できる。さらに、ヒープタプルマップ(HTM)のみを共有メモリに配置しておけばよいので、貴重な共有メモリを占有してしまうこともない。
SL スレーブ
MS201,MS202・・・MS20n 下位マスタノード
MS301,MS302・・・MS30n 下位マスタノード
CL クライアント端末
11a マスタデータベース
11b データベース処理部
11c トランザクションログ処理部
11d 通信モジュール
CPU 中央処理装置
MM 主記憶装置
BUS バス
HD 大規模記憶装置
I/O 通信インターフェース
HTM ヒープタプルマップ
SC シャドウコピー
Claims (2)
- マスタノードを階層的に有する追記型データベースにおける上位マスタノードのデータベース管理方法であって、
いずれかの下位マスタノードでデータベースへの更新命令が生じたときに、
上位マスタノードは、当該下位マスタノードのデータベース処理部によって自身のメモリ上に展開されたデータベースのシャドウコピーとヒープタプルマップとから生成された書込セットを受信するステップと、
前記上位マスタノードが、前記で受信した書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているデータベースの該当行が別の書込セットで更新されているか否かを検証するステップと、
前記更新がなされているときには当該書込セットをアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するステップと、
からなる上位マスタノードにおけるデータベースの管理方法。 - 前記上位マスタノードは、前記下位マスタノードにおいて新規の追加行のみで構成されたシャドウコピーを前記書込セットとして受信する請求項1記載の上位マスタノードにおけるデータベースの管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011178571A JP4951137B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010239713 | 2010-10-26 | ||
JP2010239713 | 2010-10-26 | ||
JP2011178571A JP4951137B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011534944A Division JP4951154B1 (ja) | 2010-10-26 | 2011-08-08 | データベースの管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012108874A JP2012108874A (ja) | 2012-06-07 |
JP4951137B2 true JP4951137B2 (ja) | 2012-06-13 |
Family
ID=45993477
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011534944A Active JP4951154B1 (ja) | 2010-10-26 | 2011-08-08 | データベースの管理方法 |
JP2011178575A Active JP4951141B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
JP2011178574A Active JP4951140B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
JP2011178571A Active JP4951137B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
JP2011178572A Active JP4951138B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
JP2011178573A Active JP4951139B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011534944A Active JP4951154B1 (ja) | 2010-10-26 | 2011-08-08 | データベースの管理方法 |
JP2011178575A Active JP4951141B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
JP2011178574A Active JP4951140B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011178572A Active JP4951138B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
JP2011178573A Active JP4951139B2 (ja) | 2010-10-26 | 2011-08-17 | データベースの管理方法 |
Country Status (4)
Country | Link |
---|---|
US (6) | US8793233B2 (ja) |
EP (1) | EP2634701B1 (ja) |
JP (6) | JP4951154B1 (ja) |
WO (2) | WO2012056734A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014010014A1 (ja) | 2012-07-09 | 2014-01-16 | 株式会社Murakumo | ツリー構造の管理方法、情報処理システム、及び、プログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012056734A1 (ja) * | 2010-10-26 | 2012-05-03 | 株式会社Murakumo | データベースの管理方法 |
JP5283766B2 (ja) * | 2011-07-05 | 2013-09-04 | 株式会社Murakumo | データベースの管理方法、データベース管理システム、およびプログラム |
WO2016157466A1 (ja) * | 2015-03-31 | 2016-10-06 | 株式会社Murakumo | データベースシステム、装置、方法およびプログラム |
JP6996176B2 (ja) * | 2017-09-11 | 2022-01-17 | カシオ計算機株式会社 | データベース管理システム |
CN113761059A (zh) * | 2021-08-03 | 2021-12-07 | 阿里云计算有限公司 | 数据处理方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001319012A (ja) | 2000-05-11 | 2001-11-16 | Ntt Power & Building Facilities Inc | 集計データ作成方法およびプログラム記録媒体 |
JP2002149459A (ja) * | 2000-11-10 | 2002-05-24 | Mitsubishi Electric Corp | 冗長化データベース管理・検索システム |
JP2005310008A (ja) * | 2004-04-23 | 2005-11-04 | Fuji Xerox Co Ltd | 木構造データ同期装置および方法 |
JP2006293910A (ja) | 2005-04-14 | 2006-10-26 | Kokolink:Kk | 安全で高速なデータベース・レプリケーション技術 |
JP4929782B2 (ja) * | 2006-03-27 | 2012-05-09 | 富士通株式会社 | ミラーサイト運用プログラム、方法及びミラーサイトサーバコンピュータ |
US7702741B2 (en) * | 2007-07-31 | 2010-04-20 | Oracle International Corporation | Configuring or reconfiguring a multi-master information sharing environment |
JP5079561B2 (ja) * | 2008-03-21 | 2012-11-21 | 株式会社野村総合研究所 | データベースシステム及びデータベースシステムにおけるレプリカデータの更新方法 |
KR101335101B1 (ko) * | 2009-03-19 | 2013-12-03 | 가부시키가이샤 무라쿠모 | 데이터의 복제 관리 방법 및 시스템 |
WO2012056734A1 (ja) | 2010-10-26 | 2012-05-03 | 株式会社Murakumo | データベースの管理方法 |
US9135409B2 (en) | 2011-05-18 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Distributing update information based on validated license information |
EP2544107A1 (en) | 2011-07-05 | 2013-01-09 | Murakumo Corporation | Method of managing a database |
-
2011
- 2011-01-28 WO PCT/JP2011/051747 patent/WO2012056734A1/ja active Application Filing
- 2011-08-08 JP JP2011534944A patent/JP4951154B1/ja active Active
- 2011-08-08 US US13/513,773 patent/US8793233B2/en active Active
- 2011-08-08 WO PCT/JP2011/068057 patent/WO2012056786A1/ja active Application Filing
- 2011-08-08 EP EP11835927.2A patent/EP2634701B1/en active Active
- 2011-08-17 JP JP2011178575A patent/JP4951141B2/ja active Active
- 2011-08-17 JP JP2011178574A patent/JP4951140B2/ja active Active
- 2011-08-17 JP JP2011178571A patent/JP4951137B2/ja active Active
- 2011-08-17 JP JP2011178572A patent/JP4951138B2/ja active Active
- 2011-08-17 JP JP2011178573A patent/JP4951139B2/ja active Active
-
2013
- 2013-03-04 US US13/784,244 patent/US8762354B2/en active Active
- 2013-03-04 US US13/784,288 patent/US8892535B2/en active Active
- 2013-03-04 US US13/784,203 patent/US8793234B2/en active Active
- 2013-03-04 US US13/784,272 patent/US8812468B2/en active Active
- 2013-03-04 US US13/784,254 patent/US8768903B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014010014A1 (ja) | 2012-07-09 | 2014-01-16 | 株式会社Murakumo | ツリー構造の管理方法、情報処理システム、及び、プログラム |
US9571299B2 (en) | 2012-07-09 | 2017-02-14 | Murakumo Corporation | Method for managing tree structure, information processing system, and medium |
Also Published As
Publication number | Publication date |
---|---|
US20130204855A1 (en) | 2013-08-08 |
EP2634701B1 (en) | 2020-03-04 |
US20130185255A1 (en) | 2013-07-18 |
JPWO2012056786A1 (ja) | 2014-03-20 |
JP4951140B2 (ja) | 2012-06-13 |
WO2012056734A1 (ja) | 2012-05-03 |
US8793234B2 (en) | 2014-07-29 |
US8768903B2 (en) | 2014-07-01 |
US8762354B2 (en) | 2014-06-24 |
US20130179417A1 (en) | 2013-07-11 |
JP4951138B2 (ja) | 2012-06-13 |
US8892535B2 (en) | 2014-11-18 |
JP2012108875A (ja) | 2012-06-07 |
JP4951139B2 (ja) | 2012-06-13 |
EP2634701A4 (en) | 2017-01-04 |
US20130179397A1 (en) | 2013-07-11 |
US8793233B2 (en) | 2014-07-29 |
JP2012108878A (ja) | 2012-06-07 |
EP2634701A1 (en) | 2013-09-04 |
JP2012108876A (ja) | 2012-06-07 |
US8812468B2 (en) | 2014-08-19 |
US20130179416A1 (en) | 2013-07-11 |
JP4951141B2 (ja) | 2012-06-13 |
US20120254138A1 (en) | 2012-10-04 |
JP4951154B1 (ja) | 2012-06-13 |
JP2012108877A (ja) | 2012-06-07 |
JP2012108874A (ja) | 2012-06-07 |
WO2012056786A1 (ja) | 2012-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4951137B2 (ja) | データベースの管理方法 | |
US11151157B2 (en) | Database management method | |
JP6008947B2 (ja) | データベースの管理方法、データベースシステム、及び、プログラム | |
JP6239697B2 (ja) | データベースの管理方法 | |
JP2013033439A (ja) | データベースの管理方法 | |
WO2012169080A1 (ja) | データベースの管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120309 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150316 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4951137 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |