JP2013004067A - ストレージシステム、ストレージ制御方法、プログラム - Google Patents
ストレージシステム、ストレージ制御方法、プログラム Download PDFInfo
- Publication number
- JP2013004067A JP2013004067A JP2011138253A JP2011138253A JP2013004067A JP 2013004067 A JP2013004067 A JP 2013004067A JP 2011138253 A JP2011138253 A JP 2011138253A JP 2011138253 A JP2011138253 A JP 2011138253A JP 2013004067 A JP2013004067 A JP 2013004067A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- written
- key
- server
- 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.)
- Pending
Links
Abstract
【解決手段】本発明のストレージシステムは、データとそのデータに対応するキーのセットを格納する複数のサーバ11と、サーバ11にデータを書き込むストレージライタ20と、一意のインデックスとそれに対応する一以上のキーのリストの組を有するファイルシステム生成部50と、を含み、キーが複数のサーバ11のいずれに格納されているかを、表もしくはアルゴリズムによって示す。ストレージライタ20は、インデックスによって特定される書込対象のデータのハッシュ値をキーとし、表もしくはアルゴリズムによって特定された書込先のサーバ11に書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップする。
【選択図】図1
Description
大規模なストレージシステムを実現する技術として、KVS(Key Value Store)が存在する(非特許文献1)。
(B)レプリケーション
大規模なストレージシステムを実現する際に、多くのストレージサーバを並べる場合、並べれば並べるほど、一部のストレージサーバに障害が起きる可能性が高くなる。
(a)並列KVSの課題
並列KVSでは、各ストレージサーバは、他のストレージサーバがどのようなvalueを保存しているかを知る必要がない。
(b)レプリケーションの課題
レプリカを生成する場合、マスターとなるデータが必要となる。そのデータを更新する場合、データとレプリカとの一貫性を確保するために、そのデータと全てのレプリカとの同期を完了させる必要がある。
データとそのデータに対応するキーのセットを格納する複数のストレージサーバと、前記ストレージサーバにデータを書き込むストレージライタと、一意のインデックスとそれに対応する一以上の前記キーのリストの組を有するファイルシステム生成部と、を含み、前記キーが前記複数のストレージサーバのいずれに格納されているかを、表もしくはアルゴリズムによって示すストレージシステムであって、
前記ストレージライタは、
前記インデックスによって特定される書込対象のデータのハッシュ値をハッシュ関数により計算し、計算したハッシュ値をキーとし、
前記表もしくはアルゴリズムによって特定された書込先のストレージサーバに書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込先のストレージサーバに書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップすることを特徴とする。
データとそのデータに対応するキーのセットを格納する複数のストレージサーバと、前記ストレージサーバにデータを書き込むストレージライタと、一意のインデックスとそれに対応する一以上の前記キーのリストの組を有するファイルシステム生成部と、を含み、前記キーが前記複数のストレージサーバのいずれに格納されているかを、表もしくはアルゴリズムによって示すストレージシステムが行うストレージ制御方法であって、
前記ストレージライタが、前記インデックスによって特定される書込対象のデータのハッシュ値をハッシュ関数により計算し、計算したハッシュ値をキーとするステップと、
前記ストレージライタが、前記表もしくはアルゴリズムによって特定された書込先のストレージサーバに書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込先のストレージサーバに書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップするステップと、を有することを特徴とする。
データとそのデータに対応するキーのセットを格納する複数のストレージサーバと、前記ストレージサーバにデータを書き込むストレージライタと、一意のインデックスとそれに対応する一以上の前記キーのリストの組を有するファイルシステム生成部と、を含み、前記キーが前記複数のストレージサーバのいずれに格納されているかを、表もしくはアルゴリズムによって示すストレージシステムにおいて、前記ストレージライタに、
前記インデックスによって特定される書込対象のデータのハッシュ値をハッシュ関数により計算し、計算したハッシュ値をキーとする手順と、
前記表もしくはアルゴリズムによって特定された書込先のストレージサーバに書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込先のストレージサーバに書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップする手順と、
を実行させる。
(1)本実施形態の構成
(1−1)ストレージシステム
図1に示すように、本実施形態のストレージシステムは、ストレージファーム10と、ストレージライタ20と、ストレージリーダ30と、監視部40と、ファイルシステム生成部50と、を有している。また、ストレージファーム10は、複数のストレージサーバ11から構成されている。なお、ストレージライタ20、ストレージリーダ30、監視部40、およびファイルシステム生成部50の数は、図1に示した数に限定されない。また、ストレージサーバ11の数も、図1に示した数に限定されず、複数であれば良い。
(1−2)ストレージファーム10
各ストレージサーバ11は、(key,value)のセットを保存するものであり、各ストレージサーバ11は、ストレージリーダ30およびストレージライタ20からアクセスされ、また、監視部40から監視される。
(1−3)ストレージライタ20
ストレージライタ20は、ファイルシステム生成部50から書き込み指示を受けて、ストレージファーム10に(key,value)のセットを書き込むものであり、例えば、以下の機能を備える。
(1−4)ストレージリーダ30
ストレージリーダ30は、ファイルシステム生成部50から読み込み指示を受けて、ストレージファーム10からvalueを読み込み、ファイルシステム生成部50に返すものであり、例えば、以下の機能を備える。
(1−5)監視部40
監視部40は、ストレージファーム10内の個々のストレージサーバ11を監視するものであり、例えば、以下の機能を備える。
(1−6)ファイルシステム生成部50
ファイルシステム生成部50は、通常のファイルシステムが備える機能に加えて、以下の機能を備える。
(2)本実施形態の動作
(2−1)データ書き込み時の動作
まず、データ書き込み時の動作について、図2を参照して説明する。
(2−2)データ読み込み時の動作
続いて、データ読み込み時の動作について、図3を参照して説明する。
(3)本実施形態の効果
上述したように本実施形態によれば、ストレージライタ20は、データを書き込む際に、そのデータを分割した各valueiについて、keyi = Hash(valuei)を計算し、(keyi, valuei)のセットを書き込む。
(4)他の実施形態
(4−1)一般に、多くのストレージシステム(例えば、HDFS Hadoop Distributed File System)では、データをチャンクに分けて分割して保存している。
(4−2)上述した実施形態においては、ストレージライタ20およびストレージリーダ30が、ストレージサーバ11からは独立して設置されていたが、例えば、図4に示すように、ストレージファーム10内のストレージサーバ11のそれぞれに、ストレージライタ20およびストレージリーダ30の機能を搭載する構成とすることもできる。
11 ストレージサーバ
20 ストレージライタ
30 ストレージリーダ
40 監視部
50 ファイルシステム生成部
Claims (6)
- データとそのデータに対応するキーのセットを格納する複数のストレージサーバと、前記ストレージサーバにデータを書き込むストレージライタと、一意のインデックスとそれに対応する一以上の前記キーのリストの組を有するファイルシステム生成部と、を含み、前記キーが前記複数のストレージサーバのいずれに格納されているかを、表もしくはアルゴリズムによって示すストレージシステムであって、
前記ストレージライタは、
前記インデックスによって特定される書込対象のデータのハッシュ値をハッシュ関数により計算し、計算したハッシュ値をキーとし、
前記表もしくはアルゴリズムによって特定された書込先のストレージサーバに書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込先のストレージサーバに書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップすることを特徴とする、
ストレージシステム。 - 前記ストレージサーバからデータを読み込むストレージリーダをさらに有し、
前記ストレージリーダは、
前記インデックスによって特定される読込対象のキーのリストを取得し、前記表もしくはアルゴリズから特定された読込先のストレージサーバから、キーに対応する読込対象のデータを読み込むと共に、読込対象のデータとキーとのセットをキャッシュメモリにキャッシュし、
以降の読込対象のデータに対応するキーが前記キャッシュメモリにキャッシュされている場合、該キーに対応する読込対象のデータを前記キャッシュメモリから読み込むことを特徴とする、
請求項1に記載のストレージシステム。 - 前記ストレージサーバに書き込むデータのデータ長は、予め決められており、
前記ストレージライタは、
前記インデックスによって特定された書込対象のデータを予め決められたデータ長に分割し、分割した各分割データについて、該分割データとキーとのセットを書込先のストレージサーバに書き込み、前記インデックスに対応するリストとして、分割したデータに対応するキーのリストを格納し、
前記ストレージリーダは、
前記インデックスによって特定された読込対象のデータを予め決められたデータ長に分割し、分割した各分割データについて、読込先のストレージサーバから各分割データを読み込み、読み込んだ各分割データを結合して読込対象のデータを得る、
請求項2に記載のストレージシステム。 - 前記複数のストレージサーバを監視する監視部をさらに有し、
前記監視部は、
前記ストレージサーバに格納されているデータのレプリカの数を確認する機能と、
そのレプリカの数が指定された値に満たない場合、前記ストレージサーバにレプリカを作ることを指示する機能と、
前記複数のストレージサーバに対して、定期的に、該ストレージサーバに書き込まれているデータとキーとのセットの対応を確認する機能と、を有し、
偽のセットが書き込まれているストレージサーバに対し、他のストレージサーバが、偽のセットを削除して、真のセットを新たに書き込む、
請求項1から3のいずれか1項に記載のストレージシステム。 - データとそのデータに対応するキーのセットを格納する複数のストレージサーバと、前記ストレージサーバにデータを書き込むストレージライタと、一意のインデックスとそれに対応する一以上の前記キーのリストの組を有するファイルシステム生成部と、を含み、前記キーが前記複数のストレージサーバのいずれに格納されているかを、表もしくはアルゴリズムによって示すストレージシステムが行うストレージ制御方法であって、
前記ストレージライタが、前記インデックスによって特定される書込対象のデータのハッシュ値をハッシュ関数により計算し、計算したハッシュ値をキーとするステップと、
前記ストレージライタが、前記表もしくはアルゴリズムによって特定された書込先のストレージサーバに書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込先のストレージサーバに書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップするステップと、を有することを特徴とする、
ストレージ制御方法。 - データとそのデータに対応するキーのセットを格納する複数のストレージサーバと、前記ストレージサーバにデータを書き込むストレージライタと、一意のインデックスとそれに対応する一以上の前記キーのリストの組を有するファイルシステム生成部と、を含み、前記キーが前記複数のストレージサーバのいずれに格納されているかを、表もしくはアルゴリズムによって示すストレージシステムにおいて、前記ストレージライタに、
前記インデックスによって特定される書込対象のデータのハッシュ値をハッシュ関数により計算し、計算したハッシュ値をキーとする手順と、
前記表もしくはアルゴリズムによって特定された書込先のストレージサーバに書込対象のデータに対応するキーがまだ書き込まれていない場合、書込対象のデータとキーとのセットを書き込み、書込先のストレージサーバに書込対象のデータに対応するキーが書き込まれている場合、書込対象のデータとキーとのセットの書き込みをスキップする手順と、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011138253A JP2013004067A (ja) | 2011-06-22 | 2011-06-22 | ストレージシステム、ストレージ制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011138253A JP2013004067A (ja) | 2011-06-22 | 2011-06-22 | ストレージシステム、ストレージ制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013004067A true JP2013004067A (ja) | 2013-01-07 |
Family
ID=47672532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011138253A Pending JP2013004067A (ja) | 2011-06-22 | 2011-06-22 | ストレージシステム、ストレージ制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013004067A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101438432B1 (ko) | 2013-02-21 | 2014-09-12 | 고려대학교 산학협력단 | 스토리지 서비스 이용에 따른 사용자 부인방지 및 데이터 무결성 검증 방법 |
WO2014170983A1 (ja) * | 2013-04-18 | 2014-10-23 | 株式会社日立製作所 | 計算機システム及び非同期レプリケーション管理方法 |
WO2015097774A1 (ja) * | 2013-12-25 | 2015-07-02 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018370A (ja) * | 2003-06-25 | 2005-01-20 | Nec Corp | インデックスファイル処理方式,方法,およびプログラム |
JP2010218194A (ja) * | 2009-03-17 | 2010-09-30 | Nec Corp | ストレージシステム |
JP2010224845A (ja) * | 2009-03-24 | 2010-10-07 | Nec Corp | ストレージ装置 |
JPWO2010114006A1 (ja) * | 2009-03-31 | 2012-10-11 | 日本電気株式会社 | ストレージシステムとストレージアクセス方法とプログラム |
-
2011
- 2011-06-22 JP JP2011138253A patent/JP2013004067A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018370A (ja) * | 2003-06-25 | 2005-01-20 | Nec Corp | インデックスファイル処理方式,方法,およびプログラム |
JP2010218194A (ja) * | 2009-03-17 | 2010-09-30 | Nec Corp | ストレージシステム |
JP2010224845A (ja) * | 2009-03-24 | 2010-10-07 | Nec Corp | ストレージ装置 |
JPWO2010114006A1 (ja) * | 2009-03-31 | 2012-10-11 | 日本電気株式会社 | ストレージシステムとストレージアクセス方法とプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101438432B1 (ko) | 2013-02-21 | 2014-09-12 | 고려대학교 산학협력단 | 스토리지 서비스 이용에 따른 사용자 부인방지 및 데이터 무결성 검증 방법 |
WO2014170983A1 (ja) * | 2013-04-18 | 2014-10-23 | 株式会社日立製作所 | 計算機システム及び非同期レプリケーション管理方法 |
WO2015097774A1 (ja) * | 2013-12-25 | 2015-07-02 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
JP6034512B2 (ja) * | 2013-12-25 | 2016-11-30 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
US9934248B2 (en) | 2013-12-25 | 2018-04-03 | Hitachi, Ltd. | Computer system and data management method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956601B2 (en) | Fully managed account level blob data encryption in a distributed storage environment | |
US11068395B2 (en) | Cached volumes at storage gateways | |
JP6955571B2 (ja) | 分散型ストレージ・ネットワーク内のゾーンにおけるデータの順次記憶 | |
US20190007206A1 (en) | Encrypting object index in a distributed storage environment | |
US9563385B1 (en) | Profile-guided data preloading for virtualized resources | |
US9559889B1 (en) | Cache population optimization for storage gateways | |
US10157214B1 (en) | Process for data migration between document stores | |
US20190007208A1 (en) | Encrypting existing live unencrypted data using age-based garbage collection | |
CN103503414A (zh) | 一种计算存储融合的集群系统 | |
CN106959996B (zh) | 一种基于互联网电视的后台数据同步方法 | |
CN103647797A (zh) | 一种分布式文件系统及其数据访问方法 | |
Li et al. | A convergence of key‐value storage systems from clouds to supercomputers | |
US20130031221A1 (en) | Distributed data storage system and method | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储系统 | |
CN103595799A (zh) | 一种实现分布式共享数据库的方法 | |
CN106027638B (zh) | 一种基于混合编码的hadoop数据分发方法 | |
CN106873902B (zh) | 一种文件存储系统、数据调度方法及数据节点 | |
JP2015528957A (ja) | 分散ファイルシステム、ファイルアクセス方法及びクライアントデバイス | |
US20150106468A1 (en) | Storage system and data access method | |
Chang et al. | Integration and optimization of multiple big data processing platforms | |
JP2013004067A (ja) | ストレージシステム、ストレージ制御方法、プログラム | |
US20190354376A1 (en) | Process Stream Replication for Content Management System Synchronization | |
JP7398567B2 (ja) | 動的適応型パーティション分割 | |
CN110298031B (zh) | 一种词典服务系统及模型版本一致性配送方法 | |
WO2012171363A1 (zh) | 分布式缓存系统中的数据操作方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20130305 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140805 |