JP2016062609A - コンピュータ実装された動的シャーディング方法 - Google Patents
コンピュータ実装された動的シャーディング方法 Download PDFInfo
- Publication number
- JP2016062609A JP2016062609A JP2015178972A JP2015178972A JP2016062609A JP 2016062609 A JP2016062609 A JP 2016062609A JP 2015178972 A JP2015178972 A JP 2015178972A JP 2015178972 A JP2015178972 A JP 2015178972A JP 2016062609 A JP2016062609 A JP 2016062609A
- Authority
- JP
- Japan
- Prior art keywords
- shard
- store
- subrange
- local
- shard store
- 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
Links
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
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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
-
- 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/21—Design, administration or maintenance of databases
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
−各々がシャードストア識別子を含み且つ各々が記憶容量制限により制限されている複数のシャードストアを提供するステップと、
−各シャードが局所的部分範囲内で少なくとも1個のキーが指すデータを求めるリクエストを扱うべく構成され、当該局所的部分範囲が前記順序付けられた大域的範囲の順序付けられた部分範囲を含む複数のシャードを提供するステップと、
−単一のシャードが単一のシャードストアを越えて延在しないようシャードストアに複数のシャードを提供するステップと、
−シャードストアの各々に1個の局所的部分範囲集合を、各々の局所的部分範囲集合が自身の対応するシャードストアに格納されたシャードの1個以上の局所的部分範囲を含むように提供するステップと、
−少なくとも1個のキーが指すデータを求める前記リクエストを扱う際に、
−当該リクエストを所定シャードストアに提供するステップと、
−当該所定シャードストアが、自身の局所的部分範囲集合により、当該少なくとも1個のキーが、当該所定シャードストアに格納されたシャードの局所的部分範囲に存在するか否かを検証するステップと、
−少なくとも1個のキーが当該所定シャードストアに格納されたシャードの局所的部分範囲に存在しない場合、当該所定シャードストアの局所的部分範囲集合を含むメッセージを返送するステップとを含んでいる。
−前記複数のシャードストアに接続可能であって少なくとも1個のキーが指すデータを求めるリクエストを扱うべく適合されたシャードルータを提供するステップと、
−順序付けられた大域的範囲の大域的部分範囲をシャードストア識別子と相関付けるべく適合された大域的部分範囲集合を前記シャードルータに提供するステップと、
−少なくとも1個のキーが指すデータを求めるリクエストを扱う際に、
−当該リクエストをシャードルータに提供するステップと、
−シャードルータが、リクエストの少なくとも1個のキーを含む大域的部分範囲と相関付けられたシャードストア識別子を判定するステップと、
−シャードルータが、当該相関付けられたシャードストア識別子の所定シャードストアに当該リクエストを渡すステップと、
−当該所定シャードストアが、自身の局所的部分範囲集合により、当該少なくとも1個のキーが当該所定シャードストアに格納されたシャードの局所的部分範囲に存在するか否かを検証するステップと、
−少なくとも1個のキーが、当該所定シャードストアに格納されたシャードの1個以上の局所的部分範囲に存在しない場合、
−当該所定シャードストアの局所的部分範囲集合を含むメッセージを返送するステップと、
−シャードルータが、所定シャードストアのシャードストア識別子を、前記メッセージの局所的部分範囲集合の局所的部分範囲に対応する大域的部分範囲と相関付けることにより、前記メッセージに基づいて自身の大域的部分範囲集合を更新するステップとを含んでいる。
所定シャードストアによりリクエストを扱う際に、当該所定シャードストアに格納されたシャードの1個以上の局所的部分範囲に少なくとも1個のキーが存在しない場合、
−局所的部分範囲集合を含むメッセージを返送するステップと、
−当該リクエストの少なくとも1個のキーが当該局所的部分範囲集合の外部部分範囲集合の所定の外部部分範囲に含まれているか否かを検証するステップと、
−当該リクエストを次いで、当該外部部分範囲と相関付けられたシャードストア識別子を有する別のシャードストアに提供するステップとを含んでいる。
−シャードルータが更に、別のシャードストアのシャードストア識別子を、前記メッセージの外部部分範囲集合の所定の外部部分範囲に対応する大域的部分範囲を相関付けることにより、前記メッセージに基づいて自身の大域的部分範囲集合を更新するステップを含んでいる。
−所定シャードストアが移動部分範囲に基づいて自身の公開局所的部分範囲集合を更新するステップと、
−所定シャードストアが移動シャードを別のシャードストアへ送信するステップと、
−別のシャードストアが所定シャードストアから移動シャードを受信するステップと、
−移動シャードが正しく受信された場合、別のシャードストアが、
−自身の公開局所的部分範囲集合および自身の非公開局所的部分範囲集合の両方を移動部分範囲に基づいて更新するステップと、
−所定シャードストアに移動肯定応答メッセージを送信するステップと、
−所定シャードストアが別のシャードストアから前記移動肯定応答メッセージを受信した場合、所定シャードストアが自身の非公開局所的部分範囲集合を更新し、所定シャードストアが移動シャードを削除するステップと含んでいる。
−移動ジョブキー範囲、
−キーの移動ジョブ量、および/または
−データの移動ジョブサイズ
の移動が完了すまで全てのデータを所定シャードストアから別のシャードストアへ移動させるリクエストを含んでいる。
−大域的部分範囲集合52から、メッセージ60の局所的部分範囲40として局所的部分範囲集合42に存在しない当該所定シャードストア20のシャードストア識別子22と相関付けられた大域的部分範囲54があればこれを除去するステップと、
−大域的部分範囲集合52に、メッセージ60の局所的部分範囲集合42の局所的部分範囲40を、当該所定シャードストア20のシャードストア識別子22と相関付けられた大域的部分範囲54として追加するステップとを含んでいる。特定の実施形態によれば、このような除去および追加を、例えば既存の大域的部分範囲54がメッセージの受信された局所的部分範囲40と重なる場合にこれらを更新する1個の更新動作として組み合わせ可能であること、またはこのような除去および追加を、例えば受信された局所的部分範囲と同一であることが検知された大域的部分範囲54について既存の大域的部分範囲54を修正しない動作として実行可能であること、あるいはこのような除去および追加を、メッセージ60の局所的部分範囲集合42に関して必要な場合に大域的部分範囲集合52を効率的に更新する他の任意の適当な動作として実装可能であることは明らかである。
2 ネットワーク接続
3 ネットワーク
10 データベース
11 データ
12 キー
13 検索リクエスト
14 大域的範囲
20、20.1、20.2 シャードストア
22 シャードストア識別子
30 シャード
40 局所的部分範囲
42 局所的部分範囲集合
42PU 公開局所的部分範囲集合
42PR 非公開局所的部分範囲集合
44 外部部分範囲
46 外部部分範囲集合
50 シャードルータ
52 大域的部分範囲集合
54 大域的部分範囲
60 メッセージ
70 移動部分範囲
72 移動シャード
74 移動肯定応答メッセージ
80 移動動作
302 第1のステップ
306 ステップ
Claims (15)
- 順序付けられた大域的範囲(14)に含まれるキー(12)により識別可能なデータ(11)を含むデータベース(10)の動的シャーディングを行うコンピュータ実装された方法であって、
−各々がシャードストア識別子(22)を含み且つ各々が記憶容量制限により制限されている複数のシャードストア(20)を提供するステップと、
−各シャード(30)が局所的部分範囲(40)内で少なくとも1個のキー(12)が指すデータを求めるリクエスト(13)を扱うべく構成され、当該局所的部分範囲(40)が前記順序付けられた大域的範囲(14)の順序付けられた部分範囲を含む複数のシャード(30)を提供するステップと、
−単一のシャード(30)が単一のシャードストア(20)を越えて延在しないよう前記シャードストア(20)に前記複数のシャード(30)を提供するステップと、
−前記シャードストア(20)の各々に1個の局所的部分範囲集合(42)を、各々の局所的部分範囲集合(42)が自身の対応するシャードストア(20)に格納された前記複数のシャード(30)の前記1個以上の局所的部分範囲(40)を含むように提供するステップと、
−少なくとも1個のキー(12)が指すデータ(11)を求める前記リクエスト(13)を扱う際に、
−当該リクエスト(13)を所定シャードストア(20)に提供するステップと、
−当該所定シャードストア(20)が、自身の局所的部分範囲集合(42)により、当該少なくとも1個のキー(12)が、当該所定シャードストア(20)に格納されたシャード(30)の局所的部分範囲(40)に存在するか否かを検証するステップと、
−少なくとも1個のキー(12)が当該所定シャードストア(20)に格納されたシャード(30)の局所的部分範囲(40)に存在しない場合、当該所定シャードストア(20)の前記局所的部分範囲集合(42)を含むメッセージ(60)を返送するステップとを含む方法。 - 当該所定シャードストア(20)が前記メッセージ(60)を返送する場合、前記リクエスト(13)が次いで別のシャードストア(20)に渡される、請求項1に記載の方法。
- −前記複数のシャードストア(20)に接続可能であって少なくとも1個のキー(12)が指すデータ(11)を求めるリクエストを扱うべく適合されたシャードルータ(50)を提供するステップと、
−前記順序付けられた大域的範囲(14)の大域的部分範囲(54)をシャードストア識別子(22)と相関付けるべく適合された大域的部分範囲集合(52)を前記シャードストア識別子(22)に提供するステップと、
−少なくとも1個のキー(12)が指すデータ(11)を求めるリクエスト(13)を扱う際に、
−当該リクエストを前記シャードルータ(50)に提供するステップと、
−前記シャードルータ(50)が、前記リクエスト(13)の少なくとも1個のキー(12)を含む大域的部分範囲(54)と相関付けられたシャードストア識別子(22)を判定するステップと、
−前記シャードルータ(50)が、当該相関付けられたシャードストア識別子(22)の前記所定シャードストア(20)に前記リクエストを渡すステップと、
−当該所定シャードストア(20)が、自身の局所的部分範囲集合(42)により、当該少なくとも1個のキー(12)が当該所定シャードストア(20)に格納されたシャード(30)の局所的部分範囲(40)に存在するか否かを検証するステップと、
−少なくとも1個のキー(12)が、当該所定シャードストア(20)に格納された前記シャード(30)の前記1個以上の局所的部分範囲(40)に存在しない場合、
−当該所定シャードストア(20)の前記局所的部分範囲集合(42)を含む前記メッセージ(60)を返送するステップと、
−前記シャードルータ(50)が、前記所定シャードストア(20)の前記シャードストア識別子(22)を、前記メッセージ(60)の前記局所的部分範囲集合(42)の局所的部分範囲(40)に対応する大域的部分範囲(54)と相関付けることにより、前記メッセージ(60)に基づいて自身の大域的部分範囲集合(52)を更新するステップとを更に含む、請求項1または2に記載の方法。 - 前記リクエスト(13)を扱う前記所定シャードストア(20)の前記局所的部分範囲集合(42)が、自身の各シャードストア識別子(22)と相関付けられた他のシャードストア(20)に格納されたシャード(30)の1個以上の外部部分範囲(44)を含む外部部分範囲集合(46)を更に含み、更に、
前記所定シャードストア(20)により前記リクエスト(13)を扱う際に、当該所定シャードストア(20)に格納されたシャード(30)の前記1個以上の局所的部分範囲(40)に少なくとも1個のキー(12)が存在しない場合、
−前記局所的部分範囲集合(42)を含む前記メッセージ(60)を返送するステップと、
−前記リクエスト(13)の少なくとも1個のキー(12)が当該局所的部分範囲集合(42)の前記外部部分範囲集合(46)の所定の外部部分範囲(44)に含まれているか否かを検証するステップと、
−前記リクエスト(13)を次いで、当該外部部分範囲(44)と相関付けられた前記シャードストア識別子(22)を有する前記別のシャードストア(20)に提供するステップとを含む、請求項1〜3のいずれか1項に記載の方法。 - 請求項4において請求項3に従う場合、当該所定シャードストア(20)に格納された前記シャード(30)の前記1個以上の局所的部分範囲(40)に少なくとも1個のキー(12)が存在しない場合、
−前記シャードルータ(50)が更に、前記別のシャードストア(20)の前記シャードストア識別子(22)を、前記メッセージ(60)の前記外部部分範囲集合(46)の前記所定の外部部分範囲(44)に対応する大域的部分範囲(54)を相関付けることにより、前記メッセージ(60)に基づいて自身の大域的部分範囲集合(52)を更新するステップを含む、請求項4に記載の方法。 - 移動部分範囲(70)内の全てのキー(12)が指すデータ(11)を含む移動シャード(72)の、前記所定シャードストア(20)から別のシャードストア(20)への移動動作(80)の結果、前記移動部分範囲(70)が前記所定シャードストア(20)の前記局所的部分範囲集合(42)から除去されて、前記別のシャードストア(20)の前記シャードストア識別子(22)と相関付けられた外部部分範囲(44)として前記所定シャードストア(20)の前記外部部分範囲集合(46)に追加される、請求項4または5に記載の方法。
- 移動部分範囲(70)内の全てのキー(12)が指すデータ(11)を含む移動シャード(72)の、前記所定シャードストア(20)から別のシャードストア(20)への前記移動動作(80)の結果、前記移動部分範囲(70)が局所的部分範囲(40)として前記別のシャードストア(20)の前記局所的部分範囲集合(42)に追加される、請求項6に記載の方法。
- 移動動作(80)の実行中に、前記移動動作(80)に関与する前記所定シャードストア(20)および/または前記別のシャードストア(20)の前記局所的部分範囲集合(42)の前記局所的部分範囲集合(42)だけが前記移動部分範囲(70)に基づいて更新される、請求項7に記載の方法。
- 前記移動動作(80)に関与する前記所定シャードストア(20)および前記別のシャードストア(20)が、公開局所的部分範囲集合(42PU)および非公開局所的部分範囲集合(42PR)を含み、そのような移動動作(80)の実行中に、
−前記所定シャードストア(20)が前記移動部分範囲(70)に基づいて自身の公開局所的部分範囲集合(42PU)を更新するステップと、
−前記所定シャードスト(20)が前記移動シャード(72)を前記別のシャードストア(20)へ送信するステップと、
−前記別のシャードストア(20)が前記所定シャードストア(20)から前記移動シャード(72)を受信するステップと、
−前記移動シャード(72)が正しく受信された場合、前記別のシャードストア(20)が、
−自身の公開局所的部分範囲集合(42PU)および自身の非公開局所的部分範囲集合(42PR)の両方を前記移動部分範囲(70)に基づいて更新するステップと、
−前記所定シャードストア(20)に移動肯定応答メッセージ(74)を送信するステップと、
−前記所定シャードストア(20)が前記別のシャードストア(20)から前記移動肯定応答メッセージ(74)を受信した場合、前記所定シャードストア(20)が自身の非公開局所的部分範囲集合(42PR)を更新し、前記所定シャードストア(20)が前記移動シャード(72)を削除するステップと含む、請求項6〜8のいずれか1項に記載の方法。 - 前記所定シャードストア(20)が、移動動作(80)を実行してから所定時間後に、自身の公開局所的部分範囲集合(42PU)が、自身の非公開局所的部分範囲集合(42PR)とは異なることを検知した場合、前記所定シャードストア(20)が前記移動シャード(72)を前記別のシャードストア(20)へ再送信する、請求項9に記載の方法。
- 前記別のシャードストア(20)に対して、自身の公開局所的部分範囲集合(42PU)に既に存在する前記移動部分範囲(70)が前記所定シャードストア(20)により前記移動シャード(72)が提供されている場合、前記別のシャードストア(20)が、前記移動シャード(72)を受信することなく前記所定シャードストア(20)に対して移動肯定応答メッセージ(74)を送信する、請求項10に記載の方法。
- 前記移動シャード(72)が、前記所定シャードストア(20)のシャード(30)の少なくとも1個の順序付けられた部分集合を含むように生成される、請求項6〜11に記載の方法。
- サイズが移動サイズ閾値(90)を上回るシャード(30)の少なくとも1個の順序付けられた部分集合を移動させる移動ジョブ(82)が提供された場合、前記移動動作(80)の各々の前記移動シャード(72)のサイズが前記移動サイズ閾値(90)以下であるように、複数の移動動作(80)が前記移動ジョブ(82)に基づいて生成され、前記移動ジョブ(82)が、前記複数の移動動作(80)により、
−移動ジョブキー範囲、
−キー(12)の移動ジョブ量、および/または
−前記シャード(30)
の前記順序付けられた部分集合の移動ジョブサイズ
の移動が完了するまでシャード(30)の順序付けられた部分集合を前記所定シャードストア(20)から別のシャードストア(20)へ移動させるリクエストを含む、請求項6〜12のいずれか1項に記載の方法。 - 所定シャード(30)について、前記所定シャード(30)の前記局所的部分範囲(40)に隣接する局所的部分範囲(40)を有する同一シャードストア(20)で別のシャード(30)が利用可能であることが検知された場合、当該所定シャード(30)が前記別のシャード(30)にマージされてマージ済みシャード(30)を形成すると共に、前記局所的部分範囲集合(42)が、前記所定シャード(30)の隣接する局所的部分範囲(40)および前記別のシャード(30)の両方を、マージ済みシャード(30)のマージ済み局所的部分範囲(40)にマージすることにより更新される、請求項1〜13のいずれか1項に記載の方法。
- プロセッサにより実行された場合に請求項1〜14のいずれか1項に記載の方法を実行すべく適合されたソフトウェアコードを含むコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14185304.4 | 2014-09-18 | ||
EP14185304.4A EP2998881B1 (en) | 2014-09-18 | 2014-09-18 | A computer implemented method for dynamic sharding |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016062609A true JP2016062609A (ja) | 2016-04-25 |
JP6198210B2 JP6198210B2 (ja) | 2017-09-20 |
Family
ID=51589117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015178972A Expired - Fee Related JP6198210B2 (ja) | 2014-09-18 | 2015-09-10 | コンピュータ実装された動的シャーディング方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9965539B2 (ja) |
EP (1) | EP2998881B1 (ja) |
JP (1) | JP6198210B2 (ja) |
KR (1) | KR101852136B1 (ja) |
CN (1) | CN105447075B (ja) |
AU (1) | AU2015221548B2 (ja) |
CA (1) | CA2903841A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020536341A (ja) * | 2017-10-05 | 2020-12-10 | ザダラ ストレージ インコーポレイテッド | 動的キーレンジを有するkvストアにおけるシャードの維持 |
JP2022551335A (ja) * | 2019-11-25 | 2022-12-08 | グーグル エルエルシー | ルール違反検出 |
Families Citing this family (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US9323809B2 (en) | 2014-03-10 | 2016-04-26 | Interana, Inc. | System and methods for rapid data analysis |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9747319B2 (en) * | 2014-12-31 | 2017-08-29 | Nexenta Systems, Inc. | Read-modify-write processing of chunks at the storage server level in a distributed object storage system |
US11106871B2 (en) | 2015-01-23 | 2021-08-31 | Conversica, Inc. | Systems and methods for configurable messaging response-action engine |
US11100285B2 (en) | 2015-01-23 | 2021-08-24 | Conversica, Inc. | Systems and methods for configurable messaging with feature extraction |
US10296507B2 (en) * | 2015-02-12 | 2019-05-21 | Interana, Inc. | Methods for enhancing rapid data analysis |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
KR101765517B1 (ko) * | 2016-04-06 | 2017-08-08 | 한양대학교 산학협력단 | 데이터베이스를 저널링하는 장치 및 방법 |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11169706B2 (en) | 2016-05-26 | 2021-11-09 | Nutanix, Inc. | Rebalancing storage I/O workloads by storage controller selection and redirection |
US10628462B2 (en) * | 2016-06-27 | 2020-04-21 | Microsoft Technology Licensing, Llc | Propagating a status among related events |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10146835B2 (en) | 2016-08-23 | 2018-12-04 | Interana, Inc. | Methods for stratified sampling-based query execution |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10678817B2 (en) * | 2017-02-03 | 2020-06-09 | DataJaguar, Inc | Systems and methods of scalable distributed databases |
US10073888B1 (en) * | 2017-02-27 | 2018-09-11 | Timescacle, Inc. | Adjusting partitioning policies of a database system in view of storage reconfiguration |
CN107103032B (zh) * | 2017-03-21 | 2020-02-28 | 中国科学院计算机网络信息中心 | 一种分布式环境下避免全局排序的海量数据分页查询方法 |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
CN107491965B (zh) | 2017-07-31 | 2020-07-10 | 阿里巴巴集团控股有限公司 | 一种生物特征库的建立方法和装置 |
US10769126B1 (en) * | 2017-09-22 | 2020-09-08 | Amazon Technologies, Inc. | Data entropy reduction across stream shard |
WO2019084321A1 (en) * | 2017-10-26 | 2019-05-02 | Conversica, Inc. | SYSTEMS AND METHODS FOR CONFIGURABLE MESSAGE RESPONSE-ACTION ENGINE |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
CN107819875B (zh) * | 2017-11-27 | 2021-04-09 | 深信服科技股份有限公司 | 一种云平台下用户专享服务方法及装置 |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11188531B2 (en) | 2018-02-27 | 2021-11-30 | Elasticsearch B.V. | Systems and methods for converting and resolving structured queries as search queries |
US11914592B2 (en) | 2018-02-27 | 2024-02-27 | Elasticsearch B.V. | Systems and methods for processing structured queries over clusters |
US10685031B2 (en) * | 2018-03-27 | 2020-06-16 | New Relic, Inc. | Dynamic hash partitioning for large-scale database management systems |
US10901845B2 (en) * | 2018-04-16 | 2021-01-26 | Microsoft Technology Licensing, Llc | Erasure coding for a single-image memory |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
CN108874753B (zh) * | 2018-06-13 | 2022-05-10 | 百度在线网络技术(北京)有限公司 | 主题帖回复的查找方法、装置和计算机设备 |
US11251939B2 (en) * | 2018-08-31 | 2022-02-15 | Quantifind, Inc. | Apparatuses, methods and systems for common key identification in distributed data environments |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
US10922142B2 (en) | 2018-10-31 | 2021-02-16 | Nutanix, Inc. | Multi-stage IOPS allocation |
US11461270B2 (en) * | 2018-10-31 | 2022-10-04 | Elasticsearch B.V. | Shard splitting |
US10997204B2 (en) | 2018-12-21 | 2021-05-04 | Elasticsearch B.V. | Cross cluster replication |
RU2744028C2 (ru) | 2018-12-26 | 2021-03-02 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для хранения множества документов |
US11030222B2 (en) | 2019-04-09 | 2021-06-08 | Fair Isaac Corporation | Similarity sharding |
US11943295B2 (en) | 2019-04-09 | 2024-03-26 | Elasticsearch B.V. | Single bi-directional point of policy control, administration, interactive queries, and security protections |
US11431558B2 (en) | 2019-04-09 | 2022-08-30 | Elasticsearch B.V. | Data shipper agent management and configuration systems and methods |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US10891165B2 (en) | 2019-04-12 | 2021-01-12 | Elasticsearch B.V. | Frozen indices |
US10996887B2 (en) * | 2019-04-29 | 2021-05-04 | EMC IP Holding Company LLC | Clustered storage system with dynamic space assignments across processing modules to counter unbalanced conditions |
US11182093B2 (en) | 2019-05-02 | 2021-11-23 | Elasticsearch B.V. | Index lifecycle management |
CN113994626B (zh) * | 2019-05-22 | 2023-01-17 | 妙泰公司 | 具有增强的安全性、弹性和控制的分布式数据存储方法及系统 |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10977234B2 (en) | 2019-08-02 | 2021-04-13 | Timescale, Inc. | Combining compressed and uncompressed data at query time for efficient database analytics |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11409711B2 (en) * | 2019-12-03 | 2022-08-09 | Western Digital Technologies, Inc. | Barriers for dependent operations among sharded data stores |
US11567899B2 (en) | 2019-12-03 | 2023-01-31 | Western Digital Technologies, Inc. | Managing dependent delete operations among data stores |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
WO2021231554A1 (en) | 2020-05-12 | 2021-11-18 | AirMettle, Inc. | Partitioning, processing, and protecting data |
CN111858771A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 分布式数据存储方法、设备和存储介质 |
US11604674B2 (en) | 2020-09-04 | 2023-03-14 | Elasticsearch B.V. | Systems and methods for detecting and filtering function calls within processes for malware behavior |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
WO2022177564A1 (en) * | 2021-02-18 | 2022-08-25 | Futurewei Technologies, Inc. | Distributed naming scheme for network-attached storage devices |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US11620274B2 (en) * | 2021-04-30 | 2023-04-04 | Intuit Inc. | Method and system of automatically predicting anomalies in online forms |
KR20240057605A (ko) * | 2022-10-25 | 2024-05-03 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 어카운트 생성 시스템 및 방법 |
US11995084B1 (en) | 2023-10-05 | 2024-05-28 | Timescale, Inc. | Database system for querying time-series data stored in a tiered storage using a cloud platform |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030165A (ja) * | 2011-07-28 | 2013-02-07 | Nhn Business Platform Corp | データ格納方法及び装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693813B1 (en) * | 2007-03-30 | 2010-04-06 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
US8392482B1 (en) * | 2008-03-31 | 2013-03-05 | Amazon Technologies, Inc. | Versioning of database partition maps |
WO2012068184A1 (en) | 2010-11-15 | 2012-05-24 | File System Labs Llc | Methods and apparatus for distributed data storage |
US9740762B2 (en) | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
EP2469411B1 (en) | 2010-12-27 | 2013-05-29 | Amplidata NV | A distributed object storage system |
US9037618B2 (en) * | 2011-03-31 | 2015-05-19 | Novell, Inc. | Distributed, unified file system operations |
US9047331B2 (en) | 2011-04-21 | 2015-06-02 | International Business Machines Corporation | Scalable row-store with consensus-based replication |
US9231846B2 (en) * | 2011-11-22 | 2016-01-05 | Microsoft Technology Licensing, Llc | Providing network capability over a converged interconnect fabric |
US10489412B2 (en) | 2012-03-29 | 2019-11-26 | Hitachi Vantara Corporation | Highly available search index with storage node addition and removal |
EP2672387B1 (en) | 2012-06-04 | 2018-08-01 | Amplidata NV | A distributed object storage system |
US20140108421A1 (en) | 2012-10-04 | 2014-04-17 | Codefutures Corporation | Partitioning database data in a sharded database |
KR101544356B1 (ko) * | 2012-10-31 | 2015-08-13 | 삼성에스디에스 주식회사 | 메타데이터 및 트랜잭션 발생량을 고려한 동적 샤딩 기능을 지원하는 분산 데이터베이스 관리 방법 및 그 구성 노드 |
WO2014201402A1 (en) * | 2013-06-14 | 2014-12-18 | American Chemical Society | Systems and methods for searching chemical structures |
-
2014
- 2014-09-18 EP EP14185304.4A patent/EP2998881B1/en active Active
-
2015
- 2015-09-04 AU AU2015221548A patent/AU2015221548B2/en not_active Ceased
- 2015-09-10 CA CA2903841A patent/CA2903841A1/en not_active Abandoned
- 2015-09-10 JP JP2015178972A patent/JP6198210B2/ja not_active Expired - Fee Related
- 2015-09-16 US US14/855,629 patent/US9965539B2/en active Active
- 2015-09-18 CN CN201510599564.6A patent/CN105447075B/zh active Active
- 2015-09-18 KR KR1020150132596A patent/KR101852136B1/ko active IP Right Grant
-
2018
- 2018-05-07 US US15/973,491 patent/US10776396B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030165A (ja) * | 2011-07-28 | 2013-02-07 | Nhn Business Platform Corp | データ格納方法及び装置 |
Non-Patent Citations (1)
Title |
---|
近藤直樹ほか: "複数分散インデックス手法の実装・比較のための共通フレームワークの実現", 第4回データ工学と情報マネジメントに関するフォーラム論文集 (第10回日本データベース学会年次大会), JPN6017002185, 13 July 2012 (2012-07-13), JP * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020536341A (ja) * | 2017-10-05 | 2020-12-10 | ザダラ ストレージ インコーポレイテッド | 動的キーレンジを有するkvストアにおけるシャードの維持 |
JP7345482B2 (ja) | 2017-10-05 | 2023-09-15 | ザダラ ストレージ インコーポレイテッド | 動的キーレンジを有するkvストアにおけるシャードの維持 |
JP2022551335A (ja) * | 2019-11-25 | 2022-12-08 | グーグル エルエルシー | ルール違反検出 |
JP7275392B2 (ja) | 2019-11-25 | 2023-05-17 | グーグル エルエルシー | ルール違反検出 |
Also Published As
Publication number | Publication date |
---|---|
CN105447075A (zh) | 2016-03-30 |
JP6198210B2 (ja) | 2017-09-20 |
AU2015221548B2 (en) | 2017-01-19 |
US20180253484A1 (en) | 2018-09-06 |
US9965539B2 (en) | 2018-05-08 |
AU2015221548A1 (en) | 2016-04-07 |
EP2998881B1 (en) | 2018-07-25 |
CN105447075B (zh) | 2019-03-15 |
KR20160037761A (ko) | 2016-04-06 |
CA2903841A1 (en) | 2016-03-18 |
US10776396B2 (en) | 2020-09-15 |
US20160085839A1 (en) | 2016-03-24 |
KR101852136B1 (ko) | 2018-06-08 |
EP2998881A1 (en) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6198210B2 (ja) | コンピュータ実装された動的シャーディング方法 | |
US10649988B1 (en) | Artificial intelligence and machine learning infrastructure | |
US10613791B2 (en) | Portable snapshot replication between storage systems | |
US20220318083A1 (en) | Prioritizing Highly Performant Storage Systems For Servicing A Synchronously Replicated Dataset | |
US10209893B2 (en) | Massively scalable object storage for storing object replicas | |
US10795817B2 (en) | Cache coherence for file system interfaces | |
US9081841B2 (en) | Asynchronous distributed garbage collection for replicated storage clusters | |
US20170220662A1 (en) | Massively Scalable Object Storage System | |
US20170126805A1 (en) | Allocating delegates for modification of an index structure | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
US20120233119A1 (en) | Openstack database replication | |
CN103150394A (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
US20180074903A1 (en) | Processing access requests in a dispersed storage network | |
US11347647B2 (en) | Adaptive cache commit delay for write aggregation | |
US11442645B2 (en) | Distributed storage system expansion mechanism | |
US11422731B1 (en) | Metadata-based replication of a dataset | |
US11868334B2 (en) | Integrating change tracking of storage objects of a distributed object storage database into a distributed storage system | |
Cao | Efficient Data Management and Processing in Big Data Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151118 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160106 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170419 |
|
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: 20170718 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170815 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6198210 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |