JP7398567B2 - 動的適応型パーティション分割 - Google Patents
動的適応型パーティション分割 Download PDFInfo
- Publication number
- JP7398567B2 JP7398567B2 JP2022539389A JP2022539389A JP7398567B2 JP 7398567 B2 JP7398567 B2 JP 7398567B2 JP 2022539389 A JP2022539389 A JP 2022539389A JP 2022539389 A JP2022539389 A JP 2022539389A JP 7398567 B2 JP7398567 B2 JP 7398567B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- information
- metric
- snapshot
- computing device
- 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
- 238000000638 solvent extraction Methods 0.000 title description 30
- 230000003044 adaptive effect Effects 0.000 title description 3
- 238000005192 partition Methods 0.000 claims description 457
- 238000000034 method Methods 0.000 claims description 32
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 19
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 4
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims 6
- 230000002123 temporal effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 241000283070 Equus zebra Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 244000068988 Glycine max Species 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- 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
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Claims (14)
- システムであって、
実行可能命令によって操作を実行するように構成された1又は複数のプロセッサを含み、
前記操作は、
前記1又は複数のプロセッサによって、複数のメタデータオブジェクトを含む第1パーティションを分割する命令を受信することと、
前記1又は複数のプロセッサによって、第1時点における前記複数のメタデータオブジェクトの状態の第1スナップショットを格納することと、
前記1又は複数のプロセッサによって、それぞれが前記メタデータオブジェクトの一部分を受信する第2パーティション及び第3パーティションであって、それぞれが前記メタデータオブジェクトについてのメトリックスキーマを含む前記第2パーティション及び前記第3パーティションを作成することと、
前記1又は複数のプロセッサによって、前記第1スナップショットの情報に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての情報を決定することと、
前記決定することの間に、前記1又は複数のプロセッサによって、前記第1パーティションへのライトを受信することと、
前記1又は複数のプロセッサによって、前記ライトに基づいて前記第1パーティションを更新し、前記第1パーティションの分割進行中における前記ライトによる影響を記録するデータ構造に、前記ライトによる前記メトリックスキーマへの影響を示す分割更新コマンドを追加することと、
前記1又は複数のプロセッサによって、前記分割更新コマンドに基づいて前記第2パーティション又は前記第3パーティションの前記メトリックスキーマのうちの少なくとも1つを更新することと、
を含み、
前記操作は、
前記第1スナップショットの情報に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての情報を前記決定することの後に、前記第1パーティションの第2スナップショットを取得することと、
前記第2スナップショットの情報及び前記データ構造に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての追加情報を決定することと、
をさらに含む、システム。 - 前記操作は、
前記第2スナップショットの前記情報及び前記データ構造に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての前記追加情報を前記決定することの間に、前記第1パーティションへの追加ライトを受信することと、
前記追加ライトに基づいて前記第1パーティションを更新し、前記追加ライトに基づいて、追加分割更新コマンドを前記データ構造に追加することと、
前記追加分割更新コマンドに基づいて、前記第2パーティション又は前記第3パーティションの前記メトリックスキーマのうちの少なくとも1つを更新することと、
をさらに含む、請求項1に記載のシステム。 - 前記分割更新コマンドは、前記少なくとも1つのメトリックスキーマを、前記第2パーティション又は前記第3パーティションのそれぞれの1つにおける前記ライトを反映した内容に更新するための情報を含む、請求項1に記載のシステム。
- 前記操作は、前記分割更新コマンドを用いて前記メトリックスキーマのうちの前記少なくとも1つを更新する間に、前記第1パーティションへのライトをブロックすることをさらに含む、請求項3に記載のシステム。
- 前記操作は、
前記分割更新コマンドに基づいて前記メトリックスキーマが更新された前記第2パーティション又は前記第3パーティションのうちの少なくとも1つの前記メタデータオブジェクトの前記一部分を、前記ライトに基づいて更新することをさらに含む、請求項1に記載のシステム。 - 前記操作は、
ライトを受信するため及び前記第1パーティションに削除のマーク付けを行うために、前記第2パーティション及び前記第3パーティションをアクティブ化することをさらに含む、請求項1に記載のシステム。 - 前記操作は、
非暗号化ハッシュアルゴリズムを使用して、前記メタデータオブジェクトに前記第1パーティションのそれぞれのキー範囲に割り当てることをさらに含む、請求項1に記載のシステム。 - 前記分割する命令は、前記第1パーティションに関連付けされた少なくとも1つの閾値を満たしている前記第1パーティションに少なくとも部分的に基づいて受信され、前記少なくとも1つの閾値は、閾値パーティションサイズ、トラフィック量閾値、応答待ち時間閾値、ディスク又はメモリ使用量閾値、又はネットワーク待ち時間閾値のうちの少なくとも1つを特定する、請求項1に記載のシステム。
- 前記ライトは、
ライトコマンド、削除コマンド、作成コマンド又は更新コマンドのうちの少なくとも1つを含む、請求項1に記載のシステム。 - 前記システムは、
ネットワークストレージと通信状態にあり、
前記メタデータオブジェクトは、前記ネットワークストレージによって格納されているオブジェクトに関する情報を含む請求項1に記載のシステム。 - 方法であって、
演算装置によって、第1時点における第1パーティションの複数のデータオブジェクトの状態の第1スナップショットを格納することと、
前記演算装置によって、それぞれが前記データオブジェクトの一部分を受信する第2パーティション及び第3パーティションであって、それぞれが前記データオブジェクトについてのメトリックスキーマを含む前記第2パーティション及び前記第3パーティションを作成することと、
前記演算装置によって、前記第1スナップショットの情報に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての情報を決定することと、
前記決定することの間に、1又は複数のプロセッサによって、前記第1パーティションへのライトを受信することと、
前記演算装置によって、前記ライトに基づいて前記第1パーティションを更新し、前記第1パーティションの分割進行中における前記ライトによる影響を記録するデータ構造に、前記ライトによる前記メトリックスキーマへの影響を示す分割更新コマンドを追加することと、
前記演算装置によって、前記分割更新コマンドに基づいて前記第2パーティション又は前記第3パーティションの前記メトリックスキーマのうちの少なくとも1つを更新することと、
を含み、
前記第1スナップショットの情報に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての情報を前記決定することの後に、前記第1パーティションの第2スナップショットを取得することと、
前記第2スナップショットの情報及び前記データ構造に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての追加情報を決定することと、
をさらに含む、方法。 - 前記分割更新コマンドは、
前記少なくとも1つのメトリックスキーマを、前記第2パーティション又は前記第3パーティションのそれぞれの1つにおける前記ライトを反映した内容に更新するための情報を含む、請求項11に記載の方法。 - 1又は複数のプロセッサによって実行されたときに、1又は複数のプロセッサを操作を実行するように構成する命令を格納する1又は複数の非一時的なコンピュータ可読媒体であって、
前記操作は、
演算装置によって、第1時点における第1パーティションのデータの状態の第1スナップショットを格納することと、
前記演算装置によって、それぞれが前記データの一部分を受信する第2パーティション及び第3パーティションであって、それぞれが前記データについてのメトリックスキーマを含む前記第2パーティション及び前記第3パーティションを作成することと、
前記演算装置によって、前記第1スナップショットの情報に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての情報を決定することと、
前記決定することの間に、前記1又は複数のプロセッサによって、前記第1パーティションへのライトを受信することと、
前記演算装置によって、前記ライトに基づいて前記第1パーティションを更新し、前記第1パーティションの分割進行中における前記ライトによる影響を記録するデータ構造に、前記ライトによる前記メトリックスキーマへの影響を示す分割更新コマンドを追加することと、
前記演算装置によって、前記分割更新コマンドに基づいて前記第2パーティション又は前記第3パーティションの前記メトリックスキーマのうちの少なくとも1つを更新することと、
を含み、
前記操作は、
前記第1スナップショットの情報に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての情報を前記決定することの後に、前記第1パーティションの第2スナップショットを取得することと、
前記第2スナップショットの情報及び前記データ構造に基づいて、前記第2パーティション及び前記第3パーティションの前記メトリックスキーマについての追加情報を決定することと、
をさらに含む、1又は複数の非一時的なコンピュータ可読媒体。 - 前記分割更新コマンドは、
前記少なくとも1つのメトリックスキーマを、前記第2パーティション又は前記第3パーティションのそれぞれの1つにおける前記ライトを反映した内容に更新するための情報を含む、請求項13に記載の1又は複数の非一時的なコンピュータ可読媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/068666 WO2021133405A1 (en) | 2019-12-27 | 2019-12-27 | Dynamic adaptive partition splitting |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023509900A JP2023509900A (ja) | 2023-03-10 |
JP7398567B2 true JP7398567B2 (ja) | 2023-12-14 |
Family
ID=76574997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022539389A Active JP7398567B2 (ja) | 2019-12-27 | 2019-12-27 | 動的適応型パーティション分割 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12026177B2 (ja) |
EP (1) | EP4081888A4 (ja) |
JP (1) | JP7398567B2 (ja) |
CN (1) | CN114930281A (ja) |
WO (1) | WO2021133405A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12086142B2 (en) * | 2020-10-15 | 2024-09-10 | Salesforce, Inc. | Database virtual partitioning |
CN113687855B (zh) * | 2021-07-22 | 2022-07-12 | 荣耀终端有限公司 | 电子设备及其系统升级包的制作方法、系统升级方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142752A (ja) | 1999-11-15 | 2001-05-25 | Hitachi Ltd | データベース管理方法 |
US20090157776A1 (en) | 2007-12-12 | 2009-06-18 | International Business Machines Corporation | Repartitioning live data |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131957B2 (en) * | 2007-08-16 | 2012-03-06 | International Business Machines Corporation | Splitting writes between a storage controller and replication engine |
US9740762B2 (en) * | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US9805108B2 (en) * | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US8930312B1 (en) * | 2012-01-17 | 2015-01-06 | Amazon Technologies, Inc. | System and method for splitting a replicated data partition |
US9489443B1 (en) | 2013-05-24 | 2016-11-08 | Amazon Technologies, Inc. | Scheduling of splits and moves of database partitions |
US10025673B1 (en) * | 2013-09-20 | 2018-07-17 | Amazon Technologies, Inc. | Restoring partitioned database tables from backup |
US9405783B2 (en) * | 2013-10-02 | 2016-08-02 | Netapp, Inc. | Extent hashing technique for distributed storage architecture |
US10067969B2 (en) * | 2015-05-29 | 2018-09-04 | Nuodb, Inc. | Table partitioning within distributed database systems |
US10346434B1 (en) * | 2015-08-21 | 2019-07-09 | Amazon Technologies, Inc. | Partitioned data materialization in journal-based storage systems |
US11182372B1 (en) * | 2017-11-08 | 2021-11-23 | Amazon Technologies, Inc. | Tracking database partition change log dependencies |
-
2019
- 2019-12-27 EP EP19957752.9A patent/EP4081888A4/en active Pending
- 2019-12-27 CN CN201980103426.0A patent/CN114930281A/zh active Pending
- 2019-12-27 US US17/774,498 patent/US12026177B2/en active Active
- 2019-12-27 JP JP2022539389A patent/JP7398567B2/ja active Active
- 2019-12-27 WO PCT/US2019/068666 patent/WO2021133405A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142752A (ja) | 1999-11-15 | 2001-05-25 | Hitachi Ltd | データベース管理方法 |
US20090157776A1 (en) | 2007-12-12 | 2009-06-18 | International Business Machines Corporation | Repartitioning live data |
Also Published As
Publication number | Publication date |
---|---|
JP2023509900A (ja) | 2023-03-10 |
EP4081888A4 (en) | 2023-09-06 |
US12026177B2 (en) | 2024-07-02 |
US20220391411A1 (en) | 2022-12-08 |
WO2021133405A1 (en) | 2021-07-01 |
EP4081888A1 (en) | 2022-11-02 |
CN114930281A (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9489443B1 (en) | Scheduling of splits and moves of database partitions | |
US9053167B1 (en) | Storage device selection for database partition replicas | |
US10853242B2 (en) | Deduplication and garbage collection across logical databases | |
US11734248B2 (en) | Metadata routing in a distributed system | |
US20240061812A1 (en) | Metadata control in a load-balanced distributed storage system | |
US10908834B2 (en) | Load balancing for scalable storage system | |
US10712964B2 (en) | Pre-forking replicas for efficient scaling of a distributed data storage system | |
US11231862B1 (en) | Localized lookups for efficient database service request processing | |
US11188258B2 (en) | Distributed storage system | |
JP7398567B2 (ja) | 動的適応型パーティション分割 | |
JP2011232840A (ja) | アクセス制御情報管理方法、計算機システム及びプログラム | |
US11237747B1 (en) | Arbitrary server metadata persistence for control plane static stability | |
US20240176762A1 (en) | Geographically dispersed hybrid cloud cluster | |
US20230283663A1 (en) | Randomization of heartbeat communications among multiple partition groups | |
US12067012B2 (en) | Cache updates through distributed message queues | |
US11947555B1 (en) | Intelligent query routing across shards of scalable database tables | |
US12014061B2 (en) | Capacity and performance optimization in non-homogeneous storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220713 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231020 |
|
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: 20231107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7398567 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |