JP6199808B2 - データベース装置およびデータアクセス方法 - Google Patents
データベース装置およびデータアクセス方法 Download PDFInfo
- Publication number
- JP6199808B2 JP6199808B2 JP2014117844A JP2014117844A JP6199808B2 JP 6199808 B2 JP6199808 B2 JP 6199808B2 JP 2014117844 A JP2014117844 A JP 2014117844A JP 2014117844 A JP2014117844 A JP 2014117844A JP 6199808 B2 JP6199808 B2 JP 6199808B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- node
- acquired
- version number
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Claims (10)
- ストレージ装置と、
前記ストレージ装置とネットワークを介して接続される複数のノードと、
を具備し、
前記ストレージ装置は、
他のノードによるデータの読込みとデータの書込みとのうちのデータの読込みのみを禁止する書込用共有ロックを含むデータの整合性保持のための各種ロックを前記複数のノードからの要求に応じてデータ領域単位に設定および解除する排他制御手段と、
前記ストレージ装置に対して実行されるデータの書込みの順序を示すバージョン番号を管理するバージョン番号管理手段と、
を具備し、
前記複数のノードそれぞれは、
前記ストレージ装置のデータ用のキャッシュ領域が確保されるメモリと、
前記メモリを用いて前記ストレージ装置へのデータの書込みを実行するデータ書込み手段と、
を具備し、
前記データ書込み手段は、
書込み対象のデータ領域について前記書込用共有ロックを前記ストレージ装置から取得すると共に、最新のバージョン番号を前記ストレージ装置から取得し、
書込みデータを前記取得した最新のバージョン番号と共に前記メモリに格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号とを前記ストレージ装置に格納して、前記書込用共有ロックを解放する、
データベース装置。 - 前記データ書込み手段は、
前記データ領域に新たなデータを上書きする第1パターンの書込みの場合、旧バージョンの書込みデータとの合併が不要であることを示す第1フラグ値を前記ストレージ装置に格納し、
前記データ領域のデータに処理を施して当該データを更新する第2パターンの書込みの場合、その処理内容を示すデータを書込みデータとして前記ストレージ装置および前記取得した最新のバージョン番号と共に前記メモリに格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号と、旧バージョンの書込みデータとの合併が必要であることを示す第2フラグ値とを前記ストレージ装置に格納して、前記書込用共有ロックを解放する、
請求項1に記載のデータベース装置。 - 前記複数のノードそれぞれは、前記メモリを用いて前記ストレージ装置からのデータの読込みを実行するデータ読込み手段を具備し、
前記データ読込み手段は、
読込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとのうちのデータの書込みのみを禁止する読込用共有ロックを前記ストレージ装置から取得すると共に、前記読込み対象のデータ領域に対する最新の書込みデータに関するノード番号、バージョン番号および第1フラグ値または第2フラグ値を前記ストレージ装置から取得し、
前記ストレージ装置から第1フラグ値が取得され、かつ、前記ストレージ装置から取得されたバージョン番号が前記読込み対象のデータ領域に対する書込みデータと共に前記メモリに格納されるバージョン番号と一致する場合、前記メモリから読込みデータを取得して、前記読込用共有ロックを解放し、
前記ストレージ装置から第1フラグ値が取得され、かつ、前記ストレージ装置から取得されたバージョン番号が前記読込み対象のデータ領域に対する書込みデータと共に前記メモリに格納されるバージョン番号よりも新しい値であった場合、前記取得したノード番号で示される他のノードに対して前記最新の書込みデータの前記ストレージ装置への反映を要求した後、前記ストレージ装置から読込みデータを取得して、前記読込用共有ロックを解放し、
前記ストレージ装置から第2フラグ値が取得された場合、前記読込み対象のデータ領域に対する書込みデータであって、第1フラグ値を持つ書込みデータの中で最も新しいバージョン番号の書込みデータおよびそれ以降のバージョン番号の第2フラグ値を持つ書込みデータを前記ストレージ装置から取得し、前記取得した複数の書込みデータを合併して読込みデータを取得して、前記読込用共有ロックを解放する、
請求項2に記載のデータベース装置。 - 前記データ読込み手段は、
前記ストレージ装置から読込みデータを取得する場合、前記ストレージ装置から取得されたバージョン番号と共に前記読込みデータを前記メモリに格納し、
複数の書込みデータを合併して読込みデータを取得する場合、読込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとの両方を禁止する排他ロックを前記ストレージ装置から取得すると共に、最新のバージョン番号を前記ストレージ装置から取得し、前記読込みデータを書込みデータとして前記ストレージ装置に格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号と、前記第1フラグ値とを前記ストレージ装置に格納して、前記排他ロックを解放し、前記取得した最新のバージョン番号と共に前記読込みデータを前記メモリに格納する、
請求項3に記載のデータベース装置。 - 前記複数のノードそれぞれは、前記メモリに格納されるデータを前記ストレージ装置に反映させるデータ反映手段をさらに具備し、
前記データ反映手段は、
書込み対象のデータ領域に対する最新の書込みデータに関するバージョン番号を前記ストレージ装置から取得し、
前記ストレージ装置から取得されたバージョン番号が前記書込み対象のデータ領域に対する書込みデータと共に前記メモリに格納されるバージョン番号と一致する場合、前記書込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとの両方を禁止する排他ロックを前記ストレージ装置から取得すると共に、最新のバージョン番号を前記ストレージ装置から取得し、前記メモリに格納されるデータを前記ストレージ装置に格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号と、前記第1フラグ値とを前記ストレージ装置に格納して、前記排他ロックを解放する、
請求項3に記載のデータベース装置。 - 複数のノードがストレージ装置を共有するデータベース装置におけるデータアクセス方法であって、
前記複数のノードそれぞれは、
前記ストレージ装置へのデータの書込みを実行する場合、書込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとのうちのデータの読込みのみを禁止する書込用共有ロックを前記ストレージ装置から取得すると共に、前記ストレージ装置に対して実行されるデータの書込みの順序を示す最新のバージョン番号を前記ストレージ装置から取得し、
書込みデータを前記取得した最新のバージョン番号と共に自ノードのメモリに格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号とを前記ストレージ装置に格納して、前記書込用共有ロックを解放する、
データアクセス方法。 - 前記複数のノードそれぞれは、
前記データ領域に新たなデータを上書きする第1パターンの書込みの場合、旧バージョンの書込みデータとの合併が不要であることを示す第1フラグ値を前記ストレージ装置に格納し、
前記データ領域のデータに処理を施して当該データを更新する第2パターンの書込みの場合、その処理内容を示すデータを書込みデータとして前記ストレージ装置および前記取得した最新のバージョン番号と共に自ノードのメモリに格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号と、旧バージョンの書込みデータとの合併が必要であることを示す第2フラグ値とを前記ストレージ装置に格納して、前記書込用共有ロックを解放する、
請求項6に記載のデータアクセス方法。 - 前記複数のノードそれぞれは、
前記ストレージ装置からのデータの読込みを実行する場合、読込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとのうちのデータの書込みのみを禁止する読込用共有ロックを前記ストレージ装置から取得すると共に、前記読込み対象のデータ領域に対する最新の書込みデータに関するノード番号、バージョン番号および第1フラグ値または第2フラグ値を前記ストレージ装置から取得し、
前記ストレージ装置から第1フラグ値が取得され、かつ、前記ストレージ装置から取得されたバージョン番号が前記読込み対象のデータ領域に対する書込みデータと共に前記メモリに格納されるバージョン番号と一致する場合、自ノードのメモリから読込みデータを取得して、前記読込用共有ロックを解放し、
前記ストレージ装置から第1フラグ値が取得され、かつ、前記ストレージ装置から取得されたバージョン番号が前記読込み対象のデータ領域に対する書込みデータと共に自ノードのメモリに格納されるバージョン番号よりも新しい値であった場合、前記取得したノード番号で示される他のノードに対して前記最新の書込みデータの前記ストレージ装置への反映を要求した後、前記ストレージ装置から読込みデータを取得して、前記読込用共有ロックを解放し、
前記ストレージ装置から第2フラグ値が取得された場合、前記読込み対象のデータ領域に対する書込みデータであって、第1フラグ値を持つ書込みデータの中で最も新しいバージョン番号の書込みデータおよびそれ以降のバージョン番号の第2フラグ値を持つ書込みデータを前記ストレージ装置から取得し、前記取得した複数の書込みデータを合併して読込みデータを取得して、前記読込用共有ロックを解放する、
請求項7に記載のデータアクセス方法。 - 前記複数のノードそれぞれは、
前記ストレージ装置から読込みデータを取得する場合、前記ストレージ装置から取得されたバージョン番号と共に前記読込みデータを自ノードのメモリに格納し、
複数の書込みデータを合併して読込みデータを取得する場合、読込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとの両方を禁止する排他ロックを前記ストレージ装置から取得すると共に、最新のバージョン番号を前記ストレージ装置から取得し、前記読込みデータを書込みデータとして前記ストレージ装置に格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号と、前記第1フラグ値とを前記ストレージ装置に格納して、前記排他ロックを解放し、前記取得した最新のバージョン番号と共に前記読込みデータを自ノードのメモリに格納する、
請求項8に記載のデータアクセス方法。 - 前記複数のノードそれぞれは、
自ノードのメモリに格納されるデータを前記ストレージ装置に反映させる場合、書込み対象のデータ領域に対する最新の書込みデータに関するバージョン番号を前記ストレージ装置から取得し、
前記ストレージ装置から取得されたバージョン番号が前記書込み対象のデータ領域に対する書込みデータと共に自ノードのメモリに格納されるバージョン番号と一致する場合、前記書込み対象のデータ領域について他のノードによるデータの読込みとデータの書込みとの両方を禁止する排他ロックを前記ストレージ装置から取得すると共に、最新のバージョン番号を前記ストレージ装置から取得し、自ノードのメモリに格納されるデータを前記ストレージ装置に格納し、前記書込みデータに関する情報として、自ノードのノード番号と、前記取得した最新のバージョン番号と、前記第1フラグ値とを前記ストレージ装置に格納して、前記排他ロックを解放する、
請求項8に記載のデータアクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014117844A JP6199808B2 (ja) | 2014-06-06 | 2014-06-06 | データベース装置およびデータアクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014117844A JP6199808B2 (ja) | 2014-06-06 | 2014-06-06 | データベース装置およびデータアクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015230689A JP2015230689A (ja) | 2015-12-21 |
JP6199808B2 true JP6199808B2 (ja) | 2017-09-20 |
Family
ID=54887406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014117844A Active JP6199808B2 (ja) | 2014-06-06 | 2014-06-06 | データベース装置およびデータアクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6199808B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6402537B2 (ja) * | 2014-08-22 | 2018-10-10 | 富士通株式会社 | 更新処理プログラム、装置、及び方法 |
JP6490642B2 (ja) * | 2016-09-20 | 2019-03-27 | 株式会社東芝 | データベース管理装置、データベース管理方法、およびデータベース管理プログラム |
CN112286947B (zh) * | 2020-09-29 | 2022-10-04 | 阿里云计算有限公司 | 保持不同存储系统的数据一致的方法以及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2507235B2 (ja) * | 1994-06-24 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法 |
JP3206453B2 (ja) * | 1996-09-17 | 2001-09-10 | 日本電気株式会社 | 共有ファイル更新制御方式 |
JP4242155B2 (ja) * | 2001-03-07 | 2009-03-18 | オラクル・インターナショナル・コーポレイション | 永続的記憶装置へのダーティデータ項目の書込を調整するための方法、当該方法をコンピュータに行なわせるためのプログラムを格納したコンピュータ読出可能な媒体、および、永続的記憶装置へのダーティデータ項目の書込を調整するための装置 |
JP5105713B2 (ja) * | 2005-03-30 | 2012-12-26 | 日本電気株式会社 | 情報処理装置 |
US7392335B2 (en) * | 2006-02-10 | 2008-06-24 | Oracle International Corporation | Anticipatory changes to resources managed by locks |
JP5652228B2 (ja) * | 2011-01-25 | 2015-01-14 | 富士通株式会社 | データベースサーバ装置、データベース更新方法及びデータベース更新プログラム |
-
2014
- 2014-06-06 JP JP2014117844A patent/JP6199808B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015230689A (ja) | 2015-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9268810B2 (en) | Locking across multiple RID spaces | |
US7801855B2 (en) | Method and apparatus for merging log entries in a database management system | |
US8473950B2 (en) | Parallel nested transactions | |
US8762333B2 (en) | Apparatus and method for read optimized bulk data storage | |
US8832022B2 (en) | Transaction processing device, transaction processing method and transaction processing program | |
US20170038971A1 (en) | Memory controller and memory system | |
US20140351547A1 (en) | Linked list for lock-free memory allocation | |
US11321302B2 (en) | Computer system and database management method | |
JP6199808B2 (ja) | データベース装置およびデータアクセス方法 | |
US8600962B2 (en) | Transaction processing device, transaction processing method, and transaction processing program | |
US10346368B2 (en) | Method and apparatus of per-block-group journaling for ordered mode journaling file system | |
US20150277966A1 (en) | Transaction system | |
US20170371916A1 (en) | Database management device, database management method, and storage medium | |
US9898468B2 (en) | Single pass file system repair with copy on write | |
JP5105713B2 (ja) | 情報処理装置 | |
CN107924418A (zh) | 在非易失性存储器中使易失性隔离事务具有失败原子性 | |
US8572048B2 (en) | Supporting internal consistency checking with consistency coded journal file entries | |
US20170177615A1 (en) | TRANSACTION MANAGEMENT METHOD FOR ENHANCING DATA STABILITY OF NoSQL DATABASE BASED ON DISTRIBUTED FILE SYSTEM | |
US10430287B2 (en) | Computer | |
US10169233B2 (en) | Translation lookaside buffer purging with concurrent cache updates | |
KR20100094157A (ko) | 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법 | |
JP6839126B2 (ja) | 制御処理装置、制御処理方法および制御処理プログラム | |
CN113778975A (zh) | 基于分布式数据库的数据处理方法及装置 | |
US9405689B2 (en) | Locally caching data from a shared storage | |
JP6784296B2 (ja) | データベース管理装置、データベース管理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160923 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170714 |
|
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: 20170725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170824 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6199808 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |