JP2020091902A - 分散型データストアのバージョン化された階層型データ構造 - Google Patents
分散型データストアのバージョン化された階層型データ構造 Download PDFInfo
- Publication number
- JP2020091902A JP2020091902A JP2020031312A JP2020031312A JP2020091902A JP 2020091902 A JP2020091902 A JP 2020091902A JP 2020031312 A JP2020031312 A JP 2020031312A JP 2020031312 A JP2020031312 A JP 2020031312A JP 2020091902 A JP2020091902 A JP 2020091902A
- Authority
- JP
- Japan
- Prior art keywords
- data structure
- hierarchical data
- transaction
- access request
- version
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- 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/2365—Ensuring data consistency and integrity
-
- 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/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Abstract
Description
。本明細書を通じて様々な例を提供する。
は、例えば、階層型データ構造のノードの作成、更新、接続、切り離し、削除及び照会などの様々なアクセス要求、階層型データ構造ノード属性に対するローカルインデックスの定義、作成、発見及び照会のアクセス要求(厳密な一貫性があり、階層型データ構造の一部、または階層型データ構造とは別のものとして維持される)が含まれる。
タ構造への変更の経時的に信頼できる定義として機能する。トランザクションは、個々の時点における階層型データ構造の状態を参照するために単調に増加し得るトランザクションシーケンス番号に従って順序付けられてよい。いくつかの実施形態では、トランザクションログストレージ250は、ディレクトリストレージサービス220の外部のプロバイダネットワーク250の一部として実装される別個のネットワークベースストレージサービスであってもよいことに留意されたい。
従来のファイルシステム階層など、異なるストレージインターフェースをアプリケーションに提示してよい。係る実施形態では、ストレージシステムサービスモデルを利用するためにアプリケーションを変更する必要はない。代わりに、プロバイダネットワーク200へのインタフェースの詳細は、オペレーティングシステム環境内で実行するアプリケーションに代わって、クライアント210及びオペレーティングシステムまたはファイルシステムによって調整されてよい。
は(主語、述語、目的語)タプルとして構造化してよい。追加のバージョニング情報を含めると、この構造は(主語、述語、目的語、バージョン、以前のバージョン)になってよい。RDFに基づいた階層型データ構造を表現するために、複数のタイプのRDF述語が存在してよい。いくつかの実施形態では、RDF述語の1つのタイプは、階層型データ構造のリンクを表してよく、別のタイプのRDF述語は、階層型データ構造の属性を表してよい。異なるタイプの予測は、階層型データ構造を異なる方法で表してよい。リンク述語は2つのノードの間にあってよく、属性述語はノードと値との間にあってよい。単一ノードは同じタイプの複数の述語に関係する可能性があるが、値が異なるため、述語は共通の接頭語で始まり、いくつかの追加のタイプまたは検索に役立つ命名情報で終了し得る。例えば、階層型データ構造に対するすべての変更はトランザクションログストレージ250によって提供されるトランザクション解決プロセスを利用してよく、トランザクションログストレージ250によって順序付けられた論理タイムスタンプが割り当てられてよいため、述語のタプルのバージョンエントリは、リンクまたは属性が作成された時点の論理タイムスタンプ(例えば、トランザクションシーケンス番号)であってよい。
5であるリソースノードのすべてのポリシーをルートまですべてのパスに沿って検索する」などのクエリを指定してよい。係るクエリを処理するために、親リンクに沿って最初の深さ走査を実行してよい。ルートまでパスに沿った各ノードにおいて、以下の内部クエリを実行してよい。内部クエリ1:「ノードにポリシーがあるかどうかを検索する:select GUID_405.link.HasPolicy.*from Curren
tVersion」、内部クエリ2:「ノードに内部クエリ1で返されたポリシーがある場合、リンクからの値を使用して、ポリシーノードからポリシードキュメントの値を取得する:select GUID_406.link.PolicyDoc from CurrentVersion」、内部クエリ3:「現在のノードのすべての親を検索し、ディレクトリ構造のルートに到達するまで、親ノードごとに内部クエリ1〜3を実行する」。これまでの例は、形式、構造、構文またはテーブル450及びテーブル460に関してクエリが表現または処理され得る他の方法に限定される意図はないことに留意されたい。
ータストアのデータを変更するアクセス要求などの要求であってよく、または階層型データ構造のために分散データストア全体にわたって一貫したバージョンからデータを読み取る要求が実行される。要求630は、実行する特定の動作(例えば、読み取りまたは書き込み動作)を含んでよい。一旦受信すると、階層型ストレージノード620は階層型データ構造の識別されたバージョン(例えば、現在のバージョン)にアクセスし、動作を実行するために階層型データ構造に行う正確な変更を決定してよく、これには、読み取られたか、または変更されたノード、リンク、属性など、アクセス(読み取り)及び/または影響を受けた(書き込み)データが含まれる。階層型ストレージノード620はその後、競合検証要求640を作成して審査のためにトランザクションログストレージ250に送信し、競合検証要求640には、アクセスされた/影響を受けたデータ、指定の動作及び階層型ストレージノード620において最後に適用された階層型データ構造のトランザクション番号が含まれる。
ージノード820は、その後、要求の肯定応答または拒否及びトランザクション番号トークンを示すアクセス要求応答860を送信してよい。応答860はまた、条件の失敗を示す(例えば、階層型データ構造が条件を満たさなかったこと)を示すように送信されてよい。
所望する状態であってもなくてもよい。当該状態である場合、クライアント1060はトランザクションをコミットして進み、(トランザクション状態情報1050から生成された)トランザクション状態トークン及び(必要に応じて)追加の動作を含むコミットトランザクション要求1060を含んでよい。トランザクション状態トークンは、トランザクションを実行するための別のストレージノードからの必要な情報をすべて含んでいるため、均等に分散された要求に対するロードバランシング技法を実装してよく、コミットトランザクション要求1060を階層型ストレージノード1030に送ってよい。階層型ストレージノード1030は、その後、競合検証要求1070を生成し、競合審査のためにトランザクションログストレージ250に送信する。トランザクション状態トークンは、トランザクションが階層型ストレージノード1020で開始した時点の階層型データ構造のトランザクションシーケンス番号を含んでよく、競合検証要求のトランザクション開始番号(例えば、トランザクションシーケンス番号)を含んでよい。トランザクションストレージログ210は、その後、競合検証指示1080を階層型ストレージノード1030に送信してよく、これは、次に、応答1090においてトランザクションがコミットされたか、例外が発生したかを認識してよい。いくつかの実施形態では、コミットされたトランザクションのシーケンス番号を示すよう、トランザクション番号トークンを含めてよい。
、後述する技法を実装してよい。
アントによって指定されてよく、したがって、前述の例は限定を意図するものではない。
の生成、アクセス、推定、再構成などを行うことができる。例えば、図3及び図4に関して上述の通り、階層型データ構造の過去のデータストアは、階層型データ構造の現在のバージョンに記憶されているオブジェクトの以前のバージョンを記憶するキーバリューストアとして表現されてよい。以前のバージョンオブジェクトは、現在のオブジェクトバージョンに対する以前のオブジェクトバージョンを識別するための、バージョン番号とともにトランザクションによって変更されたオブジェクトのコピーであってよい。以前のオブジェクトバージョンへのポインタ、リンクまたはインデックス値が、現在のオブジェクトバージョンに含まれてよい。同様に、直近のオブジェクトバージョンよりも古いオブジェクトバージョンへのポインタ、リンクまたはインデックス、元のバージョンに到達し得るまで追跡され得る一連のオブジェクトバージョンの作成。
前記階層型データ構造のトランザクションログを維持するトランザクションログストアとを備えるシステムであって、前記ストレージノードのそれぞれは、
前記階層型データ構造の一部として記憶される指定データの読み取り要求をクライアントから受信し、
前記ストレージノードに維持される前記階層型データ構造のそれぞれのバージョンのうちの1つを前記読み取り要求の処理のために識別し、
前記識別されたバージョンに含まれる前記指定データを記憶する前記ストレージノードにおける1つ以上の位置にアクセスして、前記指定データを取得し、
前記識別されたバージョンに含まれる前記指定データを前記クライアントに戻す
ように構成される、システム。
前記階層型データ構造に送られる書き込み要求を別のクライアントから受信し、
前記ストレージノードに維持される前記階層型データ構造の前記それぞれのバージョンのうちの1つを前記読み取り要求の処理のために識別し、
前記ストレージノードにおける前記階層型データ構造の前記識別されたバージョンに関
する前記書き込み要求を実行し、
前記書き込み要求を基に、前記階層型データ構造の前記トランザクションログストアにトランザクションを送信し、前記トランザクションは前記階層型データ構造の前記識別されたバージョンを示し、
前記トランザクションが前記階層型データ構造の前記トランザクションログにコミットされているという指示を前記トランザクションログストアから受信することに応じて、前記書き込み要求の確認応答を他のクライアントに送信するように構成される、条項1に記載のシステム。
前記トランザクションログストアから前記トランザクションを取得し、
前記ストレージノードに維持される前記階層型データ構造の現在のバージョンに前記トランザクションを適用し、
前記ストレージノードに維持される前記階層型データ構造の過去のバージョンデータを更新し、前記トランザクションの結果として前記階層型データ構造に適用された変更を表すように構成される、条項2に記載のシステム。
分散型データストアの一部として維持される階層型データ構造に送られるアクセス要求をクライアントから受信することと、
前記アクセス要求を処理するために前記階層型データ構造の複数のバージョンのうちの1つを識別することであって、前記階層型データ構造の複数のバージョンは、前記階層型データ構造にコミットされた変更を表す前記階層型データ構造のトランザクションログと一貫性した状態で前記分散型データストアに維持される、識別することと、
前記階層型データ構造の前記識別されたバージョンを利用する前記アクセス要求を処理することと
を実行することを備える、方法。
前記方法はさらに、
前記アクセス要求を受信する前に、
前記1つのストレージノードによって、前記トランザクションログから1つ以上のトランザクションを読み取ることであって、前記トランザクションログへの1つ以上の前記トランザクションは前記複数のストレージノードのうちの異なる1つによって前記トランザクションログに送信される、前記読み取ることと、
前記1つのストレージノードによって、前記1つのストレージノードに維持される前記階層型データ構造の現在のバージョンに前記1つ以上のトランザクションを適用することとを備え、
前記階層型データ構造の前記識別されたバージョンは前記1つ以上のトランザクションを含む、条項5に記載の方法。
前記アクセス要求の処理は、前記トランザクションが前記階層型データ構造に対して前記トランザクションログからコミットされるという指示を受信することに応じて実行され、
前記アクセス要求の処理は、前記アクセス要求の確認応答を前記クライアントに送信することを備える、条項5に記載の方法。
前記アクセス要求は読み取り要求であって、
前記アクセス要求の処理は、前記1つのストレージノードから、前記読み取り要求及びページネーショントークンを提供するために生成された結果の一部を前記クライアントに送信することを備え、前記ページネーショントークンは前記クライアントに送信される残りの前記結果を示し、
前記方法はさらに、
前記ストレージノードのうちの異なる1つにおいて、別の読み取り要求を前記クライアントから受信することであって、他の読み取り要求は前記ページネーショントークンを含む、前記受信することと、
異なるストレージノードにおいて他の読み取り要求を受信することに応じて、前記ページネーショントークンに示される通り、他の読み取り要求の残りの結果のうちの追加の結果を前記クライアントに送信することとを備える、条項5に記載の方法。
前記アクセス要求がスナップショット分離に従って処理されることを決定することを備え、
前記アクセス要求の処理は、アクセス要求がスナップショット分離に従って処理されることを決定することに応じて実行される、
条項5に記載の方法。
前記アクセス要求はトランザクション及び1つ以上の動作の開始を示し、
前記アクセス要求の処理は、前記1つのストレージノードから、前記1つ以上の動作の実行及びトランザクション状態トークンを前記クライアントに送信することを備え、前記トランザクション状態トークンは前記1つ以上の動作の結果として前記階層型データ構造の前記識別されたバージョンに適応される変更を示し、
前記方法はさらに、
前記ストレージノードのうちの異なる1つにおいて、前記トランザクションの一部として前記クライアントから実行される1つ以上の追加の動作を含む別のアクセス要求を受信することであって、他のアクセス要求は前記トランザクション状態トークンを含み、他のアクセス要求は前記トランザクションがコミットされることを示す、前記受信することと、
異なるストレージノードにおいて、他のアクセス要求を受信することに応じて、
前記トランザクション状態トークンで示される前記変更に従って、異なるストレージノードにおいて、前記階層型データ構造の識別されたバージョンを前記変更することと、
前記階層型データ構造の前記変更されたバージョンに関する前記1つ以上の追加の動作を実行することと、
前記トランザクションを前記階層型データ構造の前記トランザクションログに送信することと、
前記トランザクションが前記階層型データ構造に対して前記トランザクションログからコミットされるという指示を受信することと、
前記トランザクションが前記トランザクションログからコミットされるという前記指示を受信することに応じて、前記アクセス要求の確認応答を前記クライアントに送信することとを備える、条項5に記載の方法。
前記階層型データ構造にコミットされた変更を表す前記階層型データ構造のトランザクションログと一貫性した状態で、分散型データストアの複数のストレージノードにおいて、階層型データ構造のそれぞれのバージョンを維持することと、
前記ストレージノードのうちの1つにおいて、前記階層型データ構造に送られるアクセス要求を受信することと、
前記1つのストレージノードに維持される前記階層型データ構造のそれぞれのバージョンのうちの1つを前記アクセス要求の処理のために識別することと、
前記階層型データ構造の前記識別されたバージョンを利用する前記アクセス要求を処理することと
を実施させるプログラム命令を記憶する、非一時的なコンピュータ可読記憶媒体。
前記アクセス要求を基に、前記ストレージノードから、前記階層型データ構造の前記トランザクションログにトランザクションを送信することを実施させ、前記トランザクションは前記階層型データ構造の前記識別されたバージョンを示す、前記送信することと、
前記アクセス要求の処理は、前記トランザクションが前記階層型データ構造に対して前記トランザクションログからコミットされるという指示を受信することに応じて実行され、
前記アクセス要求の処理では、前記プログラム命令は前記1つ以上のコンピューティングデバイスに前記アクセス要求の確認応答を送信させる、条項14に記載の非一時的なコンピュータ可読記憶媒体。
前記複数のストレージノードにおいて前記トランザクションをそれぞれ取得することと
、
前記ストレージノードに維持される前記階層型データ構造のそれぞれの現在のバージョンに前記トランザクションを適用することと、
前記ストレージノードに維持される前記階層型データ構造のそれぞれの過去のバージョンデータを更新し、前記トランザクションの結果として前記階層型データ構造に適用された変更を表すことと
を実施させる、条項15に記載の非一時的なコンピュータ可読記憶媒体。
リモートデータストアに記憶された前記トランザクションログのアーカイブバージョンに前記トランザクションログをコピーすることと、
前記リモートトランザクションログからの1つ以上のトランザクションを、前記複数のストレージノードのうちの1つにある前記階層型データ構造のバージョンに適用し、指定の時点における前記階層型データ構造のバージョンを生成することと
を実施させる、条項14に記載の非一時的なコンピュータ可読記憶媒体。
前記プログラム命令は、前記1つ以上のコンピューティングデバイスに、さらに、前記階層型データ構造の前記識別されたバージョンに関して予期される条件を査定し、前記予期された条件が満たされていることを判定することを実施させ、
前記トランザクションを前記トランザクションログに送信することは、前記予期された条件が満たされていると判定することに応じて実行され、満たされていないと判定される予期される条件を含むアクセス要求は拒否される、条項15に記載の非一時的なコンピュータ可読記憶媒体。
ンピュータ、コンシューマデバイス、アプリケーションサーバ、ストレージデバイス、電話、携帯電話、または一般的な任意のタイプのコンピューティングデバイスを含む様々なタイプのデバイスのいずれでもあってよいが、これらに限定されない。
商標)バイトコードなどの任意のインタープリタ型言語、もしくはC/C++、Java(登録商標)などの任意の他の言語、またはそれらの任意の組み合わせにコード化され得る。例えば、例示した実施形態では、プログラム命令2025は、異なる実施形態では、階層型データ構造のバージョンを維持する階層型ストレージノードまたは階層型データ構造のトランザクションログを維持するトランザクションログストアの構成要素の機能性を実装するために実行可能なプログラム命令を含む。いくつかの実施形態では、プログラム命令2025は、複数の個別のクライアント、サーバノード及び/または他の構成要素を実装してよい。
素(例えば、システムメモリ2020)からのデータ信号を別の構成要素(例えば、プロセッサ2010)による使用に好適な形式に変換し得る。いくつかの実施形態では、I/Oインタフェース2030は、例えば、ペリフェラル・コンポーネント・インターコネクト(PCI)バス規格またはユニバーサル・シリアル・バス(USB)規格の変型などの様々なタイプの周辺バスを通じて取り付けられたデバイスのサポートを含み得る。いくつかの実施形態では、I/Oインタフェース2030の機能は、例えば、ノースブリッジ及びサウスブリッジなどの、2つ以上の個別の構成要素に分割され得る。さらに、いくつかの実施形態では、システムメモリ2020とのインタフェースなどの、I/Oインタフェース2030の機能性の一部またはすべてをプロセッサ2010に直接組み込んでよい。
ビスと相互作用してよい。例えば、ネットワークベースサービスは、他のシステムが呼び出すことができる様々な動作を定義してよく、様々な動作を要求する際に他のシステムが適合していると見込むことができる特定のアプリケーションプログラミングインターフェース(API)を定義してよい。
Claims (15)
- プロセッサ及びメモリを備える複数のストレージノードであって、階層型データ構造のそれぞれのバージョンを前記階層型データ構造のトランザクションログに一貫した状態で記憶する、前記複数のストレージノードと、
前記階層型データ構造のトランザクションログを維持するトランザクションログストアとを備えるシステムであって、前記ストレージノードのそれぞれは、
前記階層型データ構造の一部として記憶される指定データの読み取り要求をクライアントから受信し、前記読み取り要求は、前記階層型データ構造の前記それぞれのバージョンの異なるバージョンに相当する複数の分離または一貫性レベルの一つを特定し、
前記ストレージノードに維持される前記階層型データ構造の前記それぞれのバージョンのうちの1つを前記読み取り要求の処理のために識別し、
前記特定された複数の分離または一貫性レベルの一つは、直列化された分離を指定することを決定し、
前記特定された複数の分離または一貫性レベルの一つが、直列化された分離を指定することの決定に応答して、前記トランザクションログから受信した競合検証指示に基づいて、前記識別されたバージョンに含まれる前記指定データを記憶する前記ストレージノードにおける1つ以上の位置にアクセスして、前記指定データを取得し、
前記識別されたバージョンに含まれる前記指定データを前記クライアントに戻す
ように構成される、システム。 - 前記ストレージノードのそれぞれはさらに、
前記階層型データ構造に送られる書き込み要求を他のクライアントから受信し、
前記ストレージノードに維持される前記階層型データ構造の前記それぞれのバージョンのうちの1つを前記書き込み要求の処理のために識別し、
前記ストレージノードにおける前記階層型データ構造の前記識別されたバージョンに関する前記書き込み要求を実行し、
前記書き込み要求を基に、前記階層型データ構造の前記トランザクションログストアにトランザクションを送信し、前記トランザクションは前記階層型データ構造の前記識別されたバージョンを示し、
前記トランザクションが前記階層型データ構造の前記トランザクションログにコミットされているという指示を前記トランザクションログストアから受信することに応じて、前記書き込み要求の確認応答を前記他のクライアントに送信するように構成される、請求項1に記載のシステム。 - 前記ストレージノードの前記それぞれはさらに、
前記トランザクションログストアから前記トランザクションを取得し、
前記ストレージノードに維持される前記階層型データ構造の現在のバージョンに前記トランザクションを適用し、
前記ストレージノードに維持される前記階層型データ構造の過去のバージョンデータを更新し、前記トランザクションの結果として前記階層型データ構造に適用された変更を表すように構成される、請求項2に記載のシステム。 - 前記システムはネットワークベースディレクトリサービスであって、前記クライアントは前記ネットワークベースディレクトリサービスのクライアントであり、前記ストレージノードは前記ネットワークベースディレクトリサービスの1つ以上の他のクライアントの代わりに1つ以上の他の階層型データ構造を記憶するマルチテナントであり、前記階層型データ構造の前記識別されたバージョンは前記ストレージノードの前記メモリに維持される、請求項1に記載のシステム。
- 1つ以上のコンピューティングデバイスによって、
分散型データストアの一部として維持される階層型データ構造に送られるアクセス要求をクライアントから受信することと、
前記アクセス要求は、前記階層型データ構造の複数のバージョンの異なるバージョンに相当する複数の分離または一貫性レベルの一つを特定し、
前記アクセス要求を処理するために前記階層型データ構造の前記複数のバージョンのうちの1つを識別することであって、前記階層型データ構造の前記複数のバージョンは、前記階層型データ構造にコミットされた変更を表す前記階層型データ構造のトランザクションログと一貫性した状態で前記分散型データストアに維持される、前記識別することと、
前記特定された複数の分離または一貫性レベルの一つは、直列化された分離を指定することを決定し、
前記特定された複数の分離または一貫性レベルの一つが、直列化された分離を指定することの決定に応答して、前記トランザクションログから受信した競合検証指示に基づいて、前記階層型データ構造の前記識別されたバージョンを利用する前記アクセス要求を処理することと
を実行することを備える、方法。 - 前記受信、前記識別及び前記アクセス要求の前記処理は前記分散型データストアの前記階層型データ構造のバージョンを記憶する複数のストレージノードのうちの1つによって実行され、
前記方法はさらに、
前記アクセス要求を受信する前に、
前記複数のストレージノードの1つのストレージノードによって、前記トランザクションログから1つ以上のトランザクションを読み取ることであって、前記トランザクションログへの前記1つ以上のトランザクションは前記複数のストレージノードのうちの異なる1つによって前記トランザクションログに送信される、前記読み取ることと、
前記複数のストレージノードの1つのストレージノードによって、前記1つのストレージノードに維持される前記階層型データ構造の現在のバージョンに前記1つ以上のトランザクションを適用することとを備え、
前記階層型データ構造の前記識別されたバージョンは前記1つ以上のトランザクションを含む、請求項5に記載の方法。 - 前記方法はさらに、前記アクセス要求を基に、前記階層型データ構造の前記トランザクションログにトランザクションを送信することであって、前記トランザクションは前記階層型データ構造の前記識別されたバージョンを示し、
前記アクセス要求の処理は、前記トランザクションが前記階層型データ構造に対して前記トランザクションログからコミットされるという指示を受信することに応じて実行され、
前記アクセス要求の処理は、前記アクセス要求の確認応答を前記クライアントに送信することを備える、請求項5に記載の方法。 - 前記アクセス要求は前記階層型データ構造の異なるそれぞれのノードに関して実行される複数の動作の実行を指示し、前記トランザクションログに送信される前記トランザクションは前記複数の動作を含み、前記トランザクションがコミットされるという前記指示は、前記複数の動作がコミットされることを示す、請求項7に記載の方法。
- 前記受信、前記識別及び前記アクセス要求の前記処理は前記分散型データストアの前記階層型データ構造のバージョンを記憶する複数のストレージノードのうちの1つのストレージノードによって実行され、
前記アクセス要求は、読み取り要求であって、
前記アクセス要求の処理は、前記1つのストレージノードから、前記読み取り要求の処理及びページネーショントークンのために生成された結果の一部を前記クライアントに送信することを備え、前記ページネーショントークンは、前記クライアントに送信される残りの結果を示し、
前記方法はさらに、
前記ストレージノードのうちの異なる1つにおいて、他の読み取り要求を前記クライアントから受信することであって、前記他の読み取り要求は、前記ページネーショントークンを含む、前記受信することと、
前記異なるストレージノードにおいて前記他の読み取り要求を受信することに応じて、前記ページネーショントークンに示される通り、前記他の読み取り要求の残りの結果のうちの追加の結果を前記クライアントに送信することとを備える、請求項5に記載の方法。 - 前記方法はさらに、
前記分散型データストアの一部として維持される階層型データ構造に送られる第2のアクセス要求をクライアントから受信することを備え、
前記第2のアクセス要求は、前記階層型データ構造の複数のバージョンの異なるバージョンに相当する前記複数の分離または一貫性レベルの一つを特定し、
前記特定された複数の分離または一貫性レベルの一つが、スナップショット分離を指定することの決定に応答して、前記第2のアクセス要求がスナップショット分離に従って処理されることを決定することを備え、
前記第2のアクセス要求は、前記第2のアクセス要求がスナップショット分離に従って処理されることを決定することに応じて処理される、
請求項5に記載の方法。 - 前記受信、前記識別及び前記アクセス要求の前記処理は前記分散型データストアの前記階層型データ構造のバージョンを記憶する複数のストレージノードのうちの1つのストレージノードによって実行され、
前記アクセス要求はトランザクション及び1つ以上の動作の開始を示し、
前記アクセス要求の処理は、前記1つのストレージノードから、前記1つ以上の動作の実行及びトランザクション状態トークンを前記クライアントに送信することを備え、前記トランザクション状態トークンは前記1つ以上の動作の結果として前記階層型データ構造の前記識別されたバージョンに適応される変更を示し、
前記方法はさらに、
前記ストレージノードのうちの異なる1つにおいて、前記トランザクションの一部として前記クライアントから実行される1つ以上の追加の動作を含む他のアクセス要求を受信することであって、前記他のアクセス要求は前記トランザクション状態トークンを含み、前記他のアクセス要求は前記トランザクションがコミットされることを示す、前記受信することと、
前記異なるストレージノードにおいて、前記他のアクセス要求を受信することに応じて、
前記トランザクション状態トークンで示される前記変更に従って、前記異なるストレージノードにおいて、前記階層型データ構造の前記識別されたバージョンを変更することと、
前記階層型データ構造の前記変更されたバージョンに関する前記1つ以上の追加の動作を実行することと、
前記トランザクションを前記階層型データ構造の前記トランザクションログに送信することと、
前記トランザクションが前記階層型データ構造に対して前記トランザクションログからコミットされるという指示を受信することと、
前記トランザクションが前記トランザクションログからコミットされるという前記指示を受信することに応じて、前記アクセス要求の確認応答を前記クライアントに送信することとを備える、請求項5に記載の方法。 - 1つ以上のコンピューティングデバイスによって実行されると、前記1つ以上のコンピューティングデバイスに、
階層型データ構造にコミットされた変更を表す前記階層型データ構造のトランザクションログと一貫性した状態で、分散型データストアの複数のストレージノードにおいて、前記階層型データ構造のそれぞれのバージョンを維持することと、
前記ストレージノードのうちの1つのストレージノードにおいて、前記階層型データ構造に送られるアクセス要求を受信することと、
前記アクセス要求は、前記階層型データ構造の複数のバージョンの異なるバージョンに相当する複数の分離または一貫性レベルの一つを特定し、
前記1つのストレージノードに維持される前記階層型データ構造の前記それぞれのバージョンのうちの1つを前記アクセス要求の処理のために識別することと、
前記特定された複数の分離または一貫性レベルの一つは、直列化された分離を指定することを決定し、
前記特定された複数の分離または一貫性レベルの一つが、直列化された分離を指定することの決定に応答して、前記トランザクションログから受信した競合検証指示に基づいて、前記階層型データ構造の前記識別されたバージョンを利用する前記アクセス要求を処理することと
を実施させるプログラム命令を記憶する、非一時的なコンピュータ可読記憶媒体。 - 前記プログラム命令は、前記1つ以上のコンピューティングデバイスに、さらに、
前記アクセス要求を基に、前記ストレージノードから、前記階層型データ構造の前記トランザクションログにトランザクションを送信することを実施させ、前記トランザクションは前記階層型データ構造の前記識別されたバージョンを示す、前記送信することと、
前記アクセス要求の処理は、前記トランザクションが前記階層型データ構造に対して前記トランザクションログからコミットされるという指示を受信することに応じて実行され、
前記アクセス要求の処理では、前記プログラム命令は前記1つ以上のコンピューティングデバイスに前記アクセス要求の確認応答を送信させる、請求項12に記載の非一時的なコンピュータ可読記憶媒体。 - 前記プログラム命令は前記1つ以上のコンピューティングデバイスに、さらに、
前記複数のストレージノードにおいてトランザクションをそれぞれ取得することと、
前記ストレージノードに維持される前記階層型データ構造のそれぞれの現在のバージョンに前記トランザクションを適用することと、
前記ストレージノードに維持される前記階層型データ構造のそれぞれの過去のバージョンデータを更新し、前記トランザクションの結果として前記階層型データ構造に適用された変更を表すことと
を実施させる、請求項12に記載の非一時的なコンピュータ可読記憶媒体。 - 前記アクセス要求は、前記階層型データ構造の予期される条件を備え、
前記プログラム命令は、前記1つ以上のコンピューティングデバイスに、さらに、前記階層型データ構造の前記識別されたバージョンに関して前記予期される条件を査定し、前記予期された条件が満たされていることを判定することを実施させ、
トランザクションを前記トランザクションログに送信することは、前記予期された条件が満たされていると判定することに応じて実行され、満たされていないと判定される予期される条件を含むアクセス要求は拒否される、請求項12に記載の非一時的なコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/132,098 US11157517B2 (en) | 2016-04-18 | 2016-04-18 | Versioned hierarchical data structures in a distributed data store |
US15/132,098 | 2016-04-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018554725A Division JP6669892B2 (ja) | 2016-04-18 | 2017-04-18 | 分散型データストアのバージョン化された階層型データ構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020091902A true JP2020091902A (ja) | 2020-06-11 |
JP7113040B2 JP7113040B2 (ja) | 2022-08-04 |
Family
ID=59215925
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018554725A Active JP6669892B2 (ja) | 2016-04-18 | 2017-04-18 | 分散型データストアのバージョン化された階層型データ構造 |
JP2020031312A Active JP7113040B2 (ja) | 2016-04-18 | 2020-02-27 | 分散型データストアのバージョン化された階層型データ構造 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018554725A Active JP6669892B2 (ja) | 2016-04-18 | 2017-04-18 | 分散型データストアのバージョン化された階層型データ構造 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11157517B2 (ja) |
EP (2) | EP3885928A1 (ja) |
JP (2) | JP6669892B2 (ja) |
KR (2) | KR102141234B1 (ja) |
CN (2) | CN114780509A (ja) |
WO (1) | WO2017184593A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188551B2 (en) * | 2016-11-04 | 2021-11-30 | Microsoft Technology Licensing, Llc | Multi-level data pagination |
US10474563B1 (en) | 2016-12-28 | 2019-11-12 | Wells Fargo Bank, N.A. | System testing from production transactions |
US10671639B1 (en) | 2017-03-30 | 2020-06-02 | Amazon Technologies, Inc. | Selectively replicating changes to hierarchial data structures |
US11036797B2 (en) * | 2017-10-12 | 2021-06-15 | Adtran, Inc. | Efficient storage and utilization of a hierarchical data set |
US11645288B2 (en) * | 2017-11-03 | 2023-05-09 | International Business Machines Corporation | Reassigning gamer clusters based on engagement |
US10897453B2 (en) * | 2018-01-26 | 2021-01-19 | Nicira, Inc. | Providing networking and security to workloads via a control virtual private cloud shared across multiple virtual private clouds |
US10430100B2 (en) * | 2018-02-28 | 2019-10-01 | International Business Machines Corporation | Transactional operations in multi-master distributed data management systems |
CN111226200B (zh) * | 2018-03-23 | 2023-06-27 | 华为云计算技术有限公司 | 为分布式应用创建一致性快照的方法、装置和分布式系统 |
CN111147226B (zh) * | 2018-11-02 | 2023-07-18 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置及存储介质 |
CN111680108B (zh) * | 2019-03-11 | 2023-11-03 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法、装置及一种数据获取方法、装置 |
CN110059074A (zh) * | 2019-03-18 | 2019-07-26 | 华迪计算机集团有限公司 | 一种用于内存数据库的数据处理方法及系统 |
US10972296B2 (en) * | 2019-05-03 | 2021-04-06 | Microsoft Technology Licensing, Llc | Messaging to enforce operation serialization for consistency of a distributed data structure |
US11442920B2 (en) * | 2019-06-28 | 2022-09-13 | Paypal, Inc. | Graph database system |
US11397750B1 (en) * | 2019-11-27 | 2022-07-26 | Amazon Technologies, Inc. | Automated conflict resolution and synchronization of objects |
US11544232B2 (en) * | 2019-12-11 | 2023-01-03 | Western Digital Technologies, Inc. | Efficient transaction log and database processing |
US11580128B2 (en) * | 2020-05-18 | 2023-02-14 | International Business Machines Corporation | Preventing DBMS deadlock by eliminating shared locking |
US11321342B2 (en) * | 2020-07-31 | 2022-05-03 | Veeva Systems Inc. | Structured-data analysis and visualization |
CN112559558B (zh) * | 2020-12-07 | 2024-04-09 | 北京理房通支付科技有限公司 | 一种流水号生成方法和装置、计算设备和存储介质 |
KR102631020B1 (ko) * | 2020-12-15 | 2024-01-31 | 한국전력공사 | 배전 계통 관계 집합 기반 데이터 매칭 방법 및 배전 계통 통합 db 시스템 |
US11714573B1 (en) | 2021-03-29 | 2023-08-01 | Amazon Technologies, Inc. | Storage optimization in a distributed object store |
US11709809B1 (en) * | 2021-03-29 | 2023-07-25 | Amazon Technologies, Inc. | Tree-based approach for transactionally consistent version sets |
US11886422B1 (en) | 2021-03-29 | 2024-01-30 | Amazon Technologies, Inc. | Transactional protocol for snapshot isolation without synchronized clocks |
US11599514B1 (en) | 2021-03-29 | 2023-03-07 | Amazon Technologies, Inc. | Transactional version sets |
US11853324B2 (en) * | 2021-05-10 | 2023-12-26 | Argo AI, LLC | Systems and methods for atomic publication of distributed writes to a distributed data warehouse |
US11755621B2 (en) | 2021-05-10 | 2023-09-12 | Argo AI, LLC | Systems and methods for atomic publication of distributed writes to a distributed data warehouse |
CN113377502A (zh) * | 2021-06-10 | 2021-09-10 | 上海达梦数据库有限公司 | 事务处理方法、装置、服务器、数据库管理系统及介质 |
US11888956B2 (en) * | 2021-06-11 | 2024-01-30 | Microsoft Technology Licensing, Llc | Paginated data transfer techniques |
CN113657465B (zh) * | 2021-07-29 | 2024-04-09 | 北京百度网讯科技有限公司 | 预训练模型的生成方法、装置、电子设备和存储介质 |
CN115114260B (zh) * | 2021-08-24 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
KR102392880B1 (ko) * | 2021-09-06 | 2022-05-02 | (주) 바우디움 | 계층화 문서를 관리하는 방법 및 이를 이용한 장치 |
CN113868273B (zh) * | 2021-09-23 | 2022-10-04 | 北京百度网讯科技有限公司 | 元数据的快照方法及其装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153566A1 (en) * | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Optimistic serializable snapshot isolation |
JP2013543601A (ja) * | 2011-09-07 | 2013-12-05 | 日本電気株式会社 | ストレージ装置 |
WO2015200686A1 (en) * | 2014-06-26 | 2015-12-30 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
JP2016511486A (ja) * | 2013-03-15 | 2016-04-14 | アマゾン・テクノロジーズ・インコーポレーテッド | データベースエンジンを備えたデータベースシステム及び別個の分散型ストレージサービス |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423648B2 (en) * | 1999-06-01 | 2013-04-16 | Yodlee.Com, Inc. | Method and system for verifying state of a transaction between a client and a service over a data-packet-network |
US6968364B1 (en) * | 2000-03-30 | 2005-11-22 | Microsoft Corporation | System and method to facilitate selection and programming of an associated audio/visual system |
JP3776706B2 (ja) * | 2000-10-04 | 2006-05-17 | 富士通株式会社 | データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6877107B2 (en) * | 2001-07-05 | 2005-04-05 | Softwired Ag | Method for ensuring operation during node failures and network partitions in a clustered message passing server |
US7287249B2 (en) | 2001-09-28 | 2007-10-23 | Siebel Systems, Inc. | Method and system for tracking and exchanging incremental changes to hierarchical objects |
US20040230893A1 (en) | 2003-05-16 | 2004-11-18 | Dethe Elza | Method and system for enabling collaborative authoring of hierarchical documents with node privileges |
US7185096B2 (en) * | 2003-05-27 | 2007-02-27 | Sun Microsystems, Inc. | System and method for cluster-sensitive sticky load balancing |
US7352762B2 (en) * | 2003-05-27 | 2008-04-01 | Sun Microsystems, Inc. | Method and system for messaging to a cluster |
US7483923B2 (en) | 2003-08-21 | 2009-01-27 | Microsoft Corporation | Systems and methods for providing relational and hierarchical synchronization services for units of information manageable by a hardware/software interface system |
US20050086384A1 (en) | 2003-09-04 | 2005-04-21 | Johannes Ernst | System and method for replicating, integrating and synchronizing distributed information |
GB2423850B (en) | 2003-11-13 | 2009-05-20 | Commvault Systems Inc | System and method for performing integrated storage operations |
US7822711B1 (en) | 2003-12-31 | 2010-10-26 | Symantec Operating Corporation | Conflict resolution for a distributed file sharing system |
US7318075B2 (en) * | 2004-02-06 | 2008-01-08 | Microsoft Corporation | Enhanced tabular data stream protocol |
US20060010130A1 (en) * | 2004-07-09 | 2006-01-12 | Avraham Leff | Method and apparatus for synchronizing client transactions executed by an autonomous client |
US7676692B2 (en) * | 2005-04-18 | 2010-03-09 | Bank Of America Corporation | Database automated disaster recovery |
US20060242104A1 (en) | 2005-04-21 | 2006-10-26 | Microsoft Corporation | Systems and methods for manipulating data in a data storage system |
US7549028B2 (en) | 2005-06-29 | 2009-06-16 | Emc Corporation | Backup and restore operations using a single snapshot driven by a server job request |
US7689602B1 (en) | 2005-07-20 | 2010-03-30 | Bakbone Software, Inc. | Method of creating hierarchical indices for a distributed object system |
US7853667B1 (en) * | 2005-08-05 | 2010-12-14 | Network Appliance, Inc. | Emulation of transparent recall in a hierarchical storage management system |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US20070150341A1 (en) * | 2005-12-22 | 2007-06-28 | Aftab Zia | Advertising content timeout methods in multiple-source advertising systems |
US7562203B2 (en) * | 2006-09-27 | 2009-07-14 | Network Appliance, Inc. | Storage defragmentation based on modified physical address and unmodified logical address |
US20100174692A1 (en) | 2007-03-15 | 2010-07-08 | Scott Meyer | Graph store |
US7603393B1 (en) | 2007-04-02 | 2009-10-13 | Juniper Networks, Inc. | Software merging utility |
US20090006489A1 (en) | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Hierarchical synchronization of replicas |
US8554800B2 (en) | 2008-07-30 | 2013-10-08 | Portool Ltd. | System, methods and applications for structured document indexing |
US8566362B2 (en) | 2009-01-23 | 2013-10-22 | Nasuni Corporation | Method and system for versioned file system using structured data representations |
US8121980B2 (en) * | 2009-02-13 | 2012-02-21 | Microsoft Corporation | Transactional record manager |
US20100333116A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US8589347B2 (en) | 2010-05-28 | 2013-11-19 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US9063969B2 (en) * | 2010-12-28 | 2015-06-23 | Sap Se | Distributed transaction management using optimization of local transactions |
US9241031B2 (en) * | 2011-08-02 | 2016-01-19 | Verizon Patent And Licensing Inc. | Selecting an auxiliary event-package server |
CN102831156B (zh) | 2012-06-29 | 2014-12-31 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN102855271B (zh) | 2012-07-05 | 2016-09-21 | 中国电力科学研究院 | 一种多版本电网模型的存储与可追溯管理方法 |
US9632828B1 (en) * | 2012-09-24 | 2017-04-25 | Amazon Technologies, Inc. | Computing and tracking client staleness using transaction responses |
US9268651B1 (en) * | 2012-10-31 | 2016-02-23 | Amazon Technologies, Inc. | Efficient recovery of storage gateway cached volumes |
CN103164219B (zh) | 2013-01-08 | 2015-09-23 | 华中科技大学 | 去中心化架构中使用多类型副本的分布式事务处理系统 |
US20140324690A1 (en) * | 2013-01-11 | 2014-10-30 | American Express Travel Related Services Company, Inc. | System and method for a single digital wallet dynamic checkout tool |
US20140214886A1 (en) * | 2013-01-29 | 2014-07-31 | ParElastic Corporation | Adaptive multi-client saas database |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
EP2973044A2 (en) | 2013-03-15 | 2016-01-20 | James Webber | Graph database devices and methods for partitioning graphs |
US9836516B2 (en) | 2013-10-18 | 2017-12-05 | Sap Se | Parallel scanners for log based replication |
IN2013CH05115A (ja) | 2013-11-12 | 2015-05-29 | Inmobi Pte Ltd | |
US9389976B2 (en) | 2014-04-09 | 2016-07-12 | Intel Corporation | Distributed persistent memory using asynchronous streaming of log records |
GB2526849B (en) | 2014-06-05 | 2021-04-14 | Advanced Risc Mach Ltd | Dynamic cache allocation policy adaptation in a data processing apparatus |
US9910876B2 (en) * | 2014-06-11 | 2018-03-06 | International Business Machines Corporation | Query handling in a columnar database |
CN104281506B (zh) | 2014-07-10 | 2017-02-15 | 中国科学院计算技术研究所 | 一种文件系统的数据维护方法及系统 |
CN104216955B (zh) | 2014-08-20 | 2017-12-26 | 百度在线网络技术(北京)有限公司 | 一种操作数据及管理事务的方法、装置及分布式系统 |
US9053124B1 (en) * | 2014-09-30 | 2015-06-09 | Code 42 Software, Inc. | System for a distributed file system element collection |
US20160147458A1 (en) * | 2014-11-25 | 2016-05-26 | Samsung Electronics Co., Ltd. | Computing system with heterogeneous storage and method of operation thereof |
CN104636084B (zh) | 2015-01-21 | 2016-04-27 | 广东电网有限责任公司电力科学研究院 | 一种对电力大数据进行分布存储的装置和方法 |
US20170109214A1 (en) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Accelerating Task Subgraphs By Remapping Synchronization |
US11157493B2 (en) * | 2015-12-30 | 2021-10-26 | Facebook, Inc. | Optimistic data fetching and rendering |
US10289693B2 (en) * | 2015-12-30 | 2019-05-14 | Dropbox, Inc. | Techniques for providing user interface enhancements for online content management system version histories |
US11386078B2 (en) * | 2018-12-17 | 2022-07-12 | Sap Se | Distributed trust data storage system |
-
2016
- 2016-04-18 US US15/132,098 patent/US11157517B2/en active Active
-
2017
- 2017-04-18 KR KR1020187032841A patent/KR102141234B1/ko active IP Right Grant
- 2017-04-18 WO PCT/US2017/028125 patent/WO2017184593A1/en active Application Filing
- 2017-04-18 CN CN202210428437.XA patent/CN114780509A/zh active Pending
- 2017-04-18 EP EP21173881.0A patent/EP3885928A1/en active Pending
- 2017-04-18 JP JP2018554725A patent/JP6669892B2/ja active Active
- 2017-04-18 CN CN201780024249.8A patent/CN109074387B/zh active Active
- 2017-04-18 KR KR1020207022154A patent/KR102293093B1/ko active IP Right Grant
- 2017-04-18 EP EP17733149.3A patent/EP3446239B1/en active Active
-
2020
- 2020-02-27 JP JP2020031312A patent/JP7113040B2/ja active Active
-
2021
- 2021-10-22 US US17/508,831 patent/US20220043830A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153566A1 (en) * | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Optimistic serializable snapshot isolation |
JP2013543601A (ja) * | 2011-09-07 | 2013-12-05 | 日本電気株式会社 | ストレージ装置 |
JP2016511486A (ja) * | 2013-03-15 | 2016-04-14 | アマゾン・テクノロジーズ・インコーポレーテッド | データベースエンジンを備えたデータベースシステム及び別個の分散型ストレージサービス |
WO2015200686A1 (en) * | 2014-06-26 | 2015-12-30 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
Also Published As
Publication number | Publication date |
---|---|
CN109074387B (zh) | 2022-05-13 |
JP7113040B2 (ja) | 2022-08-04 |
KR20180132874A (ko) | 2018-12-12 |
EP3446239B1 (en) | 2021-11-17 |
CN114780509A (zh) | 2022-07-22 |
US20170300552A1 (en) | 2017-10-19 |
US11157517B2 (en) | 2021-10-26 |
KR102293093B1 (ko) | 2021-08-25 |
WO2017184593A1 (en) | 2017-10-26 |
KR20200096309A (ko) | 2020-08-11 |
KR102141234B1 (ko) | 2020-08-04 |
EP3446239A1 (en) | 2019-02-27 |
EP3885928A1 (en) | 2021-09-29 |
CN109074387A (zh) | 2018-12-21 |
JP6669892B2 (ja) | 2020-03-18 |
JP2019515377A (ja) | 2019-06-06 |
US20220043830A1 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7113040B2 (ja) | 分散型データストアのバージョン化された階層型データ構造 | |
US11860895B2 (en) | Selectively replicating changes to hierarchial data structures | |
US11086531B2 (en) | Scaling events for hosting hierarchical data structures | |
US11550763B2 (en) | Versioning schemas for hierarchical data structures | |
US11574070B2 (en) | Application specific schema extensions for a hierarchical data structure | |
US9305056B1 (en) | Results cache invalidation | |
US11461347B1 (en) | Adaptive querying of time-series data over tiered storage | |
US10838934B2 (en) | Modifying archive data without table changes | |
US10585720B1 (en) | Method and system for executing application programming interface (API) requests based on union relationships between objects | |
US11100129B1 (en) | Providing a consistent view of associations between independently replicated data objects | |
US11636124B1 (en) | Integrating query optimization with machine learning model prediction | |
US11657088B1 (en) | Accessible index objects for graph data structures | |
US11455305B1 (en) | Selecting alternate portions of a query plan for processing partial results generated separate from a query engine | |
US20230196199A1 (en) | Querying databases with machine learning model references | |
US10452637B1 (en) | Migration of mutable data sets between data stores | |
US11657069B1 (en) | Dynamic compilation of machine learning models based on hardware configurations | |
US11500837B1 (en) | Automating optimizations for items in a hierarchical data store | |
US11886439B1 (en) | Asynchronous change data capture for direct external transmission | |
US11010361B1 (en) | Executing code associated with objects in a hierarchial data structure | |
US11941014B1 (en) | Versioned metadata management for a time-series database | |
US20240111751A1 (en) | Record-level locks with constant space complexity | |
US11914571B1 (en) | Optimistic concurrency for a multi-writer database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200310 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210330 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220302 |
|
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: 20220705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220725 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7113040 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |