JP2020529673A5 - - Google Patents

Download PDF

Info

Publication number
JP2020529673A5
JP2020529673A5 JP2020505357A JP2020505357A JP2020529673A5 JP 2020529673 A5 JP2020529673 A5 JP 2020529673A5 JP 2020505357 A JP2020505357 A JP 2020505357A JP 2020505357 A JP2020505357 A JP 2020505357A JP 2020529673 A5 JP2020529673 A5 JP 2020529673A5
Authority
JP
Japan
Prior art keywords
database
distributed storage
metadata
node
transaction
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
Application number
JP2020505357A
Other languages
English (en)
Other versions
JP2020529673A (ja
JP7263314B2 (ja
Filing date
Publication date
Priority claimed from US15/666,141 external-priority patent/US11347774B2/en
Application filed filed Critical
Publication of JP2020529673A publication Critical patent/JP2020529673A/ja
Publication of JP2020529673A5 publication Critical patent/JP2020529673A5/ja
Application granted granted Critical
Publication of JP7263314B2 publication Critical patent/JP7263314B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (14)

  1. データベースシステムが、該データベースシステムの現在の状態を、分散ストレージに格納された前記データベースシステムのデータについての要求を処理するように構成される複数のデータベースノードの間で同期させるための方法であって、前記複数のデータベースノードのうちの1つが現在アクティブであり、前記複数のデータベースノードのうちの他のデータベースノードが現在スタンバイデータベースノードであり、当該方法は
    アクティブデータベースノードにおいて、前記分散ストレージにデータをコミットすることを含む第1トランザクションを実行する要求を受け取るステップと
    前記要求を受け取ったことに応答して、
    前記アクティブデータベースノードによって、前記分散ストレージに前記データをコミットして、前記データベースシステムの前記現在の状態を更新するステップと
    前記アクティブデータベースノードによって、トランザクションログに、コミットの指示を提供する第1メタデータを格納させることにより、前記分散ストレージに格納されたトランザクションログを修正するステップであり、前記トランザクションログは、前記スタンバイデータベースノードに対して、前記スタンバイデータベースノードが前記データベースシステムの前記現在の状態を知るための情報を識別する、ステップと
    前記第1メタデータを格納させることに応じて、前記アクティブデータベースノードによって、前記第1メタデータを識別するために、前記データベースシステムのメタデータサーバによって維持されているカタログを更新するステップであり、前記カタログは、前記第1メタデータを見つけるためにスタンバイデータベースノードによって使用可能であり、前記メタデータサーバは、前記カタログが更新されことを前記スタンバイデータベースノードに通知するように動作可能である、ステップと、
    を含む、方法。
  2. 前記スタンバイデータベースノードのうちの1つにおいて、前記トランザクションログが修正されたことの通知を受け取るステップと
    前記通知を受け取ったことに応答して、前記1つのスタンバイデータベースノードによって、該スタンバイデータベースノードで維持されている第2メタデータを更新してクライアントの要求に対応するステップであって、前記の更新は、前記トランザクションログに格納されている前記第1メタデータを読み出すことを含む、ステップと
    を更に含む、請求項1に記載の方法。
  3. 前記1つのスタンバイデータベースノードによって、前記分散ストレージにも格納されているデータを維持しているエントリを含むキャッシュを維持するステップを更に含み、
    前記第2メタデータを更新することは、前記第1メタデータが、前記エントリ内のデータが前記コミットされたデータで置き換えられたことを示すことに応答して、前記1つのスタンバイデータベースノードが前記キャッシュ内のエントリを無効にすることを含む、
    請求項に記載の方法。
  4. 前記スタンバイデータベースノードのうちの1つは、前記分散ストレージのデータを格納するキャッシュを含み、当該方法は
    前記トランザクションログから、前記1つのスタンバイデータベースノードによって、前記第1トランザクションに関連付けられるキー値ペアのキーを取り出すステップと
    前記1つのスタンバイデータベースノードによって、前記キーに関連付けられる、前記キャッシュ内のエントリを識別するステップと
    前記キー値ペアの前記キーに対応する値で前記エントリを更新するステップと
    を更に含む、請求項1に記載の方法。
  5. 前記のコミットすることは、前記データを前記分散ストレージ内の前記トランザクションログの外部に格納するステップを含む、
    請求項1乃至のいずれか一項に記載の方法。
  6. 前記複数のデータベースノードは、前記スタンバイデータベースノードのうちの1つが新たなアクティブデータベースノードになることを可能にするように動作可能な高可用性(HA)アプリケーションを実行するように構成され、当該方法は:
    前記1つのスタンバイデータベースノードが前記新たなアクティブデータベースノードになったことに応答して、
    前記新たなアクティブデータベースノードによって、第2トランザクションのために、前記分散ストレージにデータをコミットするステップと;
    前記新たなアクティブデータベースノードによって、前記トランザクションログに前記第2トランザクションの指示を提供するメタデータを格納させるステップと;
    を更に含む、請求項1に記載の方法。
  7. 前記分散ストレージによって、前記トランザクションログ内の複数のトランザクションについての指示を提供するメタデータのキーを、該指示を提供する第1メタデータが格納されている前記分散ストレージ内の物理的な位置に関連付けるマッピングを維持するステップ、
    を更に含む、請求項1乃至のいずれか一項に記載の方法。
  8. データベースシステムであって、
    データベースを実装するよう構成される複数のデータベースノードと
    前記複数のデータベースノードに対してアクセス可能であり、前記データベースのデータを格納するように構成される分散ストレージと
    前記複数のデータベースノードのスタンバイノードによってアクセス可能であり、かつ、前記分散ストレージに書き込まれたメタデータを識別するために使用可能であるカタログを維持するように構成されるメタデータサーバと、
    を備え、前記複数のデータベースノードのうちの第1データベースノードは、現在アクティブなノードであり、
    前記分散ストレージにデータをコミットすることを含む第1トランザクションを実行する要求を受け取り、
    前記第1トランザクションについて、前記分散ストレージに第1データセットを格納し、
    前記分散ストレージによって維持されるトランザクションログに前記第1トランザクションの第1レコードを格納し、前記トランザクションログは、前記データベースに関してトランザクションが実行される順序を定義し、かつ、
    前記第1トランザクションを識別するための前記カタログを更新させる、
    ように構成されており、
    前記メタデータサーバは、前記カタログが更新されことを前記スタンバイノードに通知するように動作可能である、
    データベースシステム。
  9. 前記複数のデータベースノードのうちの第2データベースノードは、
    前記分散ストレージから、前記第1レコードを含む前記トランザクションログを読み出し、
    前記トランザクションログを読み出したことに基づいて、前記第2データベースノードによって維持されているメタデータを更新することであって、該メタデータは、前記データベースの現在の状態を示す、
    ように構成される、請求項に記載のデータベースシステム。
  10. 前記第2データベースノードは、
    前記メタデータサーバによって維持される前記カタログにアクセスして、前記第1データベースノードによって前記トランザクションログに追加されたレコードを識別し、
    前記分散ストレージから前記追加されたレコードを読み出し、
    前記読み出したレコードに基づいて、前記維持されているメタデータを更新する、
    ように構成される、請求項8または9に記載のデータベースシステム。
  11. 前記第2データベースノードは、
    第2データセットを書き込むことを含む第2トランザクションを実行する要求を受け取り、
    該要求に応答して、
    前記分散ストレージに第2データセットを格納し、
    前記第2トランザクションの第2レコードを、前記分散ストレージによって維持される前記トランザクションログに格納する、
    ように構成される、請求項8または9に記載のデータベースシステム。
  12. 当該データベースシステムは、前記複数のデータベースノードのうちの1つのみを、所与の時点で、前記データベースシステムのアクティブデータベースノードとして動作するように選択するよう構成される、
    請求項8乃至11のいずれか一項に記載のデータベースシステム。
  13. 前記複数のデータベースノードは、高可用性(HA)クラスタを実装するように構成され、前記分散ストレージは、ネットワークを介して前記複数のデータベースノードに結合される複数のストレージデバイスを含む、
    請求項8乃至12のいずれか一項に記載のデータベースシステム。
  14. 請求項1乃至のいずれか一項に記載の方法を実施するために1つ以上のプロセッサによって実行可能なプログラム命令を有する、非一時的なコンピュータ読取可能媒体。


JP2020505357A 2017-08-01 2018-08-01 分散ストアによる高可用性データベース Active JP7263314B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/666,141 2017-08-01
US15/666,141 US11347774B2 (en) 2017-08-01 2017-08-01 High availability database through distributed store
PCT/US2018/044787 WO2019028130A1 (en) 2017-08-01 2018-08-01 HIGH AVAILABILITY DATABASE ACROSS A DISTRIBUTED STORE

Publications (3)

Publication Number Publication Date
JP2020529673A JP2020529673A (ja) 2020-10-08
JP2020529673A5 true JP2020529673A5 (ja) 2021-09-02
JP7263314B2 JP7263314B2 (ja) 2023-04-24

Family

ID=63209705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020505357A Active JP7263314B2 (ja) 2017-08-01 2018-08-01 分散ストアによる高可用性データベース

Country Status (5)

Country Link
US (1) US11347774B2 (ja)
EP (1) EP3662390B1 (ja)
JP (1) JP7263314B2 (ja)
CN (1) CN110998557B (ja)
WO (1) WO2019028130A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363641B (zh) * 2017-01-26 2022-01-14 华为技术有限公司 一种主备机数据传递方法、控制节点以及数据库系统
CN110046199A (zh) * 2019-04-24 2019-07-23 北京阿尔山金融科技有限公司 交易数据的同步方法、装置及电子设备
US10942852B1 (en) 2019-09-12 2021-03-09 Advanced New Technologies Co., Ltd. Log-structured storage systems
EP3695303B1 (en) * 2019-09-12 2022-11-30 Advanced New Technologies Co., Ltd. Log-structured storage systems
CN110750517B (zh) * 2019-10-12 2022-06-10 浪潮电子信息产业股份有限公司 一种本地存储引擎系统的数据处理方法、装置以及设备
CN110851407A (zh) * 2019-11-15 2020-02-28 南京邮电大学 一种数据分布式存储系统及方法
US11544232B2 (en) * 2019-12-11 2023-01-03 Western Digital Technologies, Inc. Efficient transaction log and database processing
JP7037595B2 (ja) * 2020-03-30 2022-03-16 株式会社日立製作所 データベース管理システム、及び、データベース管理方法
US11119872B1 (en) * 2020-06-02 2021-09-14 Hewlett Packard Enterprise Development Lp Log management for a multi-node data processing system
US11741050B2 (en) 2021-01-29 2023-08-29 Salesforce, Inc. Cloud storage class-based variable cache availability
US11622000B2 (en) 2021-01-29 2023-04-04 Salesforce, Inc. Grey failure handling in distributed storage systems
CN112905696B (zh) * 2021-02-09 2021-11-19 掌阅科技股份有限公司 基于事务标识的多机房同步方法、计算设备及存储介质
CN113407123B (zh) * 2021-07-13 2024-04-30 上海达梦数据库有限公司 一种分布式事务节点信息存储方法、装置、设备及介质
US11914580B2 (en) * 2021-09-30 2024-02-27 Salesforce, Inc. Mechanisms for deploying database clusters
CN115757330A (zh) * 2022-12-08 2023-03-07 丝路信息港云计算科技有限公司 一种分布式文件系统的高度可靠的元数据服务系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649089A (en) 1994-11-30 1997-07-15 Motorola, Inc. Method and apparatus for maintaining a redundant database system
WO2004055674A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 分散トランザクション処理装置、分散トランザクション処理プログラム、分散トランザクション処理方法および分散トランザクション処理システム
US7734580B2 (en) 2007-01-29 2010-06-08 Oracle International Corporation Readable physical storage replica and standby database system
US20080222111A1 (en) 2007-03-07 2008-09-11 Oracle International Corporation Database system with dynamic database caching
US7913050B2 (en) 2007-06-26 2011-03-22 Oracle International Corporation Fencing using a hierarchical relationship
US8145938B2 (en) 2009-06-01 2012-03-27 Novell, Inc. Fencing management in clusters
US8381017B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Automated node fencing integrated within a quorum service of a cluster infrastructure
JP2012008934A (ja) * 2010-06-28 2012-01-12 Kddi Corp 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法
AU2012261986B2 (en) * 2011-06-03 2016-02-04 Apple Inc. Cloud storage
TWI476581B (zh) 2012-12-28 2015-03-11 Ibm 主動式/使用中資訊設備叢集中提供高可用性的方法、裝置與電腦程式產品
US11030055B2 (en) * 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
US10747746B2 (en) * 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
US20150213049A1 (en) * 2014-01-30 2015-07-30 Netapp, Inc. Asynchronous backend global deduplication
NO2776466T3 (ja) * 2014-02-13 2018-01-20
US9477519B2 (en) * 2014-09-18 2016-10-25 Robert D. Pedersen Distributed activity control systems and methods
US10235407B1 (en) * 2015-08-21 2019-03-19 Amazon Technologies, Inc. Distributed storage system journal forking
CN108509462B (zh) * 2017-02-28 2021-01-29 华为技术有限公司 一种同步活动事务表的方法及装置
US10585873B2 (en) * 2017-05-08 2020-03-10 Sap Se Atomic processing of compound database transactions that modify a metadata entity
US10884926B2 (en) * 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache

Similar Documents

Publication Publication Date Title
JP2020529673A5 (ja)
JP7263314B2 (ja) 分散ストアによる高可用性データベース
US10078681B2 (en) Differentiated secondary index maintenance in log structured NoSQL data stores
EP3047397B1 (en) Mirroring, in memory, data from disk to improve query performance
US10261960B2 (en) Snapshots and forks of storage systems using distributed consistent databases implemented within an object store
JP2022534215A (ja) ハイブリッド・インデックス作成方法、システム、プログラム
US9171027B2 (en) Managing a multi-version database
JP5722962B2 (ja) ストレージ性能の最適化
KR20180021679A (ko) 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원
US11314717B1 (en) Scalable architecture for propagating updates to replicated data
WO2015094179A1 (en) Abstraction layer between a database query engine and a distributed file system
US8832022B2 (en) Transaction processing device, transaction processing method and transaction processing program
JP2014505925A (ja) マルチテナントストアで横断的ストア結合を行う方法及びシステム
CN112513835A (zh) 用存储器内列式查询处理启用和集成存储器内半结构化数据和文本文档搜索的技术
US10437688B2 (en) Enhancing consistent read performance for in-memory databases
CN102867070A (zh) 更新key-value分布式存储系统缓存的方法
US20130159339A1 (en) Data Container Access in a Database System
JP5721056B2 (ja) トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
US20190258618A1 (en) Immediately-consistent lock-free indexing for distributed applications
US20230205757A1 (en) Version control interface for accessing data lakes
US10642745B2 (en) Key invalidation in cache systems
US11048728B2 (en) Dependent object analysis
JP2017167654A (ja) データ管理装置及びデータベースの管理方法
JP4825504B2 (ja) データ登録・検索システムおよびデータ登録・検索方法
US20170316045A1 (en) Read-after-write consistency for derived non-relational data