JP7397928B2 - 分散データベースのグローバルセカンダリインデックス方法及びその装置 - Google Patents

分散データベースのグローバルセカンダリインデックス方法及びその装置 Download PDF

Info

Publication number
JP7397928B2
JP7397928B2 JP2022128211A JP2022128211A JP7397928B2 JP 7397928 B2 JP7397928 B2 JP 7397928B2 JP 2022128211 A JP2022128211 A JP 2022128211A JP 2022128211 A JP2022128211 A JP 2022128211A JP 7397928 B2 JP7397928 B2 JP 7397928B2
Authority
JP
Japan
Prior art keywords
index
global secondary
distributed database
secondary index
global
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
Application number
JP2022128211A
Other languages
English (en)
Other versions
JP2022160666A (ja
Inventor
ビョウ ツァオ
モン ワン
ヨンチャン ヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022160666A publication Critical patent/JP2022160666A/ja
Application granted granted Critical
Publication of JP7397928B2 publication Critical patent/JP7397928B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本出願はコンピュータ技術分野に関し、具体的には、クラウドコンピューティング及びクラウドデータベース分野などに関し、特に分散データベースのグローバルセカンダリインデックス方法及びその装置に関する。
ビッグデータ時代では、データは幾何学的に増加し、大量のデータは毎日数TB(Terabyte、テラバイト)さらには数PB(Petabytes、ペタバイト)の量で増加している。クラウド上のオブジェクトストレージシステムは大量ストレージという課題を解決し、そのうち、オブジェクトストレージのメタデータは分散データベース内に格納されている。関連技術における分散データベースは通常、分散トランザクションに基づいてグローバルセカンダリインデックスを実現している。
しかしながら、上記グローバルセカンダリインデックスには以下の課題が存在する。インデックスが存在するため、主キーとインデックスの原子性を確保するために分散トランザクションフローがトリガーされ、しかしながら、分散トランザクションのコストは非常に高い。例えば、一回のトランザクション書き込みは通常、7回のRPC(Remote Procedure Call、遠隔手続き呼び出し)、7回のRaft(分散合意アルゴリズム)log(ログ)書き込み及び7回のRocksdb(キー値)書き込みが必要であるため、インデックス書き込みのコストは非常に高い。
本出願は、分散データベースのグローバルセカンダリインデックス方法及び分散データベースのグローバルセカンダリインデックス装置を提供する。
本出願の第1の態様によれば、
受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むステップと、
前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するステップと、
前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むステップと、を含む、分散データベースのグローバルセカンダリインデックス方法が提供される。
本出願の第2の態様によれば、
受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むように構成される元データ書き込みモジュールと、
前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するように構成されるインデックス処理モジュールと、
前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むように構成されるインデックステーブル作成モジュールと、を含む、分散データベースのグローバルセカンダリインデックス装置が提供される。
本出願の第3の態様によれば、コンピュータ機器であって、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが上記第1の態様に記載の分散データベースのグローバルセカンダリインデックス方法を実行できるコンピュータ機器が提供される。
本出願の第4の態様によれば、コンピュータに上記第1の態様に記載の分散データベースのグローバルセカンダリインデックス方法を実行させるためのコンピュータ命令を記憶した、非一時的コンピュータ読み取り可能な記憶媒体が提供される。
本出願の第5の態様によれば、プロセッサによって実行される場合、上記第1の態様に記載の分散データベースのグローバルセカンダリインデックス方法を実現する、コンピュータプログラムが提供される。
本出願の技術案によれば、セカンダリインデックスシーンにおける書き込みスループットを大幅に向上させることができ、書き込み遅延をさらに低減することができる。
なお、この概要部分で説明された内容は、本出願の実施例の肝心又は重要な特徴を特定するものではなく、本出願の範囲を限定するものでもない。本出願の他の特徴は以下の明細書によって分かり易くなる。
図面は本解決案をよりよく理解するためのものであり、本出願を限定するものではない。
従来技術における分散データベースのグローバルセカンダリインデックスフローの概略図である。 本出願の実施例に係る分散データベースのグローバルセカンダリインデックス方法のフローチャートである。 本出願の実施例の分散データベースのグローバルセカンダリインデックスフローの概略図である。 本出願の実施例に係る別の分散データベースのグローバルセカンダリインデックス方法のフローチャートである。 本出願の実施例に係る分散データベースのグローバルセカンダリインデックス装置の構成ブロック図である。 本出願の実施例に係る他の分散データベースのグローバルセカンダリインデックス装置の構成ブロック図である。 本出願の実施例の分散データベースのグローバルセカンダリインデックス方法を実現するための電子機器のブロック図である。
以下、図面を参照しながら本出願の例示的な実施例を説明し、理解を助けるためにその中には本出願の実施例の様々な詳細が含まれており、これらの内容を単に例示するものと見なされるべきである。したがって、当業者であれば、本出願の範囲及び精神から逸脱しない限り、ここで説明された実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確かつ簡潔にするために、以下の説明では、公知機能及び構成に関する説明を省略する。
なお、本出願の技術案では、関わるユーザ個人情報の取得、記憶及び適用などは、いずれも関連する法規制の規定に従っており、公序良俗に反しない。
ビッグデータ時代では、データは幾何学的に増加し、大量のデータは毎日数TB(Terabyte、テラバイト)さらには数PB(Petabytes、ペタバイト)の量で増加してる。クラウド上のオブジェクトストレージシステムは大量のストレージという課題を解決し、オブジェクトストレージのメタデータは分散データベース内に格納されている。関連技術における分散データベースは通常、分散トランザクションに基づいてグローバルセカンダリインデックスを実現してる。図1に示すように、2PCに基づいてグローバルセカンダリインデックスを実現する具体的なフローは図1の(1)~(9)を含む。(1)~(9)の具体的なフローは以下のとおりである。
(1)クライアント(client)はinsert(挿入)要求をシステム内のいずれかのコーディネータ(coordinator)に送信する。コーディネータは当該要求を受信した後に、SQL(Structured Query Language、構造化照会言語)ステートメントに対して、字句解析と構文解析を行って、1つのtransaction(トランザクション)を構築する。次にトランザクションフローに従って、挿入する値をシステムに書き込むことができる。
(2)このステップから、トランザクションの二つの段階のプロセスを実行する。まず、TS(分散トランザクション内の1つのミドルウェア)にアクセスして今回のトランザクションのstart timestamp(開始タイムスタンプ)を取得する。
(3)このステップでは、トランザクションの参加者(BE)から、txn meta(データのメタデータ)を記憶する1つのノード(BE1)を選択し、コーディネータはtxn metaをBE1に書き込む。
(4)このステップでは、データのprewrite(プリライト)を行う。書き込むデータを対応するBEに送信し、intent(データを伝送するためのツール)として永続化する。インデックスが存在するため、intentを2回書き込む必要があり、例えば、1回はbase(データ)を書き込み、1回はindex(インデックス)を書き込む。
(5)TSにアクセスして今回のトランザクションのcommit timestamp(コミットタイムスタンプ)を取得する。
(6)ステップ(5)では、すべてのintentが正常に書き込まれた後、トランザクションをコミットすることができ、BE1にcommit txn(データをコミットする)命令を送信し、txn metaの状態をcommitted(コミット済み)に設定する。この時点では、トランザクション状態が決定されている。
(7)トランザクション状態が決定された後、clientにinsertの結果を返すことができる。
(8)トランザクションがコミットされた後、BEはバックグラウンドの非同期resolve(決定)を開始することができる。トランザクション状態に基づいてintentを対応するvalue(値)に修正する。
(9)すべてのintentが正常にresolveされた後、txn metaが役に立たなくなり、ここでtxn metaが削除される。この時点では、1つのトランザクションのすべての処理が終了する。
以上の説明から分かるように、関連技術における分散データベースは、分散トランザクションに基づいてグローバルセカンダリインデックスを実現している。しかしながら、このようなグローバルセカンダリインデックスの方式には以下の課題が存在する。インデックスが存在するため、主キーとインデックスの原子性を確保するために分散トランザクションフローがトリガーされ、しかしながら、分散トランザクションのコストは非常に高い。例えば、一回のトランザクション書き込みは通常、7回のRPC(Remote Procedure Call、遠隔手続き呼び出し)、7回のRaft(分散合意アルゴリズム)log(ログ)書き込み及び7回のRocksdb(キー値)書き込みが必要であるため、インデックス書き込みのコストは非常に高い。
上記課題に基づいて、本出願は分散データベースのグローバルセカンダリインデックス方法及び分散データベースのグローバルセカンダリインデックス装置を提供する。なお、本出願の技術案は、インデックス書き込みの原子性の確保を必要としないビジネスシーンに適用することができる。選択可能に、本出願は主に分散トランザクションフローを実行する必要のないシステムのほとんどのサービスの要求を対象としており、ユーザはインデックス書き込みの原子性の確保を必要とせず、主キーが書き込まれた後に、時間レベルのインデックス表示を確保すればよく、このビジネス特性に基づいて、本出願は非同期グローバルセカンダリインデックスという解決案を提案した。以下、本出願の実施例に係る分散データベースのグローバルセカンダリインデックス方法及び分散データベースのグローバルセカンダリインデックス装置を図面を参照しながら説明する。
図2は本出願の実施例に係る分散データベースのグローバルセカンダリインデックス方法のフローチャートである。なお、本出願の実施例に係る分散データベースのグローバルセカンダリインデックス方法は、本出願の実施例に係る分散データベースのグローバルセカンダリインデックス装置に適用することができ、当該グローバルセカンダリインデックス装置はコンピュータ機器に配置することができる。
図2に示すように、当該分散データベースのグローバルセカンダリインデックス方法は、少なくともステップ201~ステップ203を含むことができるが、これらに限定されない。
ステップ201では、受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、元データを分散データベースに書き込む。
本出願の実施例では、当該データベース書き込み要求はテーブル作成ステートメントであってもよい。当該テーブル作成ステートメントはSQLステートメントで構成されてもよい。又は、当該データベース書き込み要求は他のステートメントであってもよいが、本出願はこれについて具体的に限定しない。
例えば、データベース書き込み要求をテーブル作成SQLステートメントとする場合を例とし、クライアントから送信されたテーブル作成SQLステートメントを受信すると、当該テーブル作成SQLステートメントに対して字句解析及び構文解析を行い、書き込む元データを決定し、データソースから元データをロードして書き込み対象の元データを取得し、当該元データを分散データベースに書き込むことができる。本出願の実施例では、当該元データは主キーデータとして理解することができる。
本出願のいくつかの実施例では、書き込み対象の元データを取得した後、当該書き込み対象の元データをデータバッファキューに書き込み、当該データバッファキューをストレージノードに送信してデータ永続化処理を行い、ストレージノードから返されたデータ永続化処理結果を受信し、データ永続化処理結果をデータベース書き込み要求のイニシエータに送信することができる。言い換えれば、クライアントのデータベース書き込み要求を受信すると、書き込み対象の元データを分散データベースに書き込んで永続化処理を行い、結果をクライアントに返すことができる。
ステップ202では、分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得する。
選択可能に、書き込み対象の元データを分散データベースに書き込む時、分散データベースに書き込まれた元データのインデックスを作成する。なお、本出願の実施例は、インデックス書き込みの原子性を確保する必要のないビジネスシーンに適用し、即ち、このビジネスシーンではインデックス書き込みの原子性を確保する必要がなく、主キーが書き込まれた後、時間レベルのインデックス表示を確保すればよく、例えば、一時間以内にインデックスを作成し書き込めばよい。当該ビジネスシーンの特性に基づいて、本出願の実施例は、書き込み対象の元データを分散データベースに書き込む時、分散データベース内に書き込まれたこれらの元データのインデックスを非同期で作成する非同期グローバルセカンダリインデックスを提案した。
ステップ203では、グローバルセカンダリインデックスデータと分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいてグローバルセカンダリインデックステーブルをインデックスシャードに書き込む。
選択可能に、グローバルセカンダリインデックスデータを得た後に、当該グローバルセカンダリインデックスデータと分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて、グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに書き込むことができる。例えば、1バッチで1000個のグローバルセカンダリインデックステーブルをまとめてインデックスシャードに書き込むことができる。
例えば、図3に示すように、(1)クライアント(client)からのデータベース書き込み要求を受信した後、書き込み対象の元データをデータバッファキューに書き込む。(2)データバッファキューをストレージノードに送信してデータ永続化処理を行う。(3)ストレージノードから返されたデータ永続化処理結果を受信し、データ永続化処理結果をデータベース書き込み要求のイニシエータに送信する。(4)分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得し、グローバルセカンダリインデックスデータと分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを非同期で作成し、非同期処理方式に基づいてグローバルセカンダリインデックステーブルをインデックスシャードに書き込む。以上により、本出願によって提供される非同期セカンダリインデックス方法では、合計で2回のRPC、2回のRaft log書き込み、及び2回のRocksdb書き込みが必要であり、その中で、クライアント遅延を招くのは合計で1回のRPC、1回のRaft log書き込み、及び1回のRocksdb書き込みであり、従来技術におけるセカンダリインデックスフローに比べて、5回のRPC、5のRaft log書き込み、及び5回のRocksdb書き込みを減少させることができ、つまり、本出願は遅延をさらに低減できるとともに、書き込みスループットを大幅に向上させることができる。
本出願の実施例の分散データベースのグローバルセカンダリインデックス方法によれば、受信したデータベース書き込み要求から、書き込み対象の元データを取得し、元データを分散データベースに書き込み、元データが分散データベースに書き込まれた後、グローバルセカンダリインデックスを非同期で作成することにより、セカンダリインデックスのシーンにおける書き込みスループットを大幅に向上させることができ、書き込み遅延をさらに低減することができる。
インデックスデータが失われることなく再利用可能であることを確保し、かつインデックスデータの完全性を確保するために、選択可能に、本出願のいくつかの実施例では、図2に示す実施例をもとに、図4に示すように、当該分散データベースのグローバルセカンダリインデックス方法は以下のステップをさらに含んでもよい。
ステップ401では、グローバルセカンダリインデックステーブルがバッチごとにインデックスシャードに書き込まれるとき、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値を分散合意アルゴリズムのRaftログに記録する。
本出願の実施例では、インデックス値は、現在のバッチの最後の、インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値である。
例えば、1バッチで1000個のグローバルセカンダリインデックステーブルがインデックスシャードに書き込まれる場合を例とすると、1バッチ目の1000個のグローバルセカンダリインデックステーブルがインデックスシャードに書き込まれる時、当該1バッチ目の最後の、インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値(例えば1000である)をRaftログに記録することができ、2バッチ目の1000個のグローバルセカンダリインデックステーブルがインデックスシャードに書き込まれる時、当該2バッチ目の最後の、インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値(例えば2000である)をRaftログに記録することができ、…以下は同様に行う。
つまり、グローバルセカンダリインデックステーブルがバッチごとにインデックスシャードに書き込まれる時、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値をチェックし、チェックされた現在のインデックス値をRaftログに記録することができ、即ち、グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに送信する時、各バッチの最後に送信されたグローバルセカンダリインデックステーブルのインデックス値を定期的にチェックし記録することができ、これにより、インデックスシャードの障害回復時に、Raftログに記録されているインデックス値に基づいて障害前の書き込み対象のインデックスを見つけることができ、データが失われることなく再利用可能であることを確保することができる。
選択可能に、本出願のいくつかの実施例では、図4に示すように、当該分散データベースのグローバルセカンダリインデックス方法は以下のステップをさらに含んでもよい。
ステップ402では、インデックスシャードの障害回復に応答して、Raftログから、対象時間に新たに記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得し、対象時間はインデックスシャードに障害が発生する前の時間である。
選択可能に、インデックスシャードに障害が発生しそして回復した時、Raftログから、当該インデックスシャードに障害が発生する前の時間内に最新に記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得することができる。
ステップ403では、対象インデックス値に基づいて、インデックスシャードに障害が発生している間に正常に書き込まれなかったグローバルセカンダリインデックステーブルを決定する。
ステップ404では、正常に書き込まれなかったグローバルセカンダリインデックステーブルをインデックスシャードに再度に書き込む。
即ち、インデックスシャードに障害が発生して回復した時、当該インデックスシャードに障害が発生する前の正常に書き込まれなかったグローバルセカンダリインデックステーブルをインデックスシャードに再度に書き込むことができ、これにより、インデックスデータが失われることなく再利用可能であることを確保し、インデックスデータの完全性を確保することができる。
図5は本出願の実施例に係る分散データベースのグローバルセカンダリインデックス装置の構成ブロック図である。図5に示すように、当該分散データベースのグローバルセカンダリインデックス装置は、元データ書き込みモジュール501、インデックス処理モジュール502及びインデックステーブル作成モジュール503を含むことができる。
具体的に、元データ書き込みモジュール501は、受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むように構成される。一例として、元データ書き込みモジュール501は、前記元データをデータバッファキューに書き込み、前記データバッファキューをストレージノードに送信してデータ永続化処理を行い、前記ストレージノードから返されたデータ永続化処理結果を受信し、前記データ永続化処理結果を前記データベース書き込み要求のイニシエータに送信するように構成される。
インデックス処理モジュール502は、前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するように構成される。
インデックステーブル作成モジュール503は、前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むように構成される。一例として、インデックステーブル作成モジュール503は非同期処理方式に基づいて、前記グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに書き込む。
選択可能に、本出願のいくつかの実施例では、図5に示す実施例をもとに、図6に示すように、当該分散データベースのグローバルセカンダリインデックス装置はログ記録モジュール604をさらに含むことができる。ログ記録モジュール604は、前記グローバルセカンダリインデックステーブルがバッチごとに前記インデックスシャードに書き込まれる時、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値を分散合意アルゴリズムのRaftログに記録するように構成される。インデックス値は、前記現在のバッチの最後の、前記インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値である。
本出願のいくつかの実施例では、図6に示すように、当該分散データベースのグローバルセカンダリインデックス装置は取得モジュール605をさらに含むことができる。取得モジュール605は、前記インデックスシャードの障害回復に応答して、前記Raftログから、対象時間に新たに記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得するように構成され、前記対象時間が、前記インデックスシャードに障害が発生する前の時間である。
本出願の実施例では、インデックステーブル作成モジュール603はさらに、前記対象インデックス値に基づいて、前記インデックスシャードに障害が発生している間に正常に書き込まれなかったグローバルセカンダリインデックステーブルを決定し、前記正常に書き込まれなかったグローバルセカンダリインデックステーブルを前記インデックスシャードに再度に書き込むように構成される。
図6における601~603及び図5における501~503は同じ機能及び構成を有する。
上記実施例における装置について、各モジュールが操作を実行する具体的な形態は、当該方法に関連する実施例において詳しく説明されたため、ここでは詳しい説明を省略する。
本出願の実施例に係る分散データベースのグローバルセカンダリインデックス装置は、受信したデータベース書き込み要求から、書き込み対象の元データを取得し、元データを分散データベースに書き込み、即ち、元データが分散データベースに書き込まれた後、グローバルセカンダリインデックスを非同期で作成し、セカンダリインデックスのシーンにおける書き込みスループットを大幅に向上させることができ、書き込み遅延をさらに低減することができる。
本出願の実施例によれば、本出願はコンピュータ機器及び読み取り可能な記憶媒体をさらに提供する。
図7に示すように、本出願の実施例に係る分散データベースのグローバルセカンダリインデックス方法を実現するためのコンピュータ機器のブロック図である。コンピュータ機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことを目的とする。コンピュータ機器は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイル装置を表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書で説明された及び/又は求められた本出願の実現を限定しようとしていない。
図7に示すように、当該コンピュータ機器は、1つ又は複数のプロセッサ701と、メモリ702と、各コンポーネントを接続するための、高速インターフェース及び低速インターフェースを含むインターフェースと、を含む。各コンポーネントは異なるバスを介して互いに接続され、かつ共有マザーボードに取り付けられたり、必要に応じて他の方式で取り付けられたりすることができる。プロセッサは、外部入力/出力装置(例えば、インターフェースに結合される表示デバイス)にGUIのグラフィック情報を表示するようにメモリ内又はメモリ上に記憶される命令を含むコンピュータ機器内で実行される命令を処理することができる。他の実施形態では、必要があれば、複数のプロセッサ及び/又は複数のバスを複数のメモリとともに使用することができる。同様に、複数のコンピュータ機器を接続してもよく、各デバイスは必要な操作の一部を提供する(例えば、サーバアレイ、1組のブレードサーバ、又はマルチプロセッサシステムとして)。図7では、1つのプロセッサ701を例とする。
メモリ702は本出願によって提供される非一時的コンピュータ読み取り可能な記憶媒体である。前記メモリには、本出願に係る分散データベースのグローバルセカンダリインデックス方法を前記少なくとも1つのプロセッサに実行させるように、少なくとも1つのプロセッサによって実行可能な命令が記憶されている。本出願の非一時的コンピュータ読み取り可能な記憶媒体はコンピュータ命令を記憶し、当該コンピュータ命令は、本出願に係る分散データベースのグローバルセカンダリインデックス方法をコンピュータに実行させる。
メモリ702は非一時的コンピュータ読み取り可能な記憶媒体として、本出願の実施例に記載の分散データベースのグローバルセカンダリインデックス方法に対応するプログラム命令/モジュールなど、非一時的ソフトウェアプログラム、非一時的コンピュータによって実行可能なプログラム及びモジュールを記憶するために使用することができる。プロセッサ701は、メモリ702に記憶される非一時的ソフトウェアプログラム、命令及びモジュールを実行することにより、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち上記方法実施例における分散データベースのグローバルセカンダリインデックス方法を実現する。
メモリ702はプログラム記録エリア及びデータ記録エリアを含むことができ、プログラム記憶エリアはオペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは分散データベースのグローバルセカンダリインデックス方法を実現するように構成されるコンピュータ機器を使用することによって作成されたデータなどを記憶することができる。また、メモリ702は高速ランダムアクセスメモリを含むことができ、少なくとも1つの磁気ディスクストレージデバイス、フラッシュデバイス、又は他の非一時的ソリッドステートストレージデバイスなど、非一時的メモリをさらに含むことができる。いくつかの実施例では、メモリ702は選択可能に、プロセッサ701に対して遠隔に配置されたメモリを含み、これらの遠隔メモリはネットワークを介して、分散データベースのグローバルセカンダリインデックス方法を実現するように構成されるコンピュータ機器に接続することができる。上記ネットワークの実際の例はインターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワーク及びその組み合せを含むが、これらに限定されない。
分散データベースのグローバルセカンダリインデックス方法を実現するように構成されるコンピュータ機器は入力装置703及び出力装置704をさらに含んでも良い。プロセッサ701、メモリ702、入力装置703及び出力装置704はバス又は他の方式で接続することができ、図7ではバスによる接続を例とする。
タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、インジケーターロッド、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置703は、入力されたデジタル又は文字情報を受信し、及びコンピュータ機器のユーザ設定と機能制御に関わるキー信号入力を生成することができる。出力装置704は、ディスプレイデバイス、補助照明装置(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ及びプラズマディスプレイを含むことができる。一部の実施形態では、ディスプレイデバイスはタッチスクリーンであってもよい。
ここで説明されたシステム及び技術の様々な実施形態はデジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合せで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されてもよく、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈することができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)はプログラマブルプロセッサの機械命令を含み、高度なプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械語を用いてこれらのコンピューティングプログラムを実施することができる。本明細書で使用されたように、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供する如何なるコンピュータプログラム製品、デバイス、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号とされる機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供する如何なる信号を指す。
ユーザとのインタラクションを提供するために、ここで説明されたシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)、並びにキーボードとポインティングデバイス(例えば、マウス又はトラックボール)を有し、ユーザは、当該キーボード及び当該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力または、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとして)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されたシステム及び技術の実施形態とインタラクションを行う)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、及びブロックチェーンネットワークを含む。
コンピュータシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。サーバは、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれるクラウドサーバであってもよく、クラウドコンピューティングサービスシステムにおけるホスト製品の1つであり、従来の物理ホストとVPSサービス(「Virtual Private Server」、又は「VPS」と略す)に存在する管理の難易度が高く、ビジネスの拡張性が弱いという欠陥を解決した。サーバは分散システムのサーバであってもよく、又はブロックチェーンと組み合わせたサーバであってもよい。
なお、以上に示す様々な形態のフローを用いて、ステップを並べ替え、追加又は削除できることを理解されたい。例えば、本出願に記載されている各ステップは、本出願で開示された技術案の所望の結果を実現できれば、並列的に実行されてもよいし、順次実行されてもよく、異なる順序で実行されてもよいが、本明細書では限定されない。
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。当業者であれば、設計要件や他の要因に応じて、様々な修正、組み合せ、一部の組み合せ及び置換を行うことができることを理解されたい。本出願の趣旨及び原則内で行われた修正、同等の置換及び改良などは、いずれも本出願の保護範囲内に含まれるべきである。

Claims (15)

  1. 分散データベースのグローバルセカンダリインデックス方法であって、
    受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むステップと、
    前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するステップであって、前記グローバルセカンダリインデックス処理は、前記分散データベース内に書き込まれた元データのインデックスを非同期で作成することを含むステップと、
    前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むステップと、を含む、分散データベースのグローバルセカンダリインデックス方法。
  2. 前記元データを前記分散データベースに書き込む前記ステップは、
    前記元データをデータバッファキューに書き込むステップと、
    前記データバッファキューをストレージノードに送信してデータ永続化処理を行うステップと、
    前記ストレージノードから返されたデータ永続化処理結果を受信し、前記データ永続化処理結果を前記データベース書き込み要求のイニシエータに送信するステップと、を含む、請求項1に記載の分散データベースのグローバルセカンダリインデックス方法。
  3. 非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込む前記ステップは、
    非同期処理方式に基づいて、前記グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに書き込むステップを含む、請求項1に記載の分散データベースのグローバルセカンダリインデックス方法。
  4. 前記グローバルセカンダリインデックステーブルがバッチごとに前記インデックスシャードに書き込まれる時、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値を分散合意アルゴリズムのRaftログに記録するステップをさらに含む、請求項3に記載の分散データベースのグローバルセカンダリインデックス方法。
  5. 前記インデックス値は、前記現在のバッチの最後の、前記インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値である、請求項4に記載の分散データベースのグローバルセカンダリインデックス方法。
  6. 前記インデックスシャードの障害回復に応答して、前記Raftログから、対象時間に新たに記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得するステップであって、前記対象時間が、前記インデックスシャードに障害が発生する前の時間であるステップと、
    前記対象インデックス値に基づいて、前記インデックスシャードに障害が発生している間に正常に書き込まれなかったグローバルセカンダリインデックステーブルを決定するステップと、
    前記正常に書き込まれなかったグローバルセカンダリインデックステーブルを前記インデックスシャードに再度に書き込むステップと、をさらに含む、請求項4に記載の分散データベースのグローバルセカンダリインデックス方法。
  7. 分散データベースのグローバルセカンダリインデックス装置であって、
    受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むための元データ書き込みモジュールと、
    前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するように構成されるインデックス処理モジュールであって、前記グローバルセカンダリインデックス処理は、前記分散データベース内に書き込まれた元データのインデックスを非同期で作成することを含むインデックス処理モジュールと、
    前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むように構成されるインデックステーブル作成モジュールと、を含む、分散データベースのグローバルセカンダリインデックス装置。
  8. 前記元データ書き込みモジュールは、具体的には、
    前記元データをデータバッファキューに書き込み、
    前記データバッファキューをストレージノードに送信してデータ永続化処理を行い、
    前記ストレージノードから返されたデータ永続化処理結果を受信し、前記データ永続化処理結果を前記データベース書き込み要求のイニシエータに送信するように構成される、請求項7に記載の分散データベースのグローバルセカンダリインデックス装置。
  9. 前記インデックステーブル作成モジュールは、具体的には、
    非同期処理方式に基づいて、前記グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに書き込むように構成される、請求項7に記載の分散データベースのグローバルセカンダリインデックス装置。
  10. 前記グローバルセカンダリインデックステーブルがバッチごとに前記インデックスシャードに書き込まれる時、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値を分散合意アルゴリズムのRaftログに記録するように構成されるログ記録モジュールをさらに含む、請求項9に記載の分散データベースのグローバルセカンダリインデックス装置。
  11. 前記インデックス値は、前記現在のバッチの最後の、前記インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値である、請求項10に記載の分散データベースのグローバルセカンダリインデックス装置。
  12. 前記インデックスシャードの障害回復に応答して、前記Raftログから、対象時間に新たに記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得するように構成される取得モジュールであって、前記対象時間が、前記インデックスシャードに障害が発生する前の時間である取得モジュールをさらに含み、
    前記インデックステーブル作成モジュールはさらに、前記対象インデックス値に基づいて、前記インデックスシャードに障害が発生している間に正常に書き込まれなかったグローバルセカンダリインデックステーブルを決定し、前記正常に書き込まれなかったグローバルセカンダリインデックステーブルを前記インデックスシャードに再度に書き込むように構成される、請求項10又は11に記載の分散データベースのグローバルセカンダリインデックス装置。
  13. コンピュータ機器であって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1~6のいずれか1項に記載の分散データベースのグローバルセカンダリインデックス方法を実行できる、コンピュータ機器。
  14. コンピュータに請求項1~6のいずれか1項に記載の分散データベースのグローバルセカンダリインデックス方法を実行させるためのコンピュータ命令を記憶した、非一時的コンピュータ読み取り可能な記憶媒体。
  15. プロセッサによって実行される場合、請求項1~6のいずれか1項に記載の分散データベースのグローバルセカンダリインデックス方法を実現する、コンピュータプログラム。
JP2022128211A 2021-09-24 2022-08-10 分散データベースのグローバルセカンダリインデックス方法及びその装置 Active JP7397928B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111124021.0A CN113868251B (zh) 2021-09-24 2021-09-24 分布式数据库的全局二级索引方法及其装置
CN202111124021.0 2021-09-24

Publications (2)

Publication Number Publication Date
JP2022160666A JP2022160666A (ja) 2022-10-19
JP7397928B2 true JP7397928B2 (ja) 2023-12-13

Family

ID=78994144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022128211A Active JP7397928B2 (ja) 2021-09-24 2022-08-10 分散データベースのグローバルセカンダリインデックス方法及びその装置

Country Status (5)

Country Link
US (1) US20230014427A1 (ja)
EP (1) EP4141687A1 (ja)
JP (1) JP7397928B2 (ja)
KR (1) KR20220091444A (ja)
CN (1) CN113868251B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860655B (zh) * 2022-03-21 2024-08-09 阿里巴巴(中国)有限公司 文件处理方法、装置及存储介质
CN117555907A (zh) * 2022-08-05 2024-02-13 华为技术有限公司 分布式数据库中处理基表及其全局二级索引的方法及装置
CN117555894A (zh) * 2022-08-05 2024-02-13 华为技术有限公司 一种分布式数据库中创建全局二级索引的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210429A1 (en) 2008-02-19 2009-08-20 Yahoo! Inc. System and method for asynchronous update of indexes in a distributed database
US20150331910A1 (en) 2014-04-28 2015-11-19 Venkatachary Srinivasan Methods and systems of query engines and secondary indexes implemented in a distributed database
CN111221814A (zh) 2018-11-27 2020-06-02 阿里巴巴集团控股有限公司 二级索引的构建方法、装置及设备
US20200250210A1 (en) 2019-01-31 2020-08-06 Salesforce.Com, Inc. Temporary reservations in non-relational datastores
US10853182B1 (en) 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083089B2 (en) * 2015-09-07 2018-09-25 International Business Machines Corporation Efficient index recovery in log-structured object stores
CN110147407B (zh) * 2017-09-29 2023-02-14 华为技术有限公司 一种数据处理方法、装置及数据库管理服务器
CN109800222B (zh) * 2018-12-11 2021-06-01 中国科学院信息工程研究所 一种HBase二级索引自适应优化方法和系统
CN110297881A (zh) * 2019-07-08 2019-10-01 北京友缘在线网络科技股份有限公司 用于实现二级索引的方法和计算机可读介质
CN112540731B (zh) * 2020-12-22 2023-08-11 北京百度网讯科技有限公司 数据的追加写方法、装置、设备、介质和程序产品

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210429A1 (en) 2008-02-19 2009-08-20 Yahoo! Inc. System and method for asynchronous update of indexes in a distributed database
US20150331910A1 (en) 2014-04-28 2015-11-19 Venkatachary Srinivasan Methods and systems of query engines and secondary indexes implemented in a distributed database
US10853182B1 (en) 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases
CN111221814A (zh) 2018-11-27 2020-06-02 阿里巴巴集团控股有限公司 二级索引的构建方法、装置及设备
US20200250210A1 (en) 2019-01-31 2020-08-06 Salesforce.Com, Inc. Temporary reservations in non-relational datastores

Also Published As

Publication number Publication date
KR20220091444A (ko) 2022-06-30
CN113868251B (zh) 2022-10-18
JP2022160666A (ja) 2022-10-19
CN113868251A (zh) 2021-12-31
US20230014427A1 (en) 2023-01-19
EP4141687A1 (en) 2023-03-01

Similar Documents

Publication Publication Date Title
JP7397928B2 (ja) 分散データベースのグローバルセカンダリインデックス方法及びその装置
US11455217B2 (en) Transaction consistency query support for replicated data from recovery log to external data stores
JP7413306B2 (ja) データ処理方法、装置、機器及び記憶媒体
US10303679B2 (en) Ensuring snapshot monotonicity in asynchronous data replication
US9811577B2 (en) Asynchronous data replication using an external buffer table
CN111865970A (zh) 用于实现接口幂等性的方法和装置
US20210216212A1 (en) Method and apparatus for processing data
US20210311914A1 (en) Transaction processing method and device, electronic device and readable storage medium
US20180165307A1 (en) Executing Queries Referencing Data Stored in a Unified Data Layer
CN111258957B (zh) 分布式文件系统目录更新方法、装置、设备和介质
CN111459882B (zh) 分布式文件系统的命名空间事务处理方法和装置
US10620660B2 (en) Efficient timestamp solution for analyzing concurrent software systems
WO2020192663A1 (zh) 一种数据管理方法及相关设备
US10083192B2 (en) Deleted database record reuse
CN117043763A (zh) 数据库加速器中的易失性数据库高速缓存
US10970175B2 (en) Flexible per-request data durability in databases and other data stores
US11953996B1 (en) Method and system for selectively preserving data generated during application access
US8862544B2 (en) Grid based replication
US10936430B2 (en) Method and system for automation of differential backups
US11789971B1 (en) Adding replicas to a multi-leader replica group for a data set
CN112084204A (zh) 浏览数据处理方法、装置、终端及存储介质
US11966411B1 (en) Change data capture log augmentation for streamlined ETL processing
JP7451697B2 (ja) データ記憶方法、装置、クエリ方法、電子機器および可読媒体
EP3690656A1 (en) Method and system for inline deduplication using accelerator pools
US20230014029A1 (en) Local indexing for metadata repository objects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230927

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: 20231121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231201

R150 Certificate of patent or registration of utility model

Ref document number: 7397928

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150