JP5765416B2 - 分散ストレージシステムおよび方法 - Google Patents
分散ストレージシステムおよび方法 Download PDFInfo
- Publication number
- JP5765416B2 JP5765416B2 JP2013503590A JP2013503590A JP5765416B2 JP 5765416 B2 JP5765416 B2 JP 5765416B2 JP 2013503590 A JP2013503590 A JP 2013503590A JP 2013503590 A JP2013503590 A JP 2013503590A JP 5765416 B2 JP5765416 B2 JP 5765416B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- unit
- node
- nodes
- 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
- 238000000034 method Methods 0.000 title claims description 178
- 238000003860 storage Methods 0.000 title claims description 161
- 238000012545 processing Methods 0.000 claims description 142
- 238000006243 chemical reaction Methods 0.000 claims description 120
- 238000007726 management method Methods 0.000 claims description 114
- 230000008569 process Effects 0.000 claims description 95
- 238000013500 data storage Methods 0.000 claims description 87
- 230000008859 change Effects 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 45
- 230000010076 replication Effects 0.000 claims description 34
- 238000005192 partition Methods 0.000 claims description 28
- 238000013523 data management Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 9
- 230000003362 replicative effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 69
- 238000000638 solvent extraction Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 16
- 230000005012 migration Effects 0.000 description 7
- 238000013508 migration Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000547 structure data Methods 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、日本国特許出願:特願2011−050151号(2011年3月8日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
複数の計算機(データノード、あるいは単に「ノード」ともいう)をネットワーク結合し、各計算機のデータ格納部(HDD(Hard Disk Drive)やメモリ等)にデータを格納して利用するシステムを実現する分散ストレージシステム(Distributed Storage System)が利用されている。
・データをどの計算機(ノード)に配置するか、
・処理をどの計算機(ノード)で行うか、
といった判断をソフトウェアや特別な専用ハードウェアにより実現し、システムの状態に対してその動作を動的に変更することでシステム内のリソース使用量を調整し、システム利用者(クライアント計算機)に対する性能を向上している。
分散ストレージシステムにおいて、クライアントがデータを保持しているノードを知るための技術の一つとしてメタサーバ方式が知られている。メタサーバ方式では、データの位置情報を管理する、一つ又は複数(ただし、少ない数)の計算機により構成されたメタサーバを設ける。
データを保持しているノードの位置を知るための別の手法(技術)として、分散関数(例えばハッシュ関数)を用いてデータの位置を求めるものがある。この種の手法は、例えば分散KVS(Key Value Store:キー・バリュー・ストア)と呼ばれている。
分散ストレージシステムにおいては、可用性(Availability:システムが連続して動作できる能力)確保のために、データの複製を複数ノードで保持し、データの複製を、負荷分散に活用することが一般的に行われている。
・異なる種類のアクセス負荷に対して高速に対応可能とし、
・可用性保持のための複製(レプリカ)を他の用途に利用可能とし、データ容量の効率利用を可能としている。
‐ロウストア(Row−store):
・追記型(データの格納領域に記録を追加)、
・更新型、
‐カラムストア(Column−store):
・圧縮の有無、
‐ライトログ(例えばライト性能を優先するために更新情報を追記するための構造):
‐インデックス(検索用の索引データ)の有無:
‐データの格納順をソート(Sorting)しているか:
‐分割(Partitioning)の有/無、分割数:
‐分割(Partitioning)単位、アルゴリズム:
等の項目について組み合わせが選択される。
・データの配置場所、
・データ配置(内部)構造、
・データを分散して格納するか、集中的に格納するかという格納方式、
等の複製データの保持格納形式について、可変に制御することができない。
・適切なデータ構造の選択、
・適切なスキーマの設計、
・適切なデータベースソフトウェア、設定の使い分け
を行う必要がある、ということである。いずれも、データベースシステムおよびストレージシステムに対して高い知見がユーザに要求されることから、これらをユーザ側で行うことは、実際上、困難である。
本発明の第1の例示的な実施形態について図面を参照して説明する。図1は、本発明の第1の実施形態のシステム構成の一例を示す図である。データノード1〜4、ネットワーク5、クライアントノード6、構造情報管理手段(構造情報管理装置)9を備える。
図2は、本発明の第1の実施形態の変形例の構成を示す図である。図2に示す通り、データノード1、2、3、4の各々に、クライアント機能実現手段61が配設されている。
図4は、本発明の第1の実施形態の構成例をより詳細に説明する図である。図4には、図1のデータノード1〜4を中心に示した構成が示されている。なお、図4等の図面において、簡単化のため、構造情報保持部92に格納される構造情報は参照符号92で参照される場合がある。
データ構造管理情報921は、データの集合毎にデータの格納方式を特定するためのパラメータ情報である。図5は、図4のデータ構造管理情報921の一例を示す図である。特に制限されるものではないが、本実施形態では、データの格納方式を制御する単位を、テーブルとする。そして、テーブル毎(テーブル識別子毎)に、レプリカ識別子、データ構造の種別、更新契機の各情報を、データ複製の複製数分、用意する。
A:キュー、
B:ロウストア、
C:カラムストア
が指定されている。
A:キュー(QUEUE)は、リンクトリスト(Linked List)である。
レプリカ識別子0と1のデータとして、データ構造B(ロウストア)で保持し(図6の(B)、(C)参照)、
レプリカ識別子2のデータとして、データ構造C(カラムストア)として保持する(図6の(D)参照)。
図7に示す例では、Writeにより、レプリカ識別子が0のデータノードにおいて、Write向け中間構造には、データ構造Aが格納保持され、レプリカ識別子1、2のデータノードに対して同期方式(Synchronous)で、Write向け中間構造に保持されたデータ構造Aのデータがレプリケート(複製)され、レプリカ識別子1、2のデータノードの各々において、Write向け中間構造にはデータ構造Aのデータが一旦格納保持される。レプリカ識別子0、1、2に対応するデータ構造にそれぞれ対応するデータノードにおいて、ターゲットのデータ構造B、B、Cへの変換は、図5(A)に示すようなデータ構造管理情報921の更新契機情報により指定される。
・ロウストア構造におけるインデックスの有無、
・インデックスを作成したカラムの種類の違い、
・更新を追記構造で格納するロウストア形式、
等であってもよい。
図8は、図4のデータ配置特定情報922の例を示す。各テーブル識別子のレプリカ識別子0、1、2毎に、配置ノードが指定されている。これは、前述したメタサーバ方式に対応している。
分散KVS方式の場合、データ配置特定情報922は、分散ストレージに参加しているノードリスト情報(不図示)が該当する。このノードリスト情報をデータノード間で共有することによって、「テーブル識別子」+「レプリカ識別子」をキー情報として、コンシステント・ハッシング方式により、配置ノードを特定することが出来る。また、レプリカの配置先として、コンシステント・ハッシング方式における隣接ノードに格納することができる。コンシステント・ハッシング方式は第4の実施形態で説明する。
本発明の第1の実施形態の動作について説明する。図9は、図1乃至図8を参照して説明した本発明の第1の実施形態におけるWrite処理(更新を伴う処理)のシーケンスを示す図である。
図11は、本発明の第1の実施形態における参照系処理(READ処理)のシーケンスを示す図である。
あるテーブルAからデータを読み出し、
当該データを用いた演算結果をテーブルBに更新する場合、
テーブルAからのデータ読み出しは参照系処理に該当する。
図12は、クライアント機能実現手段61の視点によるアクセス処理の動作を説明するフローチャートである。図12を参照して、クライアントのアクセスフローについて説明する。
・INSERT命令(テーブルへレコードを追加するSQL命令)であれば、Write処理、
・SELECT命令(テーブルからレコードを削除するSQL命令)であれば、参照系処理、
である。
図13は、図4のデータノードにおけるアクセス処理を説明するフローチャートである。図13、図4を参照して、データノードの動作について詳細に説明する。
図14は、図4のデータ構造変換手段113におけるデータ変換処理の動作を示すフローチャートである。図14、図4を参照して、データ変換処理を説明する。
本発明の第2の実施の形態について説明する。本発明の第2の実施の形態では、データを、所定単位で複数に分割して、複数のデータノードに格納できるようにしている。本実施形態のシステムの基本構成は、図1、図2、図4等に示した構成とされるが、図15、図16を参照して説明されるように、本実施形態においては、データ構造管理情報921、データ配置特定情報922の内容が拡張されている。また、図17を参照して説明されるように、本実施形態においては、データノードのアクセス受付手段が、アクセス処理手段にアクセス要求を発行するときに、他のデータノードのアクセス処理手段に対しても、アクセス要求を発行し、さらに、データ構造変換手段が、他のデータノードのデータ構造変換手段に対して、変更要求を発行する構成とされていることが、前記第1の実施形態と相違している。なお、本実施形態におけるデータノードの構成も、基本的には、図4に従うが、その詳細は図17を参照して後述される。
レプリカ識別子1は、ノード番号7−18、
に分割して格納するものとする。
・レプリカ識別子0のノード番号1−6には、カラムの値の前半、ノード番号7−12にはカラムの値の後半、
・レプリカ識別子1のノード番号7−12には、カラムの値の前半、ノード番号13−18には、カラムの値の後半
というように格納することで、同一のレコードが、同一のノードに格納されることは回避される。このようにすることで、配置ノードの割り当てを重複させながら、可用性を満たすことが出来る。
次に、本発明の第3の実施形態について説明する。本実施形態では、データ構造管理情報921をアクセス負荷に応じて変更するようにしている。変更された値をシステムのデータ構造に反映することで、データ構造の設定内容(図5に示したようなレプリカ識別子毎のデータ構造の割り当て)の不適切さの修正や、システム運用後のアクセスパターンの変化などに対応可能とする。これを実現する制御パラメータの自律変更の動作について説明する。
図19は、図18に示した本実施形態における制御動作を説明するフローチャートである。図19の動作を、例えば定期的に行うことによって、システムのデータ構造を自律的に変更・反映することが出来る。実行周期は、任意であるが、例えば周期を長くした場合、実行中の変更処理と、整合を取る必要がある。また、周期的な実行以外にも、所定のイベント検出に応答して変更処理を行うようにしてもよい。イベントとしては、例えばシステムの任意のいずれかの構成要素により、負荷の変更を検出(例として、一部のデータノードのCPU、ディスクなどのハードウェア利用率の大きな変化など)した場合等である。
<条件> then <アクション>(条件成立時アクションを実行)のif−then構造とされる。
図20は、本実施形態における、データ構造変換の動作を説明するフローチャートである。
図21は、図18に示した本実施形態における変換処理中のデータノード内の処理を説明する図である。図18のデータ構造変換手段113でデータ構造の変換処理中(ステップS502−504)において、アクセス処理手段112は、アクセス要求を、データ構造Aとデータ構造Bを用いて、アクセス要求を応答する。このとき、更新処理は、データ構造A(Write向け中間構造)に保持しておき、データ構造変換手段113で変換処理中は、データ構造B(Row−Store)への適用を行わない。
図22、図23は、本実施形態において、パーティション数を変更する動作を説明するフローチャートである。パーティション数の変更処理は、図19と同一のフローチャートとして表現できる。以下では、図22について、図19との相違点に着目して説明する。また、パーティション数だけでなく、分散戦略を変更してもよい。分散戦略の変更の一例として、例えばラウンドロビンによる分散から、任意のカラムの値範囲による分散への変更、あるいはその逆等があげられる。
図23に、図22のステップS605(変更判定手段72によるパーティショニング数変更処理)のフローを示す。以下では、図23について、図20と異なる点に着目して説明する。
本発明の第4の実施形態としてコンシステント・ハッシングへの適用例を説明する。以下では、テーブルAをカラムストア形式でコンシステント・ハッシング分割配置する場合の例について、図26を用いて説明する。なお、本実施形態において、コンシステント・ハッシングで、データが配置されるデータノード(データ配置ノード)を決める処理は、図18の変更判定手段72で行うようにしてもよい。ノード情報は、変更判定手段72により、構造情報保持部92に記録される。特に制限されないが、本実施形態においては、キー値(Key)と、前記キー値に対応してカラム毎に1又は複数のデータレコードを有するセットをロウ方向の単位とし、ロウの識別はキー値(Key)で行われ、各カラムにカラム識別子(Value1、Value2、・・・)が付与されたテーブルに関して、前記キー値と、カラム識別子と、テーブル識別子を組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定する。
テーブル識別子+カラム名+Key値
を組み合わせた文字列(テーブル識別子:tableA+カラム識別子Value2+Key値:acc)を渡し、ハッシュ値が算出される。
テーブル識別子+カラム名+レコードID
をハッシュ関数に渡す引数としてもよい。
それぞれがデータ格納部を備え、ネットワーク結合される複数のデータノードを備え、データ複製先のデータノードが、前記データノード間で、論理的には同一であるが、物理的には異なるデータ構造をそれぞれの前記データ格納部に保持する、少なくとも二つのデータノードを含む、分散ストレージシステム。
複製先の前記データノードにおいて、目的のデータ構造への変換を複製データの受付とは非同期で行う、付記1記載の分散ストレージシステム。
複製先の前記データノードにおいて、中間データ保持構造に前記複製データを保持して応答を返し、前記中間データ保持構造に保持されるデータ構造を、目的のデータ構造に非同期で変換する、付記2記載の分散ストレージシステム。
予め定められたテーブル単位でデータの配置先のデータノード、配置先でのデータ構造、データ分割を可変に制御する手段を備えた付記2記載の分散ストレージシステム。
データが配置されるデータノードを、コンシステント・ハッシングで求める手段を備えた、付記1乃至4のいずれか1に記載の分散ストレージシステム。
データ更新時に行われるデータの複製において、前記複製先のデータノードでは、更新要求対象のデータを、それぞれ、指定されたデータベースでのデータ構造とは異なるデータ構造に変換してデータを前記データ格納部に格納し、その際、前記データノードは、更新対象のデータを、一旦、中間データ保持構造を保持して前記更新に対する応答を返し、前記更新要求とは非同期で目的のデータ構造に変換して格納する、付記1乃至5のいずれか1に記載の分散ストレージシステム。
格納対象のデータを識別する識別子であるテーブル識別子に対応させて、複製を特定するレプリカ識別子と、前記レプリカ識別子に対応したデータ構造の種類を特定するデータ構造情報と、指定されたデータ構造に変換して格納されるまでの時間情報である更新契機情報と、を、前記データ構造の種類の数に対応させて備えたデータ構造管理情報と、
前記テーブル識別子に対応して、前記レプリカ識別子と、前記レプリカ識別子に対応した1つ又は複数のデータ配置先のデータノード情報と、を備えたデータ配置特定情報と、
を記憶管理する構造情報保持部を有する構造情報管理装置と、
前記データ構造管理情報と前記データ配置特定情報とを参照して、更新処理及び参照処理のアクセス先を特定するデータアクセス部を備えたクライアント機能実現部と、
それぞれが前記データ格納部を備え、前記構造情報管理装置と前記クライアント機能実現部とに接続される複数の前記データノードと、
を備え、
前記データノードは、
前記クライアント機能実現部からのアクセス要求に基づき、更新処理を行う場合に、中間データ保持構造にデータを保持して前記クライアント機能実現部に応答を返すデータ管理・処理部と、
前記データ構造管理情報を参照し、指定された更新契機に応答して、前記中間データ保持構造に保持されるデータを、前記データ構造管理情報で指定されたデータ構造に変換する処理を行うデータ構造変換部と、
を備えることを特徴とする、付記1乃至6のいずれか1に記載の分散ストレージシステム。
前記中間データ保持構造は、指定された目的のデータ構造としてデータが前記データ格納部に格納されるまでの間、前記データを保持する、付記7記載の分散ストレージシステム。
前記クライアント機能実現部が、前記更新処理又は前記参照処理の内容に応じてアクセス先のデータノードを、前記データ構造管理情報と前記データ配置特定情報より選択する、付記7記載の分散ストレージシステム。
前記クライアント機能実現部は、前記構造情報管理装置の前記構造情報保持部に保持されている前記データ配置特定情報、又は、前記構造情報保持部に保持される情報をキャッシュする構造情報キャッシュ保持部に保持されているデータ配置特定情報を取得し、データ配置先のデータノードに対して、アクセス命令を発行する、付記7記載の分散ストレージシステム。
前記データノードは、アクセス受付部、アクセス処理部、データ構造変換部を備え、
前記データノードの前記データ格納部は、構造別データ格納部を備え、
前記アクセス受付部は、前記クライアント機能実現部からの更新要求を受け付け、前記データ配置特定情報においてレプリカ識別子に対応して指定されているデータノードに対して更新要求を転送し、
前記データノードの前記アクセス処理部は、受け取った更新要求の処理を行い、前記データ構造管理情報の情報を参照して更新処理を実行し、その際、前記データ構造管理情報の情報から、前記データノードに対する前記更新契機が零の場合、更新データを、前記データ構造管理情報に指定されるデータ構造に変換して前記構造別データ格納部を更新し、
前記更新契機が零でない場合、前記中間データ保持構造に、一旦、更新データを書き込み、処理完了を応答し、
前記アクセス受付部は、前記アクセス処理部からの完了通知と、レプリカ先のデータノードの完了通知を受けると、前記クライアント機能実現部に対して応答し、
前記データ構造変換部は、前記中間データ保持構造のデータを、前記データ構造管理情報に指定されているデータ構造に変換し変換先の前記構造別データ格納部に格納する、付記7又は10記載の分散ストレージシステム。
前記クライアント機能実現部は、参照系アクセスの場合、データノードに対して行われるデータアクセスに適しているデータ構造を選択し、レプリカ識別子を特定した後、アクセスすべきデータノードを算出し、選択されたデータノードに対してアクセス要求を発行し前記データノードからアクセス処理結果を受け取る、付記7記載の分散ストレージシステム。
前記クライアント機能実現部が、前記データノード内に配設されている、付記7記載の分散ストレージシステム。
前記クライアント機能実現部が、前記構造情報保持部に保持される情報をキャッシュする構造情報キャッシュ保持部を備えた付記13記載の分散ストレージシステム。
前記クライアント機能実現部の前記構造情報キャッシュ保持部の構造情報と、前記構造情報管理装置の前記構造情報保持部に保持される構造情報を同期させる構造情報同期部を備えた付記14記載の分散ストレージシステム。
前記データ構造管理情報が、データを複数のデータノードに分割して格納する分割数であるパーティション数をレプリカ識別子に対応して備え、
前記データ配置特定情報は、前記データ構造管理情報においてパーティション数が2以上に対応するレプリカ識別子に対応した配置ノードとして、複数のデータノードを含み、
アクセス要求を受けた前記データノードの前記アクセス受付部は、パーティショニングされたデータの配置先が複数のデータノードにまたがる場合に、前記複数のデータノードを構成する他のデータノードのアクセス処理部にアクセス要求を発行する、付記7記載の分散ストレージシステム。
アクセス要求を受けた前記データノードの前記データ構造変換部は、前記更新契機が零のとき、他のデータノードの前記データ構造変換部に対してアクセス要求を発行する、付記7又は11記載の分散ストレージシステム。
アクセス要求の履歴を記録する履歴記録部と、
前記履歴記録部の履歴情報を用いてデータ構造の変換を行うか否かを判定する変更判定部と、
を備えた付記7記載の分散ストレージシステム。
前記変更判定部は、データ構造の変換が必要と判定した場合、前記構造情報管理装置の前記構造情報変更部に変換要求を出力し、
前記構造情報管理装置の前記構造情報変更部は、前記構造情報保持部の情報を変更し、前記データノードの前記データ構造変換部に変換要求を出力し、
前記データノードの前記データ構造変換部は前記データノードの前記データ格納部に保持されるデータ構造の変換を行う、付記18記載の分散ストレージシステム。
それぞれがデータ格納部を備え、ネットワーク結合される複数のデータノードを備えたシステムでの分散ストレージ方法であって、
データ複製先のデータノードの少なくとも二つのデータノードが、前記データノード間で、論理的には同一であるが、物理的には異なるデータ構造をそれぞれの前記データ格納部に保持する、分散ストレージ方法。
複製先の前記データノードにおいて、目的のデータ構造への変換を複製データの受付とは非同期で行う、付記20記載の分散ストレージ方法。
複製先の前記データノードにおいて、中間データ保持構造に複製データを保持して応答を返し、前記中間データ保持構造に保持されるデータ構造を、目的のデータ構造に非同期で変換する、付記21記載の分散ストレージ方法。
予め定められたテーブル単位でデータの配置先のデータノード、配置先でのデータ構造、データ分割を可変に制御する、付記21記載の分散ストレージ方法。
データが配置されるデータノードをコンシステント・ハッシングで求める、付記20乃至23のいずれか1に記載の分散ストレージ方法。
データ更新時に行われるデータの複製において、前記複製先のデータノードでは、更新要求対象のデータを、それぞれ、指定された目的のデータベースでのデータ構造とは異なるデータ構造に変換してデータを前記データ格納部に格納し、その際、前記データノードは、更新対象のデータを一旦、中間構造を保持して前記更新に対する応答を返し、前記更新要求とは非同期で、目的のデータ構造に変換して格納する、付記20乃至24のいずれか1に記載の分散ストレージ方法。
格納対象のデータを識別する識別子であるテーブル識別子に対応させて、複製を特定するレプリカ識別子と、前記レプリカ識別子に対応したデータ構造の種類を特定するデータ構造情報と、指定されたデータ構造に変換して格納されるまでの時間情報である更新契機情報と、を前記データ構造の種類の数に対応させて備えたデータ構造管理情報と、
前記テーブル識別子に対応して、前記レプリカ識別子と、前記レプリカ識別子に対応した1つ又は複数のデータ配置先のデータノード情報と、を備えたデータ配置特定情報と、
を含む構造情報を構造情報管理部で記憶管理し、
クライアント側では、前記データ構造管理情報と前記データ配置特定情報を参照して、更新処理及び参照処理のアクセス先を特定し、
前記データノードは、
前記クライアント側からのアクセス要求に基き、更新処理を行う場合に、中間データ保持構造にデータを保持して前記クライアントに応答を返し、
前記データ構造管理情報を参照し、指定された更新契機に応じて、前記中間データ保持構造から指定されたデータ構造に変換する、ことを特徴とする、付記25記載の分散ストレージ方法。
前記データ構造管理情報が、データを複数のデータノードに分割して格納する分割数であるパーティション数を、レプリカ識別子に対応して備え、
前記データ配置特定情報は、前記データ構造管理情報においてパーティション数が2以上に対応するレプリカ識別子に対応した配置ノードとして、複数のデータノードを含み、
アクセス要求を受けた前記データノードでは、パーティショニングされたデータの配置先が複数のデータノードにまたがる場合に、前記複数のデータノードを構成する他のデータノードに対してアクセス要求を発行する、付記26記載の分散ストレージ方法。
アクセス要求に履歴を記録する履歴記録部での履歴情報を用いて、データ構造の変換を行うか否かを判定し、変換が必要な場合、前記構造情報を変換し、さらに前記データノードのデータ構造を変換する、付記26記載の分散ストレージ方法。
キー値と、前記キー値に対応して1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与されたテーブルに関して、前記キー値と、前記カラム識別子と、前記テーブル識別子を組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定する、付記5記載の分散ストレージシステム。
キー値と、前記キー値に対応して1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与されたテーブルに関して、前記テーブル識別子と前記カラム識別子とを組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定し、カラム単位で別々のデータノードに分散配置する、付記5記載の分散ストレージシステム。
キー値と、前記キー値に対応して1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与されたテーブルに関して、前記テーブル識別子と前記カラム識別子と一義的な接尾子とを組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定し、1つのカラムを、複数のデータノードに分散配置する、付記5記載の分散ストレージシステム。
1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与され、レコード毎に一義的なレコード識別子が付与されたテーブルに関して、前記テーブル識別子と前記カラム識別子と前記レコード識別子を組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定する、付記5記載の分散ストレージシステム。
キー値と、前記キー値に対応して1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与されたテーブルに関して、前記キー値と、前記カラム識別子と、前記テーブル識別子を組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定する、付記24記載の分散ストレージ方法。
キー値と、前記キー値に対応して1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与されたテーブルに関して、前記テーブル識別子と前記カラム識別子とを組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定し、カラム単位で別々のデータノードに分散配置する、付記24記載の分散ストレージ方法。
キー値と、前記キー値に対応して1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与されたテーブルに関して、前記テーブル識別子と前記カラム識別子と一義的な接尾子とを組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定し、1つのカラムを、複数のデータノードに分散配置する、付記24記載の分散ストレージ方法。
1又は複数のデータレコードを1又は複数のカラムに有するセットをロウ方向の単位とし、各カラムにカラム識別子が付与され、レコード毎に一義的なレコード識別子が付与されたテーブルに関して、前記テーブル識別子と前記カラム識別子と前記レコード識別子を組み合せた文字列を引数としてハッシュ関数でハッシュ値を求め、前記ハッシュ値と、格納先ノードリスト情報から、コンシステントハッシュにより、データ配置先のデータノードを決定する、付記24記載の分散ストレージ方法。
5 ネットワーク
6 クライアントノード
9 構造情報管理手段(構造情報管理装置)
11、21、31、41 データ管理・処理手段(データ管理・処理部)
12、22、32、42 データ格納部
61 クライアント機能実現手段(クライアント機能実現部)
71 履歴記録部
72 変更判定手段(変更判定部)
91 構造情報変更手段(構造情報変更部)
92 構造情報保持部
93 構造情報同期手段(構造情報同期部)
101〜104 データノード計算機
101a CPU
101b データ記憶装置
101c データ転送装置
105 ネットワーク
111 アクセス受付手段(アクセス受付部)
112 アクセス処理手段(アクセス処理部)
113 データ構造変換手段(データ構造変換部)
121、122、123、12X 構造別データ格納部
611 データアクセス手段(データアクセス部)
612 構造情報キャッシュ保持部
921 データ構造管理情報
922 データ配置特定情報
Claims (28)
- それぞれがデータ格納部を備え、ネットワーク結合される複数のデータノードを備え、データ複製先のデータノードが、前記データノード間で、論理的には同一であるが、物理的には異なるデータ構造をそれぞれの前記データ格納部に保持する、少なくとも二つのデータノードを含み、前記複製先のデータノードは、目的のデータ構造への変換を複製データの受付とは非同期で行い、
データの識別子に対応して、前記データの格納先のデータノードと、データ構造の種類を特定するデータ構造管理情報を記憶管理する構造情報管理手段を備え、
前記データノードは、
アクセス要求に基づき、データの更新処理を行う場合に、受け付けたデータを、一旦、中間データ保持構造に保持して更新に対する応答を返すアクセス手段と、
設定された更新契機に応答して、前記中間データ保持構造に保持されるデータを、前記データ構造管理情報で指定されたデータ構造に非同期で変換して前記データ格納部に格納するデータ構造変換手段と、
を備えた、分散ストレージシステム。 - 前記構造情報管理手段は、前記中間データ保持構造に保持されるデータが目的のデータ構造に変換して格納されるまでの時間情報である更新契機情報を、前記データ構造の種類に対応させて保持する、請求項1記載の分散ストレージシステム。
- 前記構造情報管理手段は、前記データの識別子に対応して、1つ又は複数のデータ配置先のデータノード情報を特定するデータ配置特定情報をさらに記憶管理し、
前記更新処理に対応してアクセス先のデータノードを、前記データ構造管理情報と前記データ配置特定情報より選択するクライアント機能実現手段を備えた、請求項2記載の分散ストレージシステム。 - 予め定められたテーブル単位でデータの配置先のデータノード、配置先でのデータ構造、データ分割を可変に制御する手段を備えた請求項1記載の分散ストレージシステム。
- データが配置されるデータノードを、コンシステント・ハッシングで求める手段を備えた、請求項1乃至4のいずれか1項に記載の分散ストレージシステム。
- それぞれがデータ格納部を備え、ネットワーク結合される複数のデータノードを備え、データ複製先のデータノードが、前記データノード間で、論理的には同一であるが、物理的には異なるデータ構造をそれぞれの前記データ格納部に保持する、少なくとも二つのデータノードを含み、
格納対象のデータを識別する識別子であるテーブル識別子に対応させて、複製を特定するレプリカ識別子と、前記レプリカ識別子に対応したデータ構造の種類を特定するデータ構造情報と、指定されたデータ構造に変換して格納されるまでの時間情報である更新契機情報と、を、前記データ構造の種類の数に対応させて備えたデータ構造管理情報と、
前記テーブル識別子に対応して、前記レプリカ識別子と、前記レプリカ識別子に対応した1つ又は複数のデータ配置先のデータノード情報と、を備えたデータ配置特定情報と、
を記憶管理する構造情報保持部を有する構造情報管理装置と、
前記データ構造管理情報と前記データ配置特定情報とを参照して、更新処理及び参照処理のアクセス先を特定するデータアクセス部を備えたクライアント機能実現部と、
それぞれが前記データ格納部を備え、前記構造情報管理装置と前記クライアント機能実現部とに接続される複数の前記データノードと、
を備え、
前記データノードは、
前記クライアント機能実現部からのアクセス要求に基づき、更新処理を行う場合に、中間データ保持構造にデータを保持して前記クライアント機能実現部に応答を返すデータ管理・処理部と、
前記データ構造管理情報を参照し、指定された更新契機に応答して、前記中間データ保持構造に保持されるデータを、前記データ構造管理情報で指定されたデータ構造に変換する処理を行うデータ構造変換部と、
を備えることを特徴とする、分散ストレージシステム。 - 予め定められたテーブル単位でデータの配置先のデータノード、配置先でのデータ構造、データ分割を可変に制御する手段を備えた請求項6記載の分散ストレージシステム。
- 前記中間データ保持構造は、指定された目的のデータ構造としてデータが前記データ格納部に格納されるまでの間、前記データを保持する、請求項6記載の分散ストレージシステム。
- 前記クライアント機能実現部が、前記更新処理又は前記参照処理の内容に応じてアクセス先のデータノードを、前記データ構造管理情報と前記データ配置特定情報より選択する、請求項6記載の分散ストレージシステム。
- 前記クライアント機能実現部は、前記構造情報管理装置の前記構造情報保持部に保持されている前記データ配置特定情報、又は、前記構造情報保持部に保持される情報をキャッシュする構造情報キャッシュ保持部に保持されているデータ配置特定情報を取得し、データ配置先のデータノードに対して、アクセス命令を発行する、請求項6記載の分散ストレージシステム。
- 前記データノードは、アクセス受付部、アクセス処理部、データ構造変換部を備え、
前記データノードの前記データ格納部は、構造別データ格納部を備え、
前記アクセス受付部は、前記クライアント機能実現部からの更新要求を受け付け、前記データ配置特定情報においてレプリカ識別子に対応して指定されているデータノードに対して更新要求を転送し、
前記データノードの前記アクセス処理部は、受け取った更新要求の処理を行い、前記データ構造管理情報の情報を参照して更新処理を実行し、その際、前記データ構造管理情報の情報から、前記データノードに対する前記更新契機が零の場合、更新データを、前記データ構造管理情報に指定されるデータ構造に変換して前記構造別データ格納部を更新し、
前記更新契機が零でない場合、前記中間データ保持構造に、一旦、更新データを書き込み、処理完了を応答し、
前記アクセス受付部は、前記アクセス処理部からの完了通知と、レプリカ先のデータノードの完了通知を受けると、前記クライアント機能実現部に対して応答し、
前記データ構造変換部は、前記中間データ保持構造のデータを、前記データ構造管理情報に指定されているデータ構造に変換し変換先の前記構造別データ格納部に格納する、請求項6又は10記載の分散ストレージシステム。 - 前記クライアント機能実現部は、参照系アクセスの場合、データノードに対して行われるデータアクセスに適しているデータ構造を選択し、レプリカ識別子を特定した後、アクセスすべきデータノードを算出し、選択されたデータノードに対してアクセス要求を発行し前記データノードからアクセス処理結果を受け取る、請求項6記載の分散ストレージシステム。
- 前記クライアント機能実現部が、前記データノード内に配設されている、請求項6記載の分散ストレージシステム。
- 前記クライアント機能実現部が、前記構造情報保持部に保持される情報をキャッシュする構造情報キャッシュ保持部を備えた請求項13記載の分散ストレージシステム。
- 前記クライアント機能実現部の前記構造情報キャッシュ保持部の構造情報と、前記構造情報管理装置の前記構造情報保持部に保持される構造情報を同期させる構造情報同期部を備えた請求項14記載の分散ストレージシステム。
- 前記データ構造管理情報が、データを複数のデータノードに分割して格納する分割数であるパーティション数をレプリカ識別子に対応して備え、
前記データ配置特定情報は、前記データ構造管理情報においてパーティション数が2以上に対応するレプリカ識別子に対応した配置ノードとして、複数のデータノードを含み、
アクセス要求を受けた前記データノードのアクセス受付部は、パーティショニングされたデータの配置先が複数のデータノードにまたがる場合に、前記複数のデータノードを構成する他のデータノードのアクセス処理部にアクセス要求を発行する、請求項6記載の分散ストレージシステム。 - アクセス要求を受けた前記データノードの前記データ構造変換部は、前記更新契機が零のとき、他のデータノードの前記データ構造変換部に対してアクセス要求を発行する、請求項6又は11記載の分散ストレージシステム。
- アクセス要求の履歴を記録する履歴記録部と、
前記履歴記録部の履歴情報を用いてデータ構造の変換を行うか否かを判定する変更判定部と、
を備えた請求項6記載の分散ストレージシステム。 - 前記変更判定部は、データ構造の変換が必要と判定した場合、前記構造情報管理装置の構造情報変更部に変換要求を出力し、
前記構造情報管理装置の前記構造情報変更部は、前記構造情報保持部の情報を変更し、前記データノードの前記データ構造変換部に変換要求を出力し、
前記データノードの前記データ構造変換部は前記データノードの前記データ格納部に保持されるデータ構造の変換を行う、請求項18記載の分散ストレージシステム。 - それぞれがデータ格納部を備え、ネットワーク結合される複数のデータノードを備えたシステムでの分散ストレージ方法であって、
データ複製先のデータノードの少なくとも二つのデータノードが、前記データノード間で、論理的には同一であるが、物理的には異なるデータ構造をそれぞれの前記データ格納部に保持し、前記複製先のデータノードは、目的のデータ構造への変換を複製データの受付とは非同期で行い、
データの識別子に対応して、前記データの格納先のデータノードと、データ構造の種類を特定するデータ構造管理情報を構造情報管理手段で記憶管理し、
前記データノードは、
アクセス要求に基づき、データの更新処理を行う場合に、受け付けたデータを、一旦、中間データ保持構造に保持して、更新に対する応答を返し、
データの更新契機に応答して、前記中間データ保持構造に保持されるデータを、前記データ構造管理情報で指定されたデータ構造に非同期で変換し前記データ格納部に格納する、分散ストレージ方法。 - 前記構造情報管理手段は、前記中間データ保持構造に保持されるデータが目的のデータ構造に変換して格納されるまでの時間情報である更新契機情報を、前記データ構造の種類に対応させて保持する、請求項20記載の分散ストレージ方法。
- 前記構造情報管理手段では、前記データの識別子に対応して、1つ又は複数のデータ配置先のデータノード情報を特定するデータ配置特定情報をさらに記憶管理し、
前記更新処理に対応してアクセス先のデータノードを、前記データ構造管理情報と前記データ配置特定情報より選択する、請求項21記載の分散ストレージ方法。 - 予め定められたテーブル単位でデータの配置先のデータノード、配置先でのデータ構造、データ分割を可変に制御する、請求項20記載の分散ストレージ方法。
- データが配置されるデータノードをコンシステント・ハッシングで求める、請求項20乃至23のいずれか1項に記載の分散ストレージ方法。
- それぞれがデータ格納部を備え、ネットワーク結合される複数のデータノードを備えたシステムでの分散ストレージ方法であって、
データ複製先のデータノードの少なくとも二つのデータノードが、前記データノード間で、論理的には同一であるが、物理的には異なるデータ構造をそれぞれの前記データ格納部に保持し、
データ更新時に行われるデータの複製において、前記複製先のデータノードでは、更新対象のデータを、それぞれ、指定された目的のデータ構造に変換して前記データ格納部に格納し、その際、前記データノードは、更新対象のデータを一旦、中間構造を保持して前記更新に対する応答を返し、更新要求とは非同期で、目的のデータ構造に変換して格納し、
格納対象のデータを識別する識別子であるテーブル識別子に対応させて、複製を特定するレプリカ識別子と、前記レプリカ識別子に対応したデータ構造の種類を特定するデータ構造情報と、指定されたデータ構造に変換して格納されるまでの時間情報である更新契機情報と、を前記データ構造の種類の数に対応させて備えたデータ構造管理情報と、
前記テーブル識別子に対応して、前記レプリカ識別子と、前記レプリカ識別子に対応した1つ又は複数のデータ配置先のデータノード情報と、を備えたデータ配置特定情報と、
を含む構造情報を構造情報管理部で記憶管理し、
クライアント側では、前記データ構造管理情報と前記データ配置特定情報を参照して、更新処理及び参照処理のアクセス先を特定し、
前記データノードは、
前記クライアント側からのアクセス要求に基き、更新処理を行う場合に、中間データ保持構造にデータを保持して前記クライアントに応答を返し、
前記データ構造管理情報を参照し、指定された更新契機に応じて、前記中間データ保持構造から指定されたデータ構造に変換する、
ことを特徴とする分散ストレージ方法。 - 前記データ構造管理情報が、データを複数のデータノードに分割して格納する分割数であるパーティション数を、レプリカ識別子に対応して備え、
前記データ配置特定情報は、前記データ構造管理情報においてパーティション数が2以上に対応するレプリカ識別子に対応した配置ノードとして、複数のデータノードを含み、
アクセス要求を受けた前記データノードでは、パーティショニングされたデータの配置先が複数のデータノードにまたがる場合に、前記複数のデータノードを構成する他のデータノードに対してアクセス要求を発行する、請求項25記載の分散ストレージ方法。 - アクセス要求の履歴を記録する履歴記録部での履歴情報を用いて、データ構造の変換を行うか否かを判定し、変換が必要な場合、前記構造情報を変換し、さらに前記データノードのデータ構造を変換する、請求項25記載の分散ストレージ方法。
- データ格納部を備え、他のデータノードとネットワーク結合され、複数のデータノードが分散ストレージシステムを構成し、
更新対象のデータを複数のデータノードに複製する場合、前記データに関して、少なくとも一つの他のデータノードとの間で、論理的には同一であるが、物理的には異なるデータ構造を前記データ格納部に保持し、目的のデータ構造への変換を複製データの受付とは非同期で行うデータノード装置であって、
アクセス要求に基づき、データの更新処理を行う場合に、受け付けたデータを、一旦、中間データ保持構造に保持して更新に対する応答を返すアクセス手段と、
データの識別子に対応して、前記データの格納先のデータノードと、データ構造の種類を特定し、前記データの更新契機を設定するデータ構造管理情報を記憶管理する構造情報管理装置からの前記データ構造管理情報に基づき、設定された更新契機に応答して、前記中間データ保持構造に保持されるデータを、前記データ構造管理情報で指定されたデータ構造に非同期で変換して前記データ格納部に格納するデータ構造変換手段と、
を備えたデータノード装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013503590A JP5765416B2 (ja) | 2011-03-08 | 2012-03-08 | 分散ストレージシステムおよび方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011050151 | 2011-03-08 | ||
JP2011050151 | 2011-03-08 | ||
JP2013503590A JP5765416B2 (ja) | 2011-03-08 | 2012-03-08 | 分散ストレージシステムおよび方法 |
PCT/JP2012/055917 WO2012121316A1 (ja) | 2011-03-08 | 2012-03-08 | 分散ストレージシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012121316A1 JPWO2012121316A1 (ja) | 2014-07-17 |
JP5765416B2 true JP5765416B2 (ja) | 2015-08-19 |
Family
ID=46798271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013503590A Active JP5765416B2 (ja) | 2011-03-08 | 2012-03-08 | 分散ストレージシステムおよび方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9342574B2 (ja) |
JP (1) | JP5765416B2 (ja) |
WO (1) | WO2012121316A1 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6044539B2 (ja) * | 2011-08-02 | 2016-12-14 | 日本電気株式会社 | 分散ストレージシステムおよび方法 |
US9069835B2 (en) * | 2012-05-21 | 2015-06-30 | Google Inc. | Organizing data in a distributed storage system |
US9774676B2 (en) | 2012-05-21 | 2017-09-26 | Google Inc. | Storing and moving data in a distributed storage system |
WO2013184712A2 (en) | 2012-06-04 | 2013-12-12 | Google Inc. | Systems and methods of increasing database access concurrency using granular timestamps |
US9195611B2 (en) | 2012-06-04 | 2015-11-24 | Google Inc. | Efficiently updating and deleting data in a data storage system |
US9659038B2 (en) | 2012-06-04 | 2017-05-23 | Google Inc. | Efficient snapshot read of a database in a distributed storage system |
US9449006B2 (en) | 2012-06-04 | 2016-09-20 | Google Inc. | Method and system for deleting obsolete files from a file system |
US9298576B2 (en) | 2012-06-04 | 2016-03-29 | Google Inc. | Collecting processor usage statistics |
US9230000B1 (en) | 2012-06-04 | 2016-01-05 | Google Inc. | Pipelining Paxos state machines |
CN103514229A (zh) | 2012-06-29 | 2014-01-15 | 国际商业机器公司 | 用于在分布式数据库系统中处理数据库数据的方法和装置 |
JP5342055B1 (ja) * | 2012-10-30 | 2013-11-13 | 株式会社東芝 | 記憶装置およびデータバックアップ方法 |
KR102044023B1 (ko) * | 2013-03-14 | 2019-12-02 | 삼성전자주식회사 | 키 값 기반 데이터 스토리지 시스템 및 이의 운용 방법 |
US9430545B2 (en) * | 2013-10-21 | 2016-08-30 | International Business Machines Corporation | Mechanism for communication in a distributed database |
JP6076882B2 (ja) * | 2013-11-14 | 2017-02-08 | 日本電信電話株式会社 | 情報処理システム、管理装置及びキー割当プログラム |
WO2015118865A1 (ja) * | 2014-02-05 | 2015-08-13 | 日本電気株式会社 | 情報処理装置、情報処理システム及びデータアクセス方法 |
JP6361199B2 (ja) | 2014-03-20 | 2018-07-25 | 日本電気株式会社 | 情報記憶システム |
JP6365854B2 (ja) * | 2014-05-29 | 2018-08-01 | 華為技術有限公司Huawei Technologies Co.,Ltd. | サービス処理方法、関連するデバイス、及びシステム |
US10157214B1 (en) * | 2014-11-19 | 2018-12-18 | Amazon Technologies, Inc. | Process for data migration between document stores |
JP2016177347A (ja) | 2015-03-18 | 2016-10-06 | 日本電気株式会社 | データベースシステム |
US9727742B2 (en) * | 2015-03-30 | 2017-08-08 | Airbnb, Inc. | Database encryption to provide write protection |
US20180075122A1 (en) * | 2015-04-06 | 2018-03-15 | Richard Banister | Method to Federate Data Replication over a Communications Network |
US9672238B2 (en) | 2015-05-14 | 2017-06-06 | Walleye Software, LLC | Dynamic filter processing |
US10078562B2 (en) | 2015-08-18 | 2018-09-18 | Microsoft Technology Licensing, Llc | Transactional distributed lifecycle management of diverse application data structures |
US10838827B2 (en) | 2015-09-16 | 2020-11-17 | Richard Banister | System and method for time parameter based database restoration |
US10990586B2 (en) | 2015-09-16 | 2021-04-27 | Richard Banister | System and method for revising record keys to coordinate record key changes within at least two databases |
US20170270149A1 (en) * | 2016-03-15 | 2017-09-21 | Huawei Technologies Co., Ltd. | Database systems with re-ordered replicas and methods of accessing and backing up databases |
US10691723B2 (en) * | 2016-05-04 | 2020-06-23 | Huawei Technologies Co., Ltd. | Distributed database systems and methods of distributing and accessing data |
US10453076B2 (en) * | 2016-06-02 | 2019-10-22 | Facebook, Inc. | Cold storage for legal hold data |
JP6235082B1 (ja) * | 2016-07-13 | 2017-11-22 | ヤフー株式会社 | データ分類装置、データ分類方法、およびプログラム |
US10209901B2 (en) * | 2017-01-04 | 2019-02-19 | Walmart Apollo, Llc | Systems and methods for distributive data storage |
CN106855892A (zh) * | 2017-01-13 | 2017-06-16 | 贵州白山云科技有限公司 | 一种数据处理方法以及装置 |
CN107169075A (zh) * | 2017-05-10 | 2017-09-15 | 深圳大普微电子科技有限公司 | 基于特征分析的数据存取方法、存储设备及存储系统 |
US10198469B1 (en) | 2017-08-24 | 2019-02-05 | Deephaven Data Labs Llc | Computer data system data source refreshing using an update propagation graph having a merged join listener |
US10671482B2 (en) * | 2017-09-12 | 2020-06-02 | Cohesity, Inc. | Providing consistency in a distributed data store |
WO2020091181A1 (ko) * | 2018-11-01 | 2020-05-07 | 엘지전자 주식회사 | 무선 통신 시스템에서 신호를 송수신하는 방법 및 장치 |
US10796276B1 (en) * | 2019-04-11 | 2020-10-06 | Caastle, Inc. | Systems and methods for electronic platform for transactions of wearable items |
US11194769B2 (en) | 2020-04-27 | 2021-12-07 | Richard Banister | System and method for re-synchronizing a portion of or an entire source database and a target database |
CN111988359B (zh) * | 2020-07-15 | 2023-08-15 | 中国科学院计算技术研究所数字经济产业研究院 | 基于消息队列的数据分片同步方法及系统 |
JP7489249B2 (ja) | 2020-07-15 | 2024-05-23 | 株式会社日立製作所 | データベースシステム、データ配備管理装置およびデータ配備管理方法 |
US11847100B2 (en) | 2020-11-19 | 2023-12-19 | Alibaba Group Holding Limited | Distributed file system servicing random-access operations |
US11681664B2 (en) * | 2021-07-16 | 2023-06-20 | EMC IP Holding Company LLC | Journal parsing for object event generation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146067A (ja) * | 2008-12-16 | 2010-07-01 | Fujitsu Ltd | データ処理プログラム、サーバ装置およびデータ処理方法 |
JP2011008711A (ja) * | 2009-06-29 | 2011-01-13 | Brother Industries Ltd | ノード装置、処理プログラム及び分散保存方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3911810B2 (ja) | 1998-01-07 | 2007-05-09 | 富士ゼロックス株式会社 | 情報流通システム及び可搬型記憶媒体 |
US20010044879A1 (en) * | 2000-02-18 | 2001-11-22 | Moulton Gregory Hagan | System and method for distributed management of data storage |
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
JP4704659B2 (ja) * | 2002-04-26 | 2011-06-15 | 株式会社日立製作所 | 記憶装置システムの制御方法および記憶制御装置 |
US7284010B2 (en) * | 2003-10-23 | 2007-10-16 | Microsoft Corporation | System and method for storing and retrieving a field of a user defined type outside of a database store in which the type is defined |
US7500020B1 (en) * | 2003-12-31 | 2009-03-03 | Symantec Operating Corporation | Coherency of replicas for a distributed file sharing system |
US20050278385A1 (en) * | 2004-06-10 | 2005-12-15 | Hewlett-Packard Development Company, L.P. | Systems and methods for staggered data replication and recovery |
JP4528039B2 (ja) | 2004-06-29 | 2010-08-18 | 国立大学法人東京工業大学 | 自律ストレージ装置、自律ストレージシステム、ネットワーク負荷分散プログラム及びネットワーク負荷分散方法 |
US7457835B2 (en) * | 2005-03-08 | 2008-11-25 | Cisco Technology, Inc. | Movement of data in a distributed database system to a storage location closest to a center of activity for the data |
JP4668763B2 (ja) * | 2005-10-20 | 2011-04-13 | 株式会社日立製作所 | ストレージ装置のリストア方法及びストレージ装置 |
US7325111B1 (en) * | 2005-11-01 | 2008-01-29 | Network Appliance, Inc. | Method and system for single pass volume scanning for multiple destination mirroring |
US7653668B1 (en) * | 2005-11-23 | 2010-01-26 | Symantec Operating Corporation | Fault tolerant multi-stage data replication with relaxed coherency guarantees |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7885923B1 (en) * | 2006-06-30 | 2011-02-08 | Symantec Operating Corporation | On demand consistency checkpoints for temporal volumes within consistency interval marker based replication |
US8019727B2 (en) * | 2007-09-26 | 2011-09-13 | Symantec Corporation | Pull model for file replication at multiple data centers |
US8620861B1 (en) * | 2008-09-30 | 2013-12-31 | Google Inc. | Preserving file metadata during atomic save operations |
US8055615B2 (en) * | 2009-08-25 | 2011-11-08 | Yahoo! Inc. | Method for efficient storage node replacement |
US8352424B2 (en) * | 2010-02-09 | 2013-01-08 | Google Inc. | System and method for managing replicas of objects in a distributed storage system |
US8805783B2 (en) * | 2010-05-27 | 2014-08-12 | Microsoft Corporation | Synchronization of subsets of data including support for varying set membership |
-
2012
- 2012-03-08 JP JP2013503590A patent/JP5765416B2/ja active Active
- 2012-03-08 WO PCT/JP2012/055917 patent/WO2012121316A1/ja active Application Filing
- 2012-03-08 US US14/003,658 patent/US9342574B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146067A (ja) * | 2008-12-16 | 2010-07-01 | Fujitsu Ltd | データ処理プログラム、サーバ装置およびデータ処理方法 |
JP2011008711A (ja) * | 2009-06-29 | 2011-01-13 | Brother Industries Ltd | ノード装置、処理プログラム及び分散保存方法 |
Non-Patent Citations (3)
Title |
---|
CSNG201100102008; 中村俊介 ほか1名: '読み出し性能と書き込み性能を選択可能なクラウドストレージ' 情報処理学会研究報告[CD-ROM] 第2011-OS-116巻 第9号, 20110215, pp.1〜7, 一般社団法人情報処理学会 * |
JPN6012028864; 中村俊介 ほか1名: '読み出し性能と書き込み性能を選択可能なクラウドストレージ' 情報処理学会研究報告[CD-ROM] 第2011-OS-116巻 第9号, 20110215, pp.1〜7, 一般社団法人情報処理学会 * |
JPN7012001965; Avinash Lakshman ほか1名: 'Cassandra - A Decentralized Structured Storage System' ACM SIGOPS Operating Systems Review Volume 44, Issue 2, 201004, pp.35〜40, ACM * |
Also Published As
Publication number | Publication date |
---|---|
US20130346365A1 (en) | 2013-12-26 |
JPWO2012121316A1 (ja) | 2014-07-17 |
US9342574B2 (en) | 2016-05-17 |
WO2012121316A1 (ja) | 2012-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5765416B2 (ja) | 分散ストレージシステムおよび方法 | |
US10997163B2 (en) | Data ingestion using file queues | |
JP6044539B2 (ja) | 分散ストレージシステムおよび方法 | |
US8271455B2 (en) | Storing replication requests for objects in a distributed storage system | |
CN106233275B (zh) | 数据管理系统及方法 | |
CN102831120B (zh) | 一种数据处理方法及系统 | |
US10866970B1 (en) | Range query capacity allocation | |
US20060271653A1 (en) | Computer system | |
US20110066591A1 (en) | Policy-based storage structure distribution | |
US9330158B1 (en) | Range query capacity allocation | |
CN103647797A (zh) | 一种分布式文件系统及其数据访问方法 | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
Sundarakumar et al. | A comprehensive study and review of tuning the performance on database scalability in big data analytics | |
US11449521B2 (en) | Database management system | |
CN109716280A (zh) | 灵活的内存列存储布置 | |
JP2013088920A (ja) | 計算機システム及びデータ管理方法 | |
KR101792189B1 (ko) | 빅 데이터 처리 장치 및 방법 | |
JP2008186141A (ja) | データ管理方法、データ管理プログラム、データ管理システム、および、構成管理装置 | |
US11550793B1 (en) | Systems and methods for spilling data for hash joins | |
CN116975053A (zh) | 一种数据处理方法、装置、设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150420 |
|
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: 20150519 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5765416 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |