JP7212440B2 - システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置 - Google Patents
システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置 Download PDFInfo
- Publication number
- JP7212440B2 JP7212440B2 JP2020543853A JP2020543853A JP7212440B2 JP 7212440 B2 JP7212440 B2 JP 7212440B2 JP 2020543853 A JP2020543853 A JP 2020543853A JP 2020543853 A JP2020543853 A JP 2020543853A JP 7212440 B2 JP7212440 B2 JP 7212440B2
- Authority
- JP
- Japan
- Prior art keywords
- garbage collection
- log
- record
- slot
- processor
- 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
Images
Classifications
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- 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/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Claims (15)
- プロセッサを含むシステムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法であって、
前記プロセッサによって、中断されたガベージ・コレクション動作の前にシステム状態を記録することと、
前記プロセッサによって、中断された対象スロット内のデータ・レコードを指し示すダーティ・チェックポイント・レコードのためにログ構造に廃棄エントリを書き込むことと、
前記ログ構造内に前記ダーティ・チェックポイント・レコードのための新たなチェックポイント・レコードを挿入することと、
を含む、方法。 - 前記システムが、時系列順ログ構造のキーバリュー・ストア・システムを含む、請求項1に記載の方法。
- 前記ガベージ・コレクション動作が、ガベージ・コレクション・トランザクションを含む、請求項1または2に記載の方法。
- 前記中断された対象スロットが、前記ガベージ・コレクション動作の対象スロットである、請求項1ないし3のいずれか一項に記載の方法。
- ガベージ・コレクション動作中の障害後に前記システムを整合状態に復元する処理を用いてデータの時系列順を維持する間、ガベージ・コレクション処理と並行して進行するチェックポイント動作に提供することをさらに含む、請求項3または4に記載の方法。
- 前記中断されたガベージ・コレクション動作後にリカバリ・ログを読み出すことと、
未完了ガベージ・コレクション対象スロットおよび未完了ガベージ・コレクション犠牲スロットを識別することと、
をさらに含む、請求項1ないし5のいずれか一項に記載の方法。 - 個々のリカバリ・ログ上にガベージ・コレクション・トランザクションを記録することをさらに含む、請求項1ないし6のいずれか一項に記載の方法。
- 前記ログ構造の前記対象スロットの領域を前記対象スロット内の開始オフセットから前記対象スロットの終わりまでゼロアウトすることと、
個々のリカバリ・ログにガベージ・コレクション・トランザクションのための中断レコードを挿入することと、
をさらに含む、請求項1ないし7のいずれか一項に記載の方法。 - システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのためのコンピュータ・プログラムであって、
実行されることにより、前記システムに請求項1ないし8のいずれか一項に記載の方法を実行させる、コンピュータ・プログラム。 - デジタル・コンピュータの内部メモリ内にロード可能なコンピュータ・プログラムであって、前記コンピュータ・プログラムが前記デジタル・コンピュータ上で実行されるときに、請求項1ないし8のいずれか一項に記載の方法を前記デジタル・コンピュータに実行させる、コンピュータ・プログラム。
- 装置であって、
命令を記憶するメモリと、
中断されたガベージ・コレクション動作の前にシステム状態を記録し、
中断された対象スロット内のデータ・レコードを指し示すダーティ・チェックポイント・レコードのためにログ構造に廃棄エントリを書き込み、
前記ログ構造内に前記ダーティ・チェックポイント・レコードのための新たなチェックポイント・レコードを挿入する、
ための前記命令を実行するプロセッサと、
を備える、装置。 - 前記システムが、時系列順ログ構造のキーバリュー・ストア・システムを含み、前記ガベージ・コレクション動作が、ガベージ・コレクション・トランザクションを含み、前記中断された対象スロットが、前記ガベージ・コレクション・トランザクションの対象スロットである、請求項11に記載の装置。
- 前記プロセッサが、
前記ガベージ・コレクション・トランザクション中の障害後に前記システムを整合状態に復元するための処理を用いてデータの時系列順を維持する間、ガベージ・コレクション処理と同時に進行するためのチェックポイント動作に提供することと、
前記中断されたガベージ・コレクション・トランザクション後にリカバリ・ログを読み出すことと、
未完了ガベージ・コレクション対象スロットおよび未完了ガベージ・コレクション犠牲スロットを識別することと、
を含む命令をさらに実行する、請求項12に記載の装置。 - 前記プロセッサが、
個々のリカバリ・ログ上に前記ガベージ・コレクション・トランザクションを記録することを含む命令をさらに実行する、請求項12または13に記載の装置。 - 前記プロセッサが、
前記ログ構造の前記対象スロットの領域を前記対象スロット内の開始オフセットから前記対象スロットの終わりまでゼロアウトすることと、
前記個々のリカバリ・ログに前記ガベージ・コレクション・トランザクションのための中断レコードを挿入することと、
を含む命令をさらに実行する、請求項14に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/904,185 | 2018-02-23 | ||
US15/904,185 US10635523B2 (en) | 2018-02-23 | 2018-02-23 | Fast recovery from failures in a chronologically ordered log-structured key-value storage system |
PCT/IB2019/051324 WO2019162829A1 (en) | 2018-02-23 | 2019-02-19 | Fast recovery from failures in a chronologically ordered log-structured key-value storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021515304A JP2021515304A (ja) | 2021-06-17 |
JP7212440B2 true JP7212440B2 (ja) | 2023-01-25 |
Family
ID=67684553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020543853A Active JP7212440B2 (ja) | 2018-02-23 | 2019-02-19 | システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10635523B2 (ja) |
JP (1) | JP7212440B2 (ja) |
CN (1) | CN111656325B (ja) |
DE (1) | DE112019000399B4 (ja) |
GB (1) | GB2586382B (ja) |
WO (1) | WO2019162829A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642680B2 (en) * | 2018-02-23 | 2020-05-05 | International Business Machines Corporation | Chronologically ordered log-structured key-value store from failures during garbage collection |
US10915402B2 (en) * | 2018-09-12 | 2021-02-09 | Apple Inc. | Software fault monitoring |
KR20200031402A (ko) * | 2018-09-14 | 2020-03-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014141343A1 (ja) | 2013-03-13 | 2014-09-18 | 日本電気株式会社 | データ多重化システム |
US20170068599A1 (en) | 2015-09-07 | 2017-03-09 | International Business Machines Corporation | Efficient index checkpointing in log-structured object stores |
US20170228154A1 (en) | 2016-02-04 | 2017-08-10 | Quanta Storage Inc. | Device and method for power loss protection in solid state drive |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5996054A (en) | 1996-09-12 | 1999-11-30 | Veritas Software Corp. | Efficient virtualized mapping space for log device data storage system |
US7200623B2 (en) | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US9239763B2 (en) | 2012-09-28 | 2016-01-19 | Oracle International Corporation | Container database |
US6728738B2 (en) | 2002-04-03 | 2004-04-27 | Sun Microsystems, Inc. | Fast lifetime analysis of objects in a garbage-collected system |
US7058670B2 (en) | 2002-12-20 | 2006-06-06 | Sun Microsystems, Inc. | Scalable, space-efficient, parallel remembered-sets |
US7984180B2 (en) * | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
US8099726B2 (en) | 2005-12-07 | 2012-01-17 | Microsoft Corporation | Implementing strong atomicity in software transactional memory |
US20090210429A1 (en) * | 2008-02-19 | 2009-08-20 | Yahoo! Inc. | System and method for asynchronous update of indexes in a distributed database |
US20100332240A1 (en) | 2009-06-24 | 2010-12-30 | Microsoft Corporation | Decentralized account digest using signed electronic receipts |
WO2011044154A1 (en) | 2009-10-05 | 2011-04-14 | Marvell Semiconductor, Inc. | Data caching in non-volatile memory |
US8412689B2 (en) | 2010-07-07 | 2013-04-02 | Microsoft Corporation | Shared log-structured multi-version transactional datastore with metadata to enable melding trees |
US10558705B2 (en) | 2010-10-20 | 2020-02-11 | Microsoft Technology Licensing, Llc | Low RAM space, high-throughput persistent key-value store using secondary memory |
US8805984B2 (en) | 2011-07-14 | 2014-08-12 | Red Hat, Inc. | Multi-operational transactional access of in-memory data grids in a client-server environment |
JP2013033345A (ja) | 2011-08-01 | 2013-02-14 | Internatl Business Mach Corp <Ibm> | トランザクション処理システム、方法及びプログラム |
JP5940074B2 (ja) | 2011-09-30 | 2016-06-29 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション処理システム、方法及びプログラム |
US8949190B2 (en) | 2011-11-07 | 2015-02-03 | Sap Se | Point-in-time database recovery using log holes |
CN103164345B (zh) | 2011-12-08 | 2016-04-27 | 光宝科技股份有限公司 | 固态存储装置遭遇断电后的数据存储方法 |
US9021421B1 (en) | 2012-05-07 | 2015-04-28 | Google Inc. | Read and write barriers for flexible and efficient garbage collection |
US20140136575A1 (en) | 2012-11-10 | 2014-05-15 | Yuanyuan Zhao | Log-structured garbage collection |
US9400816B1 (en) * | 2013-02-28 | 2016-07-26 | Google Inc. | System for indexing collections of structured objects that provides strong multiversioning semantics |
US9092238B2 (en) | 2013-03-15 | 2015-07-28 | Joyent, Inc. | Versioning schemes for compute-centric object stores |
US9519575B2 (en) | 2013-04-25 | 2016-12-13 | Sandisk Technologies Llc | Conditional iteration for a non-volatile device |
US8683262B1 (en) | 2013-06-21 | 2014-03-25 | Terracotta Inc. | Systems and/or methods for rapid recovery from write-ahead logs |
US9223843B1 (en) | 2013-12-02 | 2015-12-29 | Amazon Technologies, Inc. | Optimized log storage for asynchronous log updates |
US9268653B2 (en) | 2014-01-17 | 2016-02-23 | Netapp, Inc. | Extent metadata update logging and checkpointing |
US9697267B2 (en) * | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
CN104063635B (zh) | 2014-07-02 | 2017-09-29 | 北京深思数盾科技股份有限公司 | 目标文件的保护方法及保护系统 |
WO2016024986A1 (en) * | 2014-08-15 | 2016-02-18 | Hewlett-Packard Development Company, L.P. | Three phase commit for a distributed file system |
US9928264B2 (en) * | 2014-10-19 | 2018-03-27 | Microsoft Technology Licensing, Llc | High performance transactions in database management systems |
CN105677297B (zh) | 2014-11-18 | 2018-05-04 | 龙芯中科技术有限公司 | 套锁实现方法及装置 |
CN104516959B (zh) * | 2014-12-18 | 2018-01-02 | 杭州华为数字技术有限公司 | 一种管理数据库日志的方法及装置 |
US10210168B2 (en) * | 2015-02-23 | 2019-02-19 | International Business Machines Corporation | Managing data in storage according to a log structure |
CN105159818B (zh) * | 2015-08-28 | 2018-01-02 | 东北大学 | 内存数据管理中日志恢复方法及其仿真系统 |
CN107203552B (zh) * | 2016-03-17 | 2021-12-28 | 阿里巴巴集团控股有限公司 | 垃圾回收方法及装置 |
US10552404B2 (en) * | 2016-09-29 | 2020-02-04 | International Business Machines Corporation | Retrospective snapshots in log-structured storage systems |
US10795779B2 (en) * | 2017-02-17 | 2020-10-06 | Sap Se | Asynchronous garbage collection in database redo log replay |
US11210211B2 (en) | 2017-08-21 | 2021-12-28 | Western Digital Technologies, Inc. | Key data store garbage collection and multipart object management |
-
2018
- 2018-02-23 US US15/904,185 patent/US10635523B2/en not_active Expired - Fee Related
-
2019
- 2019-02-19 CN CN201980010479.8A patent/CN111656325B/zh active Active
- 2019-02-19 GB GB2014957.1A patent/GB2586382B/en active Active
- 2019-02-19 DE DE112019000399.2T patent/DE112019000399B4/de active Active
- 2019-02-19 WO PCT/IB2019/051324 patent/WO2019162829A1/en active Application Filing
- 2019-02-19 JP JP2020543853A patent/JP7212440B2/ja active Active
-
2020
- 2020-02-27 US US16/803,347 patent/US11150981B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014141343A1 (ja) | 2013-03-13 | 2014-09-18 | 日本電気株式会社 | データ多重化システム |
US20170068599A1 (en) | 2015-09-07 | 2017-03-09 | International Business Machines Corporation | Efficient index checkpointing in log-structured object stores |
US20170228154A1 (en) | 2016-02-04 | 2017-08-10 | Quanta Storage Inc. | Device and method for power loss protection in solid state drive |
Also Published As
Publication number | Publication date |
---|---|
GB2586382B (en) | 2022-02-09 |
US10635523B2 (en) | 2020-04-28 |
DE112019000399B4 (de) | 2021-12-30 |
US20200192744A1 (en) | 2020-06-18 |
GB2586382A (en) | 2021-02-17 |
US11150981B2 (en) | 2021-10-19 |
CN111656325B (zh) | 2023-09-29 |
DE112019000399T5 (de) | 2020-10-22 |
WO2019162829A1 (en) | 2019-08-29 |
CN111656325A (zh) | 2020-09-11 |
US20190266044A1 (en) | 2019-08-29 |
GB202014957D0 (en) | 2020-11-04 |
JP2021515304A (ja) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725976B2 (en) | Fast recovery using self-describing replica files in a distributed storage system | |
US10083092B2 (en) | Block level backup of virtual machines for file name level based file search and restoration | |
CN111801661A (zh) | 多主机分布式数据管理系统中的事务操作 | |
JP7228321B2 (ja) | 時系列順のアウトオブプレース更新のためのシステム、時系列順のアウトオブプレース更新のための方法、および時系列順のアウトオブプレース更新のためのコンピュータ・プログラム | |
US10572178B2 (en) | Expiration handling for block level backup of virtual machines | |
US11487727B2 (en) | Resolving versions in an append-only large-scale data store in distributed data management systems | |
JP7212440B2 (ja) | システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置 | |
US10552404B2 (en) | Retrospective snapshots in log-structured storage systems | |
US10140054B2 (en) | Retrospective snapshots in log structured storage systems | |
US9158712B2 (en) | Instantaneous save/restore of virtual machines with persistent memory | |
US11163636B2 (en) | Chronologically ordered log-structured key-value store from failures during garbage collection | |
US11983147B2 (en) | Deduplicating data integrity checks across systems | |
US11880350B2 (en) | Identifying resource lock ownership across a clustered computing environment | |
US11620059B1 (en) | Optimization of file system snapshot performance in hybrid storage deployments | |
JP2024521286A (ja) | システム間のデータ完全性検査の重複排除 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210413 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210721 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220502 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221004 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20221004 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20221004 |
|
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: 20221216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20221220 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20221220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7212440 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |