JP6361223B2 - トランザクションシステム - Google Patents
トランザクションシステム Download PDFInfo
- Publication number
- JP6361223B2 JP6361223B2 JP2014066514A JP2014066514A JP6361223B2 JP 6361223 B2 JP6361223 B2 JP 6361223B2 JP 2014066514 A JP2014066514 A JP 2014066514A JP 2014066514 A JP2014066514 A JP 2014066514A JP 6361223 B2 JP6361223 B2 JP 6361223B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transaction
- wal
- record
- storage unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
キーとバリューの組で表現され、複数のレコードから構成される表形式データにおける上記レコードを上記バリューに格納し、上記バリューに格納した上記レコードの一部の列の値を上記キーに格納したキーバリューデータを記憶するキーバリューデータ記憶部と、
複数の上記キーバリューデータを1つのキーバリューデータに集約したデータグループ単位で、上記データグループに属する上記キーバリューデータの上記バリューに格納された上記レコードを参照および更新するトランザクションにおけるデータ操作命令の情報と該データ操作命令による処理により変更された上記レコードとを有する更新履歴を記憶するWAL記憶部と、
上記トランザクションのコミット時、上記WAL記憶部に記憶された上記更新履歴に基づいて上記レコード単位で排他違反の有無を判定し、排他違反がなければ上記トランザクションを成功させ、その更新履歴を上記WAL記憶部に記録するトランザクション処理部と、
上記WAL記憶部に記憶されている上記更新履歴に基づいて上記キーバリューデータ記憶部を更新するWAL反映処理部と
を有する。
キーとバリューの組で表現され、複数のレコードから構成される表形式データにおける上記レコードを上記バリューに格納し、上記バリューに格納した上記レコードの一部の列の値を上記キーに格納したキーバリューデータを記憶するキーバリューデータ記憶部と、
複数の上記キーバリューデータを1つのキーバリューデータに集約したデータグループ単位で、上記データグループに属する上記キーバリューデータの上記バリューに格納された上記レコードを参照および更新するトランザクションにおけるデータ操作命令の情報と該データ操作命令による処理により変更された上記レコードとを有する更新履歴を記憶するWAL記憶部と、
トランザクション処理部と、
WAL反映処理部と
を有するトランザクションシステムの制御方法であって、
上記トランザクション処理部が、上記トランザクションのコミット時、上記WAL記憶部に記憶された上記更新履歴に基づいて上記レコード単位で排他違反の有無を判定し、排他違反がなければ上記トランザクションを成功させ、その更新履歴を上記WAL記憶部に記録し、
上記WAL反映処理部が、上記WAL記憶部に記憶されている上記更新履歴に基づいて上記キーバリューデータ記憶部を更新する。
キーとバリューの組で表現され、複数のレコードから構成される表形式データにおける上記レコードを上記バリューに格納し、上記バリューに格納した上記レコードの一部の列の値を上記キーに格納したキーバリューデータを記憶するキーバリューデータ記憶部と、
複数の上記キーバリューデータを1つのキーバリューデータに集約したデータグループ単位で、上記データグループに属する上記キーバリューデータの上記バリューに格納された上記レコードを参照および更新するトランザクションにおけるデータ操作命令の情報と該データ操作命令による処理により変更された上記レコードとを有する更新履歴を記憶するWAL記憶部と
を有するコンピュータを、
上記トランザクションのコミット時、上記WAL記憶部に記憶された上記更新履歴に基づいて上記レコード単位で排他違反の有無を判定し、排他違反がなければ上記トランザクションを成功させ、その更新履歴を上記WAL記憶部に記録するトランザクション処理部と、
上記WAL記憶部に記憶されている上記更新履歴に基づいて上記キーバリューデータ記憶部を更新するWAL反映処理部と
して機能させる。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかるトランザクションシステム100は、トランザクション処理部110、WAL記憶部120、WAL反映処理部130、KVS140、システムカタログ150、およびアプリケーション(アプリケーションプログラム)160を備えている。
「ユーザーが新たに入札を行った際に、商品テーブルと入札テーブルのレコードを更新する」
最初のトランザクション:「入札テーブルT002のIDがb1のレコードの入札額を12000に更新し、商品テーブルT001の商品IDがi1の最高金額を12000に更新する」
二番目のトランザクション:「入札テーブルT002のIDがb2のレコードの入札額を13000に更新し、商品テーブルT001の商品IDがi1の最高金額を13000に更新する。」
・当該WALを識別するためのキー値
・トランザクションにおけるデータ操作命令の情報と当該データ操作命令による処理により更新されたレコード
WAL=(Key,Value)=(WAL_i1,<[update,(i1,AAA,10,5,12000),(b1,i1,u3,12000),タイムスタンプ1],[update,(i1,AAA,10,5,13000),(b2,i1,u1,13000),タイムスタンプ2]>)
図12は、本発明の第2の実施形態のブロック図である。図12に示すように、本実施形態は、1以上のトランザクション処理部1と、KVS2と、WAL記憶部3と、WAL反映処理部4とを有する。
2…KVS
3…WAL記憶部
4…WAL反映処理部
5…WAL管理部
6…排他チェック処理部
Claims (7)
- キーとバリューの組で表現され、複数のレコードから構成される表形式データにおける前記レコードを前記バリューに格納し、前記バリューに格納した前記レコードの一部の列の値を前記キーに格納したキーバリューデータを記憶するキーバリューデータ記憶部と、
複数の前記キーバリューデータを1つのキーバリューデータに集約したデータグループ単位で、前記データグループに属する前記キーバリューデータの前記バリューに格納された前記レコードを参照および更新するトランザクションにおけるデータ操作命令の情報と該データ操作命令による処理により変更された前記レコードとを有する更新履歴を記憶するWAL記憶部と、
前記トランザクションのコミット時、前記WAL記憶部に記憶された前記更新履歴に基づいて前記レコード単位で排他違反の有無を判定し、排他違反がなければ前記トランザクションを成功させ、その更新履歴を前記WAL記憶部に記録するトランザクション処理部と、
前記WAL記憶部に記憶されている前記更新履歴に基づいて前記キーバリューデータ記憶部を更新するWAL反映処理部と
を有するトランザクションシステム。 - 前記WAL反映処理部は、
前記WAL記憶部に記憶されている前記更新履歴に含まれるデータ操作命令の情報に基づいて、更新の対象となった前記レコードをバリューに格納する更新前のキーバリューデータを前記キーバリューデータ記憶部から取得する更新前KVデータ取得手段と、
前記更新前のキーバリューデータに対して前記データ操作命令による処理を行って更新後のキーバリューデータを作成し、前記キーバリューデータ記憶部に記憶する更新後KVデータ作成登録手段と
を有する
請求項1に記載のトランザクションシステム。 - 前記WAL記憶部は、キーとバリューの組で表現される更新ログを記憶し、前記キーは複数の前記キーバリューデータを集約したデータであるデータグループを一意に識別する値であり、前記バリューは前記データグループの更新履歴を表し、また、前記更新履歴は、1以上の部分更新履歴を有し、1つの前記部分更新履歴は、前記データグループを構成する前記キーバリューデータのバリューに格納されたレコードに対するデータ操作命令の情報と当該データ操作命令による処理により変更された前記レコードと更新の順番を表すタイムスタンプとを有し、
前記トランザクション処理部は、
アプリケーションプログラムから入力されたトランザクションで使用する前記データグループを構成する前記キーバリューデータの最新の値を前記WAL記憶部および前記キーバリューデータ記憶部から取得し、また、当該データグループに対応する前記更新ログ中の最新の前記タイムスタンプをスタート時タイムスタンプとして前記WAL記憶部から取得し、前記トランザクションを実行するWAL管理部と、
前記トランザクションのコミット時、前記トランザクションのスタート時に取得された前記スタート時タイムスタンプと、前記WAL記憶部に現に記憶されている前記データグループの最新の前記タイムスタンプであるコミット時タイムスタンプとを比較し、前記スタート時タイムスタンプと前記コミット時タイムスタンプとが相違するときは、前記スタート時タイムスタンプより後のタイムスタンプを有する前記部分更新履歴中に、前記トランザクションが使用した前記レコードと一致するレコードに対するデータ操作命令の情報が存在するか否かを判定し、前記比較と前記判定の結果とに基づいて、前記トランザクションを成功させるか、失敗させるかを決定し、成功させると決定した場合、前記トランザクションで更新した前記レコードに対するデータ操作命令の情報と当該データ操作命令による処理により更新した前記レコードと前記コミット時タイムスタンプより後のタイムスタンプとを有する新たな部分更新履歴を、前記データグループに対応して前記WAL記憶部に現に記憶されている前記更新ログに追加する排他チェック処理部と
を有する請求項1または2に記載のトランザクションシステム。 - 前記排他チェック処理部は、前記判定では、前記スタート時タイムスタンプより後のタイムスタンプを有する前記部分更新履歴中に、前記トランザクションが参照または更新した前記レコードと一致するレコードに対するデータ操作命令の情報が存在するか否かを判定する
請求項3に記載のトランザクションシステム。 - 前記排他チェック処理部は、前記判定では、前記スタート時タイムスタンプより後のタイムスタンプを有する前記部分更新履歴中に、前記トランザクションが更新した前記レコードと一致するレコードに対するデータ操作命令の情報が存在するか否かを判定する
請求項3に記載のトランザクションシステム。 - キーとバリューの組で表現され、複数のレコードから構成される表形式データにおける前記レコードを前記バリューに格納し、前記バリューに格納した前記レコードの一部の列の値を前記キーに格納したキーバリューデータを記憶するキーバリューデータ記憶部と、
複数の前記キーバリューデータを1つのキーバリューデータに集約したデータグループ単位で、前記データグループに属する前記キーバリューデータの前記バリューに格納された前記レコードを参照および更新するトランザクションにおけるデータ操作命令の情報と該データ操作命令による処理により変更された前記レコードとを有する更新履歴を記憶するWAL記憶部と、
トランザクション処理部と、
WAL反映処理部と
を有するトランザクションシステムの制御方法であって、
前記トランザクション処理部が、前記トランザクションのコミット時、前記WAL記憶部に記憶された前記更新履歴に基づいて前記レコード単位で排他違反の有無を判定し、排他違反がなければ前記トランザクションを成功させ、その更新履歴を前記WAL記憶部に記録し、
前記WAL反映処理部が、前記WAL記憶部に記憶されている前記更新履歴に基づいて前記キーバリューデータ記憶部を更新する
トランザクションシステム制御方法。 - キーとバリューの組で表現され、複数のレコードから構成される表形式データにおける前記レコードを前記バリューに格納し、前記バリューに格納した前記レコードの一部の列の値を前記キーに格納したキーバリューデータを記憶するキーバリューデータ記憶部と、
複数の前記キーバリューデータを1つのキーバリューデータに集約したデータグループ単位で、前記データグループに属する前記キーバリューデータの前記バリューに格納された前記レコードを参照および更新するトランザクションにおけるデータ操作命令の情報と該データ操作命令による処理により変更された前記レコードとを有する更新履歴を記憶するWAL記憶部と
を有するコンピュータを、
前記トランザクションのコミット時、前記WAL記憶部に記憶された前記更新履歴に基づいて前記レコード単位で排他違反の有無を判定し、排他違反がなければ前記トランザクションを成功させ、その更新履歴を前記WAL記憶部に記録するトランザクション処理部と、
前記WAL記憶部に記憶されている前記更新履歴に基づいて前記キーバリューデータ記憶部を更新するWAL反映処理部と
して機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066514A JP6361223B2 (ja) | 2014-03-27 | 2014-03-27 | トランザクションシステム |
US14/670,451 US10007548B2 (en) | 2014-03-27 | 2015-03-27 | Transaction system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066514A JP6361223B2 (ja) | 2014-03-27 | 2014-03-27 | トランザクションシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015191307A JP2015191307A (ja) | 2015-11-02 |
JP6361223B2 true JP6361223B2 (ja) | 2018-07-25 |
Family
ID=54190494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014066514A Active JP6361223B2 (ja) | 2014-03-27 | 2014-03-27 | トランザクションシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10007548B2 (ja) |
JP (1) | JP6361223B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176209B2 (en) * | 2015-06-26 | 2019-01-08 | Vmware, Inc. | Abortable transactions using versioned tuple cache |
US9893947B2 (en) * | 2015-06-26 | 2018-02-13 | International Business Machines Corporation | Transactional orchestration of resource management and system topology in a cloud environment |
JP6189488B1 (ja) * | 2016-06-27 | 2017-08-30 | 株式会社東芝 | データベース管理装置、データベース管理方法、およびデータベース管理プログラム |
US10585696B2 (en) * | 2016-11-08 | 2020-03-10 | International Business Machines Corporation | Predicting transaction outcome based on artifacts in a transaction processing environment |
CN110209642A (zh) * | 2018-02-05 | 2019-09-06 | 北京智明星通科技股份有限公司 | 信息处理的方法、装置、服务器及计算机可读介质 |
CN110765143B (zh) | 2019-10-10 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、服务器和存储介质 |
KR20210092361A (ko) | 2020-01-15 | 2021-07-26 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
EP3851950B1 (en) | 2020-01-15 | 2024-09-04 | Samsung Electronics Co., Ltd. | Storage device and operation method thereof |
CN113837881B (zh) * | 2021-09-28 | 2023-02-28 | 中电金信软件有限公司 | 更新交易数据方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962550A (ja) | 1995-08-21 | 1997-03-07 | Toshiba Corp | オンライントランザクションシステム及び同システムに適用されるファイル更新制御方法 |
JP2001344138A (ja) * | 2000-05-30 | 2001-12-14 | Ricoh Co Ltd | データベースロギング方法及びデータベース回復方法 |
US6751750B1 (en) * | 2001-06-01 | 2004-06-15 | Lsi Logic Corporation | Method to protect and recover a write ahead log from interruptions |
US20070220059A1 (en) * | 2006-03-20 | 2007-09-20 | Manyi Lu | Data processing node |
JP2011076487A (ja) * | 2009-09-30 | 2011-04-14 | Oki Networks Co Ltd | 計算機、及びデータベース管理プログラム |
US10430298B2 (en) * | 2010-10-28 | 2019-10-01 | Microsoft Technology Licensing, Llc | Versatile in-memory database recovery using logical log records |
US8832022B2 (en) * | 2011-05-06 | 2014-09-09 | Nec Corporation | Transaction processing device, transaction processing method and transaction processing program |
WO2014068820A1 (ja) * | 2012-10-29 | 2014-05-08 | 日本電気株式会社 | トランザクションシステム |
-
2014
- 2014-03-27 JP JP2014066514A patent/JP6361223B2/ja active Active
-
2015
- 2015-03-27 US US14/670,451 patent/US10007548B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10007548B2 (en) | 2018-06-26 |
US20150277966A1 (en) | 2015-10-01 |
JP2015191307A (ja) | 2015-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6361223B2 (ja) | トランザクションシステム | |
US11003689B2 (en) | Distributed database transaction protocol | |
JP5949937B2 (ja) | トランザクションシステム | |
KR102579190B1 (ko) | 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원 | |
US9367346B2 (en) | Accelerating distributed transactions on key-value stores through dynamic lock localization | |
JP5890071B2 (ja) | 分散キーバリューストア | |
US8909610B2 (en) | Shared log-structured multi-version transactional datastore with metadata to enable melding trees | |
JP5387757B2 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
US11132350B2 (en) | Replicable differential store data structure | |
US8832022B2 (en) | Transaction processing device, transaction processing method and transaction processing program | |
US10191936B2 (en) | Two-tier storage protocol for committing changes in a storage system | |
US11321302B2 (en) | Computer system and database management method | |
US8595190B2 (en) | Methods and apparatus related to completion of large objects within a DB2 database environment | |
WO2016143095A1 (ja) | 計算機システム及びトランザクション処理の管理方法 | |
US8600962B2 (en) | Transaction processing device, transaction processing method, and transaction processing program | |
US11221777B2 (en) | Storage system indexed using persistent metadata structures | |
US10235407B1 (en) | Distributed storage system journal forking | |
JP6293709B2 (ja) | ストレージシステムおよびストレージシステム用プログラム | |
JP6442996B2 (ja) | トランザクション処理装置、トラザクション処理方法、及びプログラム | |
JP5715074B2 (ja) | データベースシステム、データベース管理方法、およびデータベース管理プログラム | |
Haroon | Challenges of concurrency control in object oriented distributed database systems | |
JP5832592B1 (ja) | データ管理装置 | |
JP2023132379A (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: 20171114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180123 |
|
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: 20180529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180611 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6361223 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |