JP2017027326A - Storage system and program for the same - Google Patents

Storage system and program for the same Download PDF

Info

Publication number
JP2017027326A
JP2017027326A JP2015144515A JP2015144515A JP2017027326A JP 2017027326 A JP2017027326 A JP 2017027326A JP 2015144515 A JP2015144515 A JP 2015144515A JP 2015144515 A JP2015144515 A JP 2015144515A JP 2017027326 A JP2017027326 A JP 2017027326A
Authority
JP
Japan
Prior art keywords
tid
record
transaction
node
storage system
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
Application number
JP2015144515A
Other languages
Japanese (ja)
Other versions
JP6293709B2 (en
Inventor
義永 佐藤
Yoshiei Sato
義永 佐藤
基孝 金松
Mototaka Kanematsu
基孝 金松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015144515A priority Critical patent/JP6293709B2/en
Publication of JP2017027326A publication Critical patent/JP2017027326A/en
Application granted granted Critical
Publication of JP6293709B2 publication Critical patent/JP6293709B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a storage system capable of considerably reducing a data transfer amount from nodes (calculation devices), and a program for the storage system.SOLUTION: A storage system comprises: a plurality of nodes being calculation devices and individually provided with distributed databases; a transaction management device issuing a TID being an identifier of a transaction executed in each of the plurality of nodes, and holding information of a start of the transaction and information of an end of the transaction; and a nonvolatile memory type storage receiving an operation request of the transaction from each node, and notifying each node of operation completion after executing the transaction.SELECTED DRAWING: Figure 1

Description

本発明の実施形態は、ストレージシステムおよびストレージシステム用プログラムに関する。   Embodiments described herein relate generally to a storage system and a storage system program.

複数の計算装置およびストレージ装置がネットワークで接続された分散データベースシステムにおいて、複数のユーザからストレージ装置に対して同時に処理要求が行われた場合、単位時間当たりに処理するスループットを向上させる方法として、多版同時実行制御(Multi Version Concurrency Control、以下MVCCと略称)を用いたトランザクション機構が広く利用されている。MVCC は、任意のレコードにおける変更状態(バージョン)を複数保持することで同時並行性を失わずに処理し、かつ情報の一貫性を保証しつつ、データアクセスの依存関係を解決する制御方法である。   In a distributed database system in which multiple computing devices and storage devices are connected via a network, when multiple users request processing simultaneously from the storage device, there are many methods for improving the throughput processed per unit time. Transaction mechanisms using multi-version concurrency control (MVCC) are widely used. MVCC is a control method that resolves data access dependencies while maintaining multiple concurrency by maintaining multiple changes (versions) in an arbitrary record and ensuring consistency of information. .

従来、MVCC を用いたトランザクション機構では、同一レコードについて複数トランザクションIDによるバージョンを保持するために、同一レコードであっても異なるデータとして扱い、ファイルシステムを用いてブロック単位で複数バージョンを取得して必要なレコードを抽出している。このように、レコード群からなるブロック単位で転送するので、ネットワークへの負荷が大きい、という問題があった。   Conventionally, in the transaction mechanism using MVCC, in order to hold versions with multiple transaction IDs for the same record, even the same record is handled as different data, and it is necessary to acquire multiple versions in block units using the file system Naive records are being extracted. As described above, since data is transferred in units of blocks consisting of record groups, there is a problem that the load on the network is large.

特開2011−204161号公報JP 2011-204161 A

本発明が解決しようとする課題は、ノード(計算装置)からのデータ転送量を大幅に削減することのできるストレージシステムおよびストレージシステム用プログラムを提供することである。   The problem to be solved by the present invention is to provide a storage system and a storage system program capable of greatly reducing the amount of data transferred from a node (computing device).

実施形態のストレージシステムは、計算装置であってそれぞれが分散データベースを備えている複数のノードと、前記ノードで実行されるトランザクションの識別子であるTIDを発行し、トランザクションの開始の情報およびトランザクションの終了の情報を保持するトランザクション管理装置と、前記ノードからトランザクションの操作要求を受け付け、当該トランザクションを実行後、操作完了を前記ノードに通知する不揮発性メモリ型ストレージと、を備える。   The storage system according to the embodiment issues a plurality of nodes each of which is a computing device and each having a distributed database, and a TID that is an identifier of a transaction executed on the node, and information on transaction start and transaction end And a non-volatile memory type storage that accepts a transaction operation request from the node and notifies the node of the completion of the operation after executing the transaction.

本発明の実施形態に係るストレージシステムの概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a storage system according to an embodiment of the present invention. TID -論理アドレス変換リストを説明する図である。It is a figure explaining a TID-logical address conversion list. 新レコードの書き込み時の動作を説明する図である。It is a figure explaining the operation | movement at the time of writing of a new record. 新レコードの書き込み時の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement at the time of writing of a new record. レコードコミット時の動作を説明する図である。It is a figure explaining the operation | movement at the time of a record commit. レコードコミット時の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement at the time of a record commit. 既存レコードの更新時の動作を説明する図である。It is a figure explaining the operation | movement at the time of the update of the existing record. 既存レコードの更新時の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement at the time of the update of the existing record. 既存レコードの削除時の動作を説明する図である。It is a figure explaining the operation | movement at the time of deletion of the existing record. 既存レコードの読み出し時の動作を説明する図である。It is a figure explaining the operation | movement at the time of the reading of the existing record. 既存レコードの読み出し時の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement at the time of the reading of the existing record. ロールバック限界TID 登録時の動作を説明する図である。It is a figure explaining the operation | movement at the time of rollback limit TID registration. ロールバック時の動作を説明する図である。It is a figure explaining the operation | movement at the time of rollback. 不要TID 削除時の動作を説明する図である。It is a figure explaining the operation | movement at the time of unnecessary TID deletion. 既存レコードの更新時の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement at the time of the update of the existing record.

以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.

まず、本実施形態で用いる主要な用語について説明する。   First, main terms used in the present embodiment will be described.

「データベース」とは、事前に定めた規則に従ってデータを書き込みや管理を行うことにより、容易に検索・抽出などの再利用を可能とするソフトウェアをいう。   “Database” refers to software that enables easy reuse, such as search and extraction, by writing and managing data in accordance with predetermined rules.

「ストレージ」とは、データを格納する記憶装置をいう。   “Storage” refers to a storage device that stores data.

「ファイルシステム」とは、ストレージに格納されているデータを管理するソフトウェアをいう。   “File system” refers to software that manages data stored in a storage.

「NAND型フラッシュメモリ」とは、不揮発性の半導体記憶装置をいう。本実施形態では、NAND型フラッシュメモリによりストレージを構成するのが好適である。   “NAND flash memory” refers to a nonvolatile semiconductor memory device. In the present embodiment, it is preferable to configure the storage with a NAND flash memory.

「ブロック」とは、ファイルシステムのデータの読み出し/書き込みの単位をいう。   A “block” is a unit for reading / writing data of a file system.

「レコード」とは、データベースにおけるデータ登録の単位をいう。   “Record” means a unit of data registration in a database.

「レコードID」とは、レコード毎にシーケンシャルに付与される識別子をいう。   “Record ID” refers to an identifier that is sequentially assigned to each record.

「トランザクション処理」とは、複数のデータ操作を不可分な一連の操作として扱う処理をいう。トランザクション処理は、トランザクションID(TID)、コミットおよびロールバックの要素を備える。   “Transaction processing” refers to processing that handles a plurality of data operations as an inseparable series of operations. Transaction processing includes elements of transaction ID (TID), commit, and rollback.

「トランザクションID(TID)」とは、トランザクション処理毎にシーケンシャルに付与される識別子である。TIDの数値が大きい方が新しいトランザクションであり、小さい方が古いトランザクションであることを示す。   The “transaction ID (TID)” is an identifier that is assigned sequentially for each transaction process. A larger TID indicates a new transaction, and a smaller TID indicates an old transaction.

「コミット」とは、トランザクション処理に関する一連の操作を確定することである。   “Commit” is to confirm a series of operations related to transaction processing.

「ロールバック」とは、トランザクション処理の単位で処理を巻き戻して以前の状態にすることである。   “Rollback” refers to rewinding the processing in units of transaction processing to the previous state.

「トランザクション管理装置」とは、各ノードで実行されるトランザクションのTIDを発行し、トランザクションの開始と終了の情報を保持する装置をいう。   The “transaction management device” is a device that issues TIDs of transactions executed at each node and holds information on the start and end of transactions.

「スナップショット」とは、あるトランザクション開始時点において既にコミットが完了しているTIDの集合をいう。トランザクション管理装置が管理しており、都度データベースに渡される。   “Snapshot” refers to a set of TIDs that have already been committed at the start of a transaction. It is managed by the transaction management device and is passed to the database each time.

本実施形態においては、MVCCを備える分散データベースにおいて、ファイルシステムを用いることなく、アクセスするトランザクションに相応しいTIDのレコードを不揮発性メモリ型ストレージが判断して転送するものである。   In this embodiment, in a distributed database having MVCC, a non-volatile memory storage determines and transfers a TID record suitable for a transaction to be accessed without using a file system.

図1は、本発明の実施形態に係るストレージシステムの概略構成を示すブロック図である。この装置は汎用のコンピュータ(例えばパーソナルコンピュータ(PC)等)と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、CAD(Computer Aided Design)やCAE(Computer Aided Engineering)に好適なエンジニアリングワークステーション(EWS)等も含む。本実施形態はこのようなコンピュータにおいて、計算装置であってそれぞれが分散データベースを備えている複数のノードと不揮発性メモリ型ストレージとを備えるストレージシステムに、ノードで実行されるトランザクションの識別子であるTIDを発行し、トランザクションの開始の情報およびトランザクションの終了の情報を保持する機能と、ノードからトランザクションの操作要求を受け付け、当該トランザクションを実行後、操作完了をノードに通知する機能と、を実現させるためのストレージシステム用プログラムとして実施することもできる。   FIG. 1 is a block diagram showing a schematic configuration of a storage system according to an embodiment of the present invention. This apparatus is realized using a general-purpose computer (for example, a personal computer (PC) or the like) and software operating on the computer. The computer includes an engineering workstation (EWS) suitable for CAD (Computer Aided Design) and CAE (Computer Aided Engineering). In this computer, in this embodiment, a TID that is an identifier of a transaction executed in a node is added to a storage system that is a computing device and each includes a plurality of nodes each including a distributed database and a nonvolatile memory type storage. To store the transaction start information and transaction end information, and to receive the transaction operation request from the node, execute the transaction, and notify the node of the operation completion. It can also be implemented as a storage system program.

図1に示すように、本実施形態に係るストレージシステム1は、主として、不揮発性メモリ型ストレージ10と、トランザクション管理装置20と、複数のノード30から構成されている。   As shown in FIG. 1, the storage system 1 according to the present embodiment mainly includes a nonvolatile memory storage 10, a transaction management device 20, and a plurality of nodes 30.

不揮発性メモリ型ストレージ10は、ノード30からレコード書き込み等の操作要求を受け付け、当該処理を実行する。不揮発性メモリ型ストレージ10の構成およびノード30からの各操作要求に対する処理の詳細は後述する。   The nonvolatile memory type storage 10 receives an operation request such as record writing from the node 30 and executes the processing. Details of the configuration of the nonvolatile memory type storage 10 and the processing for each operation request from the node 30 will be described later.

トランザクション管理装置20は、各ノード30で実行されるトランザクションのTIDを発行し、トランザクションの開始の情報およびトランザクションの終了の情報を保持する。   The transaction management device 20 issues a TID of a transaction executed on each node 30 and holds information on the start of the transaction and information on the end of the transaction.

ノード30は、計算装置であって分散データベースを備えている。分散データベースは、複数の計算装置(ノード)およびストレージ装置がネットワークで接続されたハードウェア構成であり、すべてのノードがネットワーク経由で共有ストレージ装置内のレコードにアクセスできるシステムである。   The node 30 is a computing device and includes a distributed database. A distributed database has a hardware configuration in which a plurality of computing devices (nodes) and storage devices are connected via a network, and is a system in which all nodes can access records in a shared storage device via a network.

不揮発性メモリ型ストレージ10は、トランザクションレコードアクセス部11、ロールバック限界TID保持部12、ノードアクセス情報保持部13、TID-論理アドレス変換リスト14、論物変換テーブル15、不揮発性メモリ16を備えている。   The nonvolatile memory type storage 10 includes a transaction record access unit 11, a rollback limit TID holding unit 12, a node access information holding unit 13, a TID-logical address conversion list 14, a logical-physical conversion table 15, and a nonvolatile memory 16. Yes.

トランザクションレコードアクセス部11は、各ノード30に対して、以下の機能を提供する。(5)〜(7)の機能は、従来のファイルシステムを使用しない本実施形態における特徴的な機能である。   The transaction record access unit 11 provides the following functions to each node 30. The functions (5) to (7) are characteristic functions in this embodiment that do not use a conventional file system.

(1)レコード書き込み操作:レコードID、実行中のTIDを引数とする。
(2)レコードコミット操作:レコードID、実行中のTIDを引数とする。
(3)レコード読出し操作:レコードID、実行中のTIDを引数とする。
(4)レコード削除操作:レコードID、実行中のTIDを引数とする。
(5)ロールバック操作:コミット操作を取り消して、トランザクションの単位で以前の巻き戻し状態とする。以前の状態への巻き戻し先TIDを引数とする。
(6)ロールバック限界TID登録操作:巻き戻し限界となるTIDを引数とする。
(7)不要TID削除操作:不要なTIDを削除するもので、引数を伴わない。
(1) Record write operation: The record ID and the TID being executed are used as arguments.
(2) Record commit operation: The record ID and the TID being executed are used as arguments.
(3) Record read operation: The record ID and the TID being executed are used as arguments.
(4) Record deletion operation: The record ID and the TID being executed are used as arguments.
(5) Rollback operation: Cancels the commit operation and returns to the previous rewind state in units of transactions. The argument is the TID to which to rewind to the previous state.
(6) Rollback limit TID registration operation: TID that is the rewind limit is used as an argument.
(7) Unnecessary TID deletion operation: An unnecessary TID is deleted without an argument.

これらの操作の要求をノード30から受けると、トランザクションレコードアクセス部11は、要求の送り元ノードアクセス情報をノードアクセス情報保持部13に送る。要求が完了すると、トランザクションレコードアクセス部11はノードアクセス情報保持部13に保持した要求の送り元ノードアクセス情報を用いて完了通知を送信する。   When receiving these operation requests from the node 30, the transaction record access unit 11 sends the request source node access information to the node access information holding unit 13. When the request is completed, the transaction record access unit 11 transmits a completion notification using the request source node access information held in the node access information holding unit 13.

ロールバック限界TID保持部12は、トランザクション処理の巻き戻しの限界となるTIDを保持する。   The rollback limit TID holding unit 12 holds a TID that is a limit for rewinding transaction processing.

ノードアクセス情報保持部13は、不揮発性メモリ型ストレージ10に対する操作要求元のノードに関し、ノード番号、レコードID、TIDを保持する。   The node access information holding unit 13 holds a node number, a record ID, and a TID for the operation request source node for the nonvolatile memory storage 10.

TID-論理アドレス変換リスト14は、データ抽出の際に必要となる書き込んだデータとTIDとの関係を保持するために、レコードIDとTIDとの関係を論理アドレスを介して保持するもので、レコードID毎に、“操作したTID”、“論理アドレス”、“コミットフラグ”、“削除フラグ”の各要素をリスト形式で保持する。図2は、TID-論理アドレス変換リスト14を説明する図である。ここで、操作したTIDは、リストに要素を追加したTIDである。論理アドレスは、操作したTIDがレコードを書き込んだ論理アドレスである。コミットフラグは、コミットが完了したか否かを表す。コミット済みの状態を示す“True”と、コミットが済んでない状態を示す“False”がある。削除フラグは、データを削除したか否かを表す。削除済みの状態を示す“True”と、削除が済んでない状態を示す“False”がある。   The TID-logical address conversion list 14 holds the relationship between the record ID and the TID via the logical address in order to hold the relationship between the written data and TID necessary for data extraction. For each ID, each element of “operated TID”, “logical address”, “commit flag”, and “delete flag” is stored in a list format. FIG. 2 is a diagram for explaining the TID-logical address conversion list 14. Here, the operated TID is a TID obtained by adding an element to the list. The logical address is the logical address where the operated TID has written the record. The commit flag indicates whether or not the commit has been completed. There are “True” indicating a committed state and “False” indicating a committed state. The deletion flag indicates whether data has been deleted. There are “True” indicating a deleted state and “False” indicating a state where deletion has not been completed.

論物変換テーブル15は、データを記憶する不揮発性メモリ16の記憶領域の物理アドレスと論理アドレスの対応関係を格納するものである。   The logical-physical conversion table 15 stores a correspondence relationship between a physical address and a logical address in a storage area of the nonvolatile memory 16 that stores data.

不揮発性メモリ16としては、書き込みが高速で大容量化しやすいNAND型フラッシュメモリが好適である。NAND型フラッシュメモリは、電気的にデータを書き換えることが可能で、電力を供給しなくてもデータを保持することができる不揮発性の半導体メモリである。不揮発性メモリ16は、固有の物理アドレスを持っている。   As the non-volatile memory 16, a NAND flash memory which is easy to increase in capacity at a high speed is suitable. A NAND flash memory is a nonvolatile semiconductor memory that can electrically rewrite data and can retain data without supplying power. The nonvolatile memory 16 has a unique physical address.

次に、以上のように構成されたストレージシステム1における各操作要求に対する処理について詳述する。   Next, processing for each operation request in the storage system 1 configured as described above will be described in detail.

<新レコードの書き込み>
図3は、新レコードの書き込み時の動作を説明する図である。図3では、ノードAからレコードID=1、 TID=100の書き込み要求を受けた場合を例として動作を説明する。新レコードの書き込み要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードA、 レコードID=1、 TID=100を登録する。
<Write new record>
FIG. 3 is a diagram for explaining the operation when writing a new record. In FIG. 3, the operation will be described by taking as an example a case where a write request of record ID = 1 and TID = 100 is received from the node A. The transaction record access unit 11 that has received the request to write a new record registers node A, record ID = 1, and TID = 100 as node access information in the node access information holding unit 13.

続いて、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14にTID-論理アドレスを登録する。図2に示す例では、操作したTID=100、論理アドレス=1が登録され、この状態ではトランザクションが確定していないのでコミットフラグ=Fが登録され、書き込み要求なので削除フラグ=Fが登録される。   Subsequently, the transaction record access unit 11 registers the TID-logical address in the TID-logical address conversion list 14. In the example shown in FIG. 2, the operated TID = 100 and logical address = 1 are registered. In this state, since the transaction is not confirmed, the commit flag = F is registered, and the deletion flag = F is registered because it is a write request. .

続いて、トランザクションレコードアクセス部11は、論物変換テーブル15の論理アドレス=1に不揮発性メモリ16の物理アドレスを登録する。   Subsequently, the transaction record access unit 11 registers the physical address of the nonvolatile memory 16 in the logical address = 1 of the logical-physical conversion table 15.

続いて、トランザクションレコードアクセス部11は、不揮発性メモリ16の所定物理アドレスにレコードを書き込む。   Subsequently, the transaction record access unit 11 writes a record at a predetermined physical address in the nonvolatile memory 16.

トランザクションレコードアクセス部11は、ノードアクセス情報保持部13に登録されたノードアクセス情報を参照して、書き込み完了通知をノードAに送信する。   The transaction record access unit 11 refers to the node access information registered in the node access information holding unit 13 and transmits a write completion notification to the node A.

図4は、新レコードの書き込み時の動作の流れを示すフローチャートである。   FIG. 4 is a flowchart showing the flow of operations when writing a new record.

まず、不揮発性メモリ型ストレージ10のトランザクションレコードアクセス部11は、新レコードの書き込みの要求を受信する(ステップS41)。   First, the transaction record access unit 11 of the nonvolatile memory storage 10 receives a request for writing a new record (step S41).

次に、ノードアクセス情報保持部13に書き込みの要求があったノード番号、レコードID、TIDを登録する(ステップS42)。   Next, the node number, record ID, and TID requested to be written are registered in the node access information holding unit 13 (step S42).

次に、TID-論理アドレス変換リスト14に、レコードIDが合致するリストの有無を検索する(ステップS43)。   Next, the TID-logical address conversion list 14 is searched for the presence or absence of a list that matches the record ID (step S43).

リストが存在しない場合には、レコードIDについて新規リストを作成(ステップS44)し、ステップS45に移行する。新レコード書き込み時は対象レコードIDのリストが存在していないため、ステップS44のフローを通る。   If the list does not exist, a new list is created for the record ID (step S44), and the process proceeds to step S45. Since the list of target record IDs does not exist when writing a new record, the process goes through the flow of step S44.

一方、リストが存在する場合には、TIDが昇順になるようリストに要素を追加し、TIDと論理アドレスを登録し、コミットフラグと削除フラグはFalseとして登録する(ステップS45)。   On the other hand, if the list exists, elements are added to the list so that the TIDs are in ascending order, the TID and logical address are registered, and the commit flag and the deletion flag are registered as False (step S45).

続いて、論物変換テーブル15の論理アドレスに物理アドレスを登録する(ステップS46)。   Subsequently, the physical address is registered in the logical address of the logical-physical conversion table 15 (step S46).

次に、不揮発性メモリ16の所定物理アドレスにレコードを書き込む(ステップS47)。   Next, a record is written at a predetermined physical address in the nonvolatile memory 16 (step S47).

続いて、レコードIDとTIDに基づいてノードアクセス情報保持部13から要求のあったノードを検索する(ステップS48)。   Subsequently, the requested node is retrieved from the node access information holding unit 13 based on the record ID and TID (step S48).

次に、トランザクションレコードアクセス部11は、書き込み完了通知をノードに送信(ステップS49)し、新レコードの書き込み時の処理を終了する。   Next, the transaction record access unit 11 transmits a write completion notification to the node (step S49), and ends the process at the time of writing a new record.

<レコードコミット>
図5は、レコードコミット時の動作を説明する図である。図5では、ノードAからレコードID=1、 TID=100のコミット要求を受けた場合を例にして動作を説明する。コミット要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードA、 レコードID=1、 TID=100を登録する。
<Record commit>
FIG. 5 is a diagram for explaining the operation at the time of record commit. In FIG. 5, the operation will be described by taking as an example a case where a commit request of record ID = 1 and TID = 100 is received from the node A. The transaction record access unit 11 that has received the commit request registers node A, record ID = 1, and TID = 100 as node access information in the node access information holding unit 13.

続いて、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14にTID-論理アドレスを登録する。図5に示す例では、コミットフラグ=Tへの変更が登録される。   Subsequently, the transaction record access unit 11 registers the TID-logical address in the TID-logical address conversion list 14. In the example shown in FIG. 5, a change to commit flag = T is registered.

次に、トランザクションレコードアクセス部11は、ノードアクセス情報保持部13に登録されたノードアクセス情報を参照して、レコードのコミット完了通知をノードAに送信する。   Next, the transaction record access unit 11 refers to the node access information registered in the node access information holding unit 13 and transmits a record commit completion notification to the node A.

図6は、レコードコミット時の動作の流れを示すフローチャートである。   FIG. 6 is a flowchart showing the flow of operations at the time of record commit.

まず、不揮発性メモリ型ストレージ10のトランザクションレコードアクセス部11は、レコードのコミットの要求を受信する(ステップS61)。   First, the transaction record access unit 11 of the nonvolatile memory type storage 10 receives a request to commit a record (step S61).

次に、ノードアクセス情報保持部13にコミットの要求があったノード番号、レコードID、TIDを登録する(ステップS62)。   Next, the node number, record ID, and TID for which a commit request is made are registered in the node access information holding unit 13 (step S62).

続いて、TID-論理アドレス変換リスト14から合致するレコードIDとTIDを検索し、コミットフラグをTrueに変更する(ステップS63)。   Subsequently, the record ID and TID that match are searched from the TID-logical address conversion list 14, and the commit flag is changed to True (step S63).

次に、レコードIDとTIDに基づいてノードアクセス情報保持部13からコミット要求のあったノードを検索する(ステップS64)。   Next, based on the record ID and TID, the node that made the commit request is searched from the node access information holding unit 13 (step S64).

次に、トランザクションレコードアクセス部11は、レコードのコミット完了通知をノードに送信(ステップS65)し、レコードのコミット時の処理を終了する。   Next, the transaction record access unit 11 transmits a record commit completion notification to the node (step S65), and ends the process at the time of record commit.

<既存レコードの更新>
図7は、既存レコードの更新時の動作を説明する図である。図7では、ノードAからレコードID=1、TID=103の更新要求を受けた場合の動作を例にして説明する。更新の書き込み要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードA、 レコードID=1、 TID=103を登録する。
<Updating existing records>
FIG. 7 is a diagram for explaining the operation when updating an existing record. In FIG. 7, an operation when an update request of record ID = 1 and TID = 103 is received from the node A will be described as an example. Upon receiving the update write request, the transaction record access unit 11 registers node A, record ID = 1, and TID = 103 as node access information in the node access information holding unit 13.

次に、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14にTID順で昇順にソートしてTID-論理アドレスを登録する。図7に示す例では、操作したTID=103、論理アドレス=2が登録され、この状態ではトランザクションが確定していないのでコミットフラグ=Fが登録され、更新の書き込み要求なので削除フラグ=Fが登録される。   Next, the transaction record access unit 11 registers the TID-logical address in the TID-logical address conversion list 14 by sorting in ascending order in the TID order. In the example shown in FIG. 7, the operated TID = 103 and logical address = 2 are registered. In this state, since the transaction is not confirmed, the commit flag = F is registered, and the deletion flag = F is registered because it is an update write request. Is done.

続いて、トランザクションレコードアクセス部11は、論物変換テーブル15の論理アドレス=2に不揮発性メモリ16の物理アドレスを登録する。   Subsequently, the transaction record access unit 11 registers the physical address of the nonvolatile memory 16 in the logical address = 2 of the logical / physical conversion table 15.

続いて、トランザクションレコードアクセス部11は、不揮発性メモリ16の所定物理アドレスにレコードを書き込む。   Subsequently, the transaction record access unit 11 writes a record at a predetermined physical address in the nonvolatile memory 16.

次に、トランザクションレコードアクセス部11は、ノードアクセス情報保持部13に登録されたノードアクセス情報を参照して、更新の書き込み完了通知をノードAに送信する。   Next, the transaction record access unit 11 refers to the node access information registered in the node access information holding unit 13 and transmits an update write completion notification to the node A.

図8は、既存レコードの更新時の動作の流れを示すフローチャートである。   FIG. 8 is a flowchart showing the flow of operations when updating an existing record.

まず、不揮発性メモリ型ストレージ10のトランザクションレコードアクセス部11は、既存レコードの更新の要求を受信する(ステップS81)。   First, the transaction record access unit 11 of the nonvolatile memory storage 10 receives a request for updating an existing record (step S81).

次に、ノードアクセス情報保持部13に既存レコードの更新の要求があったノード番号、レコードID、TIDを登録する(ステップS82)。   Next, the node number, record ID, and TID for which an existing record update request has been made are registered in the node access information holding unit 13 (step S82).

次に、TID-論理アドレス変換リスト14にレコードIDが合致するリストを検索する(ステップS83)。   Next, a list whose record ID matches the TID-logical address conversion list 14 is searched (step S83).

リストが存在しない場合には、レコードIDについて新規リストを作成(ステップS84)し、ステップS85に移行するが、既存レコードの更新時は対象レコードIDのリストが存在するので、TIDが昇順になるようリストに要素を追加し、TIDと論理アドレスを登録、コミットフラグと削除フラグはFalseとして登録する(ステップS85)。   If the list does not exist, a new list is created for the record ID (step S84), and the process proceeds to step S85. When the existing record is updated, the list of target record IDs exists, so that the TID is in ascending order. An element is added to the list, a TID and a logical address are registered, and a commit flag and a deletion flag are registered as False (step S85).

次に、論物変換テーブル15の論理アドレスに不揮発性メモリ16の物理アドレスを登録する(ステップS86)。   Next, the physical address of the nonvolatile memory 16 is registered in the logical address of the logical-physical conversion table 15 (step S86).

次に、不揮発性メモリ16の所定物理アドレスにレコードを書き込む(ステップS87)。   Next, a record is written at a predetermined physical address in the nonvolatile memory 16 (step S87).

続いて、レコードIDとTIDに基づいてノードアクセス情報保持部13から既存レコードの更新要求のあったノードを検索する(ステップS88)。   Subsequently, the node that requested the update of the existing record is searched from the node access information holding unit 13 based on the record ID and TID (step S88).

次に、トランザクションレコードアクセス部11は、既存レコードの更新完了通知をノードに送信(ステップS89)し、既存レコードの更新時の処理を終了する。   Next, the transaction record access unit 11 transmits an update completion notification of the existing record to the node (step S89), and ends the process at the time of updating the existing record.

<既存レコードの削除>
図9は、既存レコードの削除時の動作を説明する図である。図9では、ノードAからレコードID=1、TID=108の削除要求を受けた場合の動作を例にして説明する。既存レコードの削除要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードA、 レコードID=1、 TID=108を登録する。
<Delete existing record>
FIG. 9 is a diagram for explaining the operation when deleting an existing record. In FIG. 9, the operation when receiving a deletion request of record ID = 1 and TID = 108 from the node A will be described as an example. The transaction record access unit 11 that has received a request to delete an existing record registers node A, record ID = 1, and TID = 108 as node access information in the node access information holding unit 13.

続いて、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14にTID順で昇順にソートしてTID-論理アドレスを登録する。図9に示す例では、操作したTID=108が登録され、この状態ではトランザクションが確定していないのでコミットフラグ=Fが登録され、削除要求なので削除フラグにTrueが登録される。   Subsequently, the transaction record access unit 11 registers the TID-logical address in the TID-logical address conversion list 14 by sorting in ascending order in the TID order. In the example shown in FIG. 9, the operated TID = 108 is registered. In this state, since the transaction is not confirmed, the commit flag = F is registered, and since it is a deletion request, True is registered in the deletion flag.

トランザクションレコードアクセス部11は、ノードアクセス情報保持部13に登録されたノードアクセス情報を参照して、既存レコードの削除完了通知をノードAに送信する。   The transaction record access unit 11 refers to the node access information registered in the node access information holding unit 13 and transmits a deletion completion notification of the existing record to the node A.

尚、既存レコードの削除操作の完了については、レコードコミット時と同様のコミット操作が適用される。   Note that the same commit operation as that at the time of record commit is applied to the completion of the delete operation of the existing record.

<既存レコードの読み出し>
図10は、既存レコードの読み出し時の動作を説明する図である。図10では、ノードBからレコードID=1、 TID=105の読み出し要求を受けた場合の動作を例にして説明する。既存レコードの読み出し要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードB、 レコードID=1、 TID=105を登録する。
<Read existing record>
FIG. 10 is a diagram for explaining the operation when reading an existing record. In FIG. 10, the operation when a read request of record ID = 1 and TID = 105 is received from the node B will be described as an example. The transaction record access unit 11 that has received the read request for the existing record registers the node B, the record ID = 1, and the TID = 105 as the node access information in the node access information holding unit 13.

続いて、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14のTID-論理アドレスを検索するが、読み出し要求のTID以下で最新のTIDを検索する。図10に示す例では、操作したTID=103、論理アドレス=2、コミットフラグ=T、削除フラグ=Fが抽出される。   Subsequently, the transaction record access unit 11 searches for the TID-logical address in the TID-logical address conversion list 14, but searches for the latest TID below the TID of the read request. In the example shown in FIG. 10, the operated TID = 103, logical address = 2, commit flag = T, and deletion flag = F are extracted.

そこで、トランザクションレコードアクセス部11は、論物変換テーブル15の論理アドレス=2の物理アドレスを取得する。   Therefore, the transaction record access unit 11 acquires the physical address of logical address = 2 in the logical / physical conversion table 15.

続いて、トランザクションレコードアクセス部11は、不揮発性メモリ16の所定物理アドレスからレコードを読み出す。   Subsequently, the transaction record access unit 11 reads a record from a predetermined physical address in the nonvolatile memory 16.

トランザクションレコードアクセス部11は、ノードアクセス情報保持部13に登録されたノードアクセス情報を参照して、既存レコードの読み出し完了通知をノードBに送信する。   The transaction record access unit 11 refers to the node access information registered in the node access information holding unit 13 and transmits an existing record read completion notification to the node B.

図11は、既存レコードの読み出し時の動作の流れを示すフローチャートである。   FIG. 11 is a flowchart showing the flow of operations when reading an existing record.

まず、不揮発性メモリ型ストレージ10のトランザクションレコードアクセス部11は、既存レコードの読み出しの要求を受信する(ステップS1101)。   First, the transaction record access unit 11 of the nonvolatile memory storage 10 receives a request to read an existing record (step S1101).

次に、ノードアクセス情報保持部13に既存レコードの読み出しの要求があったノード番号、レコードID、TIDを登録する(ステップS1102)。   Next, the node number, the record ID, and the TID for which the request for reading the existing record is requested are registered in the node access information holding unit 13 (step S1102).

次に、TID-論理アドレス変換リスト14にレコードIDが合致するリストの有無を検索する(ステップS1103)。   Next, the presence / absence of a list whose record ID matches the TID-logical address conversion list 14 is searched (step S1103).

リストが存在しない場合(ステップS1104)には、エラーとなる。   If the list does not exist (step S1104), an error occurs.

一方、リストが存在する場合、リストから読み出しTID以下の操作TIDであってかつ最大の操作TIDの要素を検索する(ステップS1105)。   On the other hand, if the list exists, the element of the maximum operation TID that is not more than the operation TID read from the list and is TID is searched (step S1105).

次に、コミットフラグについてTrueかつ削除フラグについてFalseか否かを判定する(ステップS1106)。   Next, it is determined whether the commit flag is true and the delete flag is false (step S1106).

ステップS1106でNoであれば、1つ古いTIDの要素を読み出す(ステップS1107)。   If No in step S1106, the element of the one older TID is read (step S1107).

次に、コミットフラグについてTrueかつ削除フラグについてFalseか否かを判定する(ステップS1108)。   Next, it is determined whether the commit flag is true and the delete flag is false (step S1108).

ステップS1108でNoであれば、ステップS1107に戻り、ステップS1108でYesであれば、ステップS1109に移行する。   If No in step S1108, the process returns to step S1107. If Yes in step S1108, the process proceeds to step S1109.

ステップS1106でYesであれば、リストから論理アドレスを読み出し、論物変換テーブルの該当論理アドレスから不揮発性メモリ16の物理アドレスを読み出す(ステップS1109)。   If Yes in step S1106, the logical address is read from the list, and the physical address of the nonvolatile memory 16 is read from the corresponding logical address in the logical-physical conversion table (step S1109).

次に、不揮発性メモリ16の所定物理アドレスからレコードを読み出す(ステップS1110)。   Next, a record is read from a predetermined physical address in the nonvolatile memory 16 (step S1110).

続いて、レコードIDとTIDに基づいてノードアクセス情報保持部13から要求のあったノードを検索する(ステップS1111)。   Subsequently, the requested node is searched from the node access information holding unit 13 based on the record ID and TID (step S1111).

次に、トランザクションレコードアクセス部11は、読み出し完了通知と読み出したレコードをノードに送信(ステップS1112)し、既存レコードの読み出し時の処理を終了する。   Next, the transaction record access unit 11 transmits a read completion notification and the read record to the node (step S1112), and ends the process when reading the existing record.

<ロールバック限界TID登録>
図12は、ロールバック限界TID登録時の動作を説明する図である。図12では、ノードAからロールバック限界TIDの登録要求を受けた場合の動作を例にして説明する。
<Rollback limit TID registration>
FIG. 12 is a diagram for explaining the operation when registering the rollback limit TID. In FIG. 12, the operation when a registration request for the rollback limit TID is received from the node A will be described as an example.

ロールバック限界TIDの登録要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードA、 ロールバック限界TIDを登録する。   Upon receiving the rollback limit TID registration request, the transaction record access unit 11 registers the node A and the rollback limit TID as node access information in the node access information holding unit 13.

続いて、トランザクションレコードアクセス部11は、ロールバック限界TID保持部12に、ロールバック限界TIDを登録する。   Subsequently, the transaction record access unit 11 registers the rollback limit TID in the rollback limit TID holding unit 12.

<ロールバック>
次に、トランザクションの単位で以前の巻き戻し状態とするロールバックについて説明する。図13は、ロールバック時の動作を説明する図である。図13では、ノードBからTID=105のロールバック要求を受けた場合の動作を例にして説明する。
<Rollback>
Next, a description will be given of a rollback for making a previous rewind state in a transaction unit. FIG. 13 is a diagram for explaining the operation during rollback. In FIG. 13, the operation when receiving a rollback request of TID = 105 from the node B will be described as an example.

ロールバックの要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードB、TID=105、 ロールバックを登録する。   Upon receiving the rollback request, the transaction record access unit 11 registers the node B, TID = 105, and rollback as node access information in the node access information holding unit 13.

続いて、トランザクションレコードアクセス部11は、ロールバック限界TID保持部12にアクセスし、ロールバック要求のあったTIDと登録されているロールバック限界TIDを比較する。   Subsequently, the transaction record access unit 11 accesses the rollback limit TID holding unit 12 and compares the TID that requested the rollback with the registered rollback limit TID.

次に、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14にロールバック要求のあったTIDが合致するリストを検索する。   Next, the transaction record access unit 11 searches the TID-logical address conversion list 14 for a list in which the TID requested for the rollback matches.

巻き戻し状態となったので、図13に示す例では、操作したTID=108ではコミットフラグ=Fに変更となっている。   Since the rewind state has been entered, in the example shown in FIG. 13, when the operated TID = 108, the commit flag is changed to F.

<不要TID削除>
図14は、不要TID削除時の動作を説明する図である。図14では、ノードAから不要TID削除要求を受けた場合の動作を例にして説明する。不要TID削除要求を受け付けたトランザクションレコードアクセス部11は、ノードアクセス情報保持部13にノードアクセス情報として、ノードA、 不要TID削除を登録する。
<Delete unnecessary TID>
FIG. 14 is a diagram for explaining the operation when deleting unnecessary TIDs. In FIG. 14, an operation when an unnecessary TID deletion request is received from the node A will be described as an example. The transaction record access unit 11 that has received the unnecessary TID deletion request registers node A and unnecessary TID deletion as node access information in the node access information holding unit 13.

次に、トランザクションレコードアクセス部11は、ロールバック限界TID保持部12から、ロールバック限界TIDを読み出す。   Next, the transaction record access unit 11 reads the rollback limit TID from the rollback limit TID holding unit 12.

続いて、トランザクションレコードアクセス部11は、TID-論理アドレス変換リスト14の中から不要データを選択する。   Subsequently, the transaction record access unit 11 selects unnecessary data from the TID-logical address conversion list 14.

次に、トランザクションレコードアクセス部11は、論物変換テーブル15の不要データに該当する不揮発性メモリ16の物理アドレスを取得する。   Next, the transaction record access unit 11 acquires a physical address of the nonvolatile memory 16 corresponding to unnecessary data in the logical-physical conversion table 15.

続いて、トランザクションレコードアクセス部11は、不揮発性メモリ16の所定物理アドレスからレコードを削除する。   Subsequently, the transaction record access unit 11 deletes the record from the predetermined physical address of the nonvolatile memory 16.

トランザクションレコードアクセス部11は、ノードアクセス情報保持部13に登録されたノードアクセス情報を参照して、不要TID削除完了通知をノードAに送信する。   The transaction record access unit 11 refers to the node access information registered in the node access information holding unit 13 and transmits an unnecessary TID deletion completion notification to the node A.

図15は、既存レコードの更新時の動作の流れを示すフローチャートである。   FIG. 15 is a flowchart showing the flow of operations when updating an existing record.

まず、不揮発性メモリ型ストレージ10のトランザクションレコードアクセス部11は、不要TID削除の要求を受信する(ステップS1501)。   First, the transaction record access unit 11 of the nonvolatile memory storage 10 receives a request for deleting unnecessary TIDs (step S1501).

次に、ノードアクセス情報保持部13に不要TID削除の要求があったノード番号と不要TID削除の実施を登録する(ステップS1502)。   Next, the node number for which unnecessary TID deletion was requested and the execution of unnecessary TID deletion are registered in the node access information holding unit 13 (step S1502).

次に、ロールバック限界TIDを読み出す(ステップS1503)。   Next, the rollback limit TID is read (step S1503).

次に、TID-論理アドレス変換リスト14から最初に登録されているレコードIDのリストを読み出す(ステップS1504)。   Next, a list of record IDs registered first is read from the TID-logical address conversion list 14 (step S1504).

続いて、リストから要素を読み出す(ステップS1505)。   Subsequently, an element is read from the list (step S1505).

次に、リストの要素のうちロールバック限界TIDから、ロールバック限界TID以下のTIDのうち1つ古いTIDを残して削除する(ステップS1506)。   Next, from the rollback limit TID among the elements of the list, one old TID is deleted from the TID less than or equal to the rollback limit TID (step S1506).

次に、削除したTIDに含まれている論理アドレスが指す不揮発性メモリ16の物理アドレスのデータをメモリから削除する(ステップS1507)。   Next, the data of the physical address of the nonvolatile memory 16 pointed to by the logical address included in the deleted TID is deleted from the memory (step S1507).

続いて、次のレコードIDがリストに存在するか否かを判定する(ステップS1508)。   Subsequently, it is determined whether or not the next record ID exists in the list (step S1508).

次のレコードIDがリストに存在する場合(ステップS1508でYes)、次のレコードIDのリストを読み出し(ステップS1509)、ステップS1505に戻る。   If the next record ID exists in the list (Yes in step S1508), the list of the next record ID is read (step S1509), and the process returns to step S1505.

一方、次のレコードIDがリストに存在しない場合(ステップS1508でNo)、ノードアクセス情報保持部13から不要TID削除の要求のあったノードを検索する(ステップS1510)。   On the other hand, if the next record ID does not exist in the list (No in step S1508), the node that requested the unnecessary TID deletion is searched from the node access information holding unit 13 (step S1510).

次に、トランザクションレコードアクセス部11は、不要TID削除の完了通知をノードに送信(ステップS1511)し、不要TID削除時の処理を終了する。   Next, the transaction record access unit 11 transmits a notification of completion of unnecessary TID deletion to the node (step S1511), and ends the processing at the time of unnecessary TID deletion.

以上説明したように、本実施形態によれば、計算装置からのデータ転送量を大幅に削減し、スループットを向上させ、ネットワークへの負荷を軽減させることができる。例えば、各レコードが平均10バージョンを持つとすると、各ノードからストレージへのデータ転送量が1/10に削減できるため、スループットは10倍に向上する。   As described above, according to the present embodiment, the amount of data transferred from the computing device can be greatly reduced, the throughput can be improved, and the load on the network can be reduced. For example, assuming that each record has an average of 10 versions, the data transfer amount from each node to the storage can be reduced to 1/10, so that the throughput is improved 10 times.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1・・・ストレージシステム
10・・・不揮発性メモリ型ストレージ
11・・・トランザクションレコードアクセス部
12・・・ロールバック限界TID保持部
13・・・ノードアクセス情報保持部
14・・・TID-論理アドレス変換リスト
15・・・論物変換テーブル
16・・・不揮発性メモリ
20・・・トランザクション管理装置
30・・・ノード
DESCRIPTION OF SYMBOLS 1 ... Storage system 10 ... Non-volatile memory type storage 11 ... Transaction record access part 12 ... Rollback limit TID holding part 13 ... Node access information holding part 14 ... TID-logical address Conversion list 15 ... logical-physical conversion table 16 ... non-volatile memory 20 ... transaction management device 30 ... node

Claims (7)

計算装置であってそれぞれが分散データベースを備えている複数のノードと、
前記ノードで実行されるトランザクションの識別子であるTIDを発行し、トランザクションの開始の情報およびトランザクションの終了の情報を保持するトランザクション管理装置と、
前記ノードからトランザクションの操作要求を受け付け、当該トランザクションを実行後、操作完了を前記ノードに通知する不揮発性メモリ型ストレージと、
を備えるストレージシステム。
A plurality of nodes each of which is a computing device and each has a distributed database;
A transaction management device that issues a TID, which is an identifier of a transaction executed in the node, and holds transaction start information and transaction end information;
A non-volatile memory type storage that accepts a transaction operation request from the node and notifies the node of the completion of the operation after executing the transaction;
A storage system comprising:
前記不揮発性メモリ型ストレージは、
前記ノードに対して、レコード書き込み操作、トランザクションに係る操作を確定させるレコードコミット操作、レコード読出し操作、レコード削除操作、トランザクションの単位で以前の巻き戻し状態とするロールバック操作、巻き戻しの限界に係るロールバック限界TID登録操作、不要TID削除操作の機能を提供するトランザクションレコードアクセス部と、
トランザクションの巻き戻しの限界となる前記TIDを保持するロールバック限界TID保持部と、
前記不揮発性メモリ型ストレージに対する操作要求元のノードに関し、ノード番号、レコードの識別子であるレコードID、前記TIDを保持するノードアクセス情報保持部と、
前記レコードIDと前記TIDとの関係を論理アドレスを介して保持するTID-論理アドレス変換リストと、
前記レコードを記憶する不揮発性メモリと、
前記不揮発性メモリの記憶領域の物理アドレスと前記論理アドレスの対応関係を格納する論物変換テーブルと、
を備える請求項1に記載のストレージシステム。
The nonvolatile memory storage is
For the node, a record write operation, a record commit operation for confirming an operation related to a transaction, a record read operation, a record delete operation, a rollback operation for setting a previous rewind state in a transaction unit, and a rewind limit Transaction record access part that provides functions for rollback limit TID registration operation and unnecessary TID deletion operation,
A rollback limit TID holding unit for holding the TID which is a limit of rewinding a transaction;
Regarding the operation request source node for the nonvolatile memory type storage, a node number, a record ID that is an identifier of the record, a node access information holding unit that holds the TID,
A TID-logical address conversion list that holds the relationship between the record ID and the TID via a logical address;
A non-volatile memory for storing the record;
A logical-physical conversion table storing a correspondence relationship between a physical address of the storage area of the nonvolatile memory and the logical address;
The storage system according to claim 1.
前記トランザクションレコードアクセス部は、前記ノードから操作の要求を受け付けると、前記操作要求元のノードアクセス情報を前記ノードアクセス情報保持部に送り、要求が完了すると、前記ノードアクセス情報保持部に保持した前記操作要求元のノードアクセス情報を用いて完了通知を前記ノードに送信する請求項2に記載のストレージシステム。   When the transaction record access unit accepts an operation request from the node, the operation request source node access information is sent to the node access information holding unit, and when the request is completed, the node access information holding unit holds the node access information. The storage system according to claim 2, wherein a completion notification is transmitted to the node using the node access information of the operation request source. 前記不揮発性メモリは、固有の物理アドレスを持つNAND型フラッシュメモリである請求項1乃至請求項3のいずれか1項に記載のストレージシステム。   The storage system according to any one of claims 1 to 3, wherein the nonvolatile memory is a NAND flash memory having a unique physical address. 前記TID-論理アドレス変換リストは、
リストに要素を追加した前記TIDを表す操作したTIDと、この操作したTIDがレコードを書き込んだ論理アドレスと、コミットが完了したか否かを表すコミットフラグと、レコードを削除したか否かを表す削除フラグの各要素をリスト形式で保持する請求項2乃至請求項4のいずれか1項に記載のストレージシステム。
The TID-logical address conversion list is
The operated TID representing the TID with the element added to the list, the logical address at which the operated TID has written the record, the commit flag indicating whether or not the commit has been completed, and whether or not the record has been deleted The storage system according to any one of claims 2 to 4, wherein each element of the deletion flag is held in a list format.
前記ロールバック操作は、以前の状態への巻き戻し先TID を引数とし、
前記ロールバック限界TID 登録操作は、巻き戻し限界となるTID を引数とし、
前記不要TID 削除操作は引数を伴わない請求項2乃至請求項5のいずれか1項に記載のストレージシステム。
The rollback operation takes as an argument the TID to which to rewind to the previous state,
The rollback limit TID registration operation takes the TID as the rewind limit as an argument,
The storage system according to any one of claims 2 to 5, wherein the unnecessary TID deletion operation does not involve an argument.
計算装置であってそれぞれが分散データベースを備えている複数のノードと不揮発性メモリ型ストレージとを備えるストレージシステムに、
前記ノードで実行されるトランザクションの識別子であるTIDを発行し、トランザクションの開始の情報およびトランザクションの終了の情報を保持する機能と、
前記ノードからトランザクションの操作要求を受け付け、当該トランザクションを実行後、操作完了を前記ノードに通知する機能と、
を実現させるためのストレージシステム用プログラム。
A storage system comprising a plurality of nodes each having a distributed database and a non-volatile memory type storage.
A function for issuing a TID that is an identifier of a transaction executed in the node, and holding information on the start of a transaction and information on the end of a transaction;
A function of accepting a transaction operation request from the node and executing the transaction and notifying the node of the completion of the operation;
Storage system program for realizing
JP2015144515A 2015-07-22 2015-07-22 Storage system and storage system program Expired - Fee Related JP6293709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015144515A JP6293709B2 (en) 2015-07-22 2015-07-22 Storage system and storage system program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015144515A JP6293709B2 (en) 2015-07-22 2015-07-22 Storage system and storage system program

Publications (2)

Publication Number Publication Date
JP2017027326A true JP2017027326A (en) 2017-02-02
JP6293709B2 JP6293709B2 (en) 2018-03-14

Family

ID=57946020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015144515A Expired - Fee Related JP6293709B2 (en) 2015-07-22 2015-07-22 Storage system and storage system program

Country Status (1)

Country Link
JP (1) JP6293709B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101826827B1 (en) * 2017-10-11 2018-02-09 (주)데이타뱅크시스템 Integrated replication system in real time
KR101859094B1 (en) * 2017-10-11 2018-05-18 (주)데이타뱅크시스템즈 Integrated replication system considering change of replication method
WO2019074154A1 (en) * 2017-10-11 2019-04-18 (주) 데이타뱅크시스템즈 Integrated replication system
JP2019102059A (en) * 2017-12-04 2019-06-24 エスアーペー エスエー Multi-version concurrency control (MVCC) in non-volatile memory
JP7458512B2 (en) 2020-06-22 2024-03-29 中興通訊股▲ふん▼有限公司 Distributed transaction processing method, terminal and computer readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01113805A (en) * 1987-10-28 1989-05-02 Toshiba Corp Transaction control system
JPH0457127A (en) * 1990-06-27 1992-02-24 Toshiba Corp Version managing device
JP2006040064A (en) * 2004-07-28 2006-02-09 Matsushita Electric Ind Co Ltd Database access apparatus
WO2014192213A1 (en) * 2013-05-31 2014-12-04 日本電気株式会社 Distributed processing system
JP2015103147A (en) * 2013-11-27 2015-06-04 株式会社東芝 Storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01113805A (en) * 1987-10-28 1989-05-02 Toshiba Corp Transaction control system
JPH0457127A (en) * 1990-06-27 1992-02-24 Toshiba Corp Version managing device
JP2006040064A (en) * 2004-07-28 2006-02-09 Matsushita Electric Ind Co Ltd Database access apparatus
WO2014192213A1 (en) * 2013-05-31 2014-12-04 日本電気株式会社 Distributed processing system
JP2015103147A (en) * 2013-11-27 2015-06-04 株式会社東芝 Storage device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101826827B1 (en) * 2017-10-11 2018-02-09 (주)데이타뱅크시스템 Integrated replication system in real time
KR101859094B1 (en) * 2017-10-11 2018-05-18 (주)데이타뱅크시스템즈 Integrated replication system considering change of replication method
WO2019074154A1 (en) * 2017-10-11 2019-04-18 (주) 데이타뱅크시스템즈 Integrated replication system
WO2019074155A1 (en) * 2017-10-11 2019-04-18 (주) 데이타뱅크시스템즈 Inter-database real time integrated replication system
JP2019102059A (en) * 2017-12-04 2019-06-24 エスアーペー エスエー Multi-version concurrency control (MVCC) in non-volatile memory
JP7101566B2 (en) 2017-12-04 2022-07-15 エスアーペー エスエー Multiversion Concurrency Control (MVCC) in non-volatile memory
JP7458512B2 (en) 2020-06-22 2024-03-29 中興通訊股▲ふん▼有限公司 Distributed transaction processing method, terminal and computer readable storage medium

Also Published As

Publication number Publication date
JP6293709B2 (en) 2018-03-14

Similar Documents

Publication Publication Date Title
US10754875B2 (en) Copying data changes to a target database
JP6293709B2 (en) Storage system and storage system program
US8874515B2 (en) Low level object version tracking using non-volatile memory write generations
CN112789606B (en) Data redistribution method, device and system
CN109086388B (en) Block chain data storage method, device, equipment and medium
US20140297592A1 (en) Computer-readable medium storing program and version control method
CN110019469B (en) Distributed database data processing method and device, storage medium and electronic device
EP2870548A1 (en) Distributed, transactional key-value store
JP6361223B2 (en) Transaction system
US20120284244A1 (en) Transaction processing device, transaction processing method and transaction processing program
JP5721056B2 (en) Transaction processing apparatus, transaction processing method, and transaction processing program
CN112068992A (en) Remote data copying method, storage device and storage system
JP6834715B2 (en) Update processing program, device, and method
CN114297196A (en) Metadata storage method and device, electronic equipment and storage medium
US9015124B2 (en) Replication system and method of rebuilding replication configuration
JP2017167654A (en) Data management device and management method for database
KR20160074587A (en) Checkpointing a collection of data units
US11132401B1 (en) Distributed hash table based logging service
CN112631741A (en) Transaction processing method, device and storage medium
US20140325271A1 (en) Terminal device, information processing method, and computer program product
JP5832592B1 (en) Data management device
US20210248108A1 (en) Asynchronous data synchronization and reconciliation
US12111734B2 (en) Protection groups for backing up cloud-based key-value stores
JP6044363B2 (en) Computer, NAS access method and NAS access program
WO2021189314A1 (en) Data server crash recovery in object storage system using enhanced meta structure

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170818

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: 20180116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180214

R151 Written notification of patent or utility model registration

Ref document number: 6293709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees