JP2023512247A - 複数のチェーンを使用した共有キャッシュ内のオブジェクトの管理 - Google Patents
複数のチェーンを使用した共有キャッシュ内のオブジェクトの管理 Download PDFInfo
- Publication number
- JP2023512247A JP2023512247A JP2022546343A JP2022546343A JP2023512247A JP 2023512247 A JP2023512247 A JP 2023512247A JP 2022546343 A JP2022546343 A JP 2022546343A JP 2022546343 A JP2022546343 A JP 2022546343A JP 2023512247 A JP2023512247 A JP 2023512247A
- Authority
- JP
- Japan
- Prior art keywords
- chain
- database
- chainset
- chains
- database object
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 86
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 46
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 abstract description 4
- 238000003860 storage Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
1. 共有メモリを管理するために、前記共有メモリに保存されているデータベースオブジェクトの使用をトラッキングする方法であって、
コンピュータシステムが、複数のチェーンを有するチェーンセットを保持することであって、複数のチェーンの各々はキャッシュに保存されたデータベースオブジェクトの順序付けを規定する、保持することと、
前記コンピュータシステムが、複数のデータベースオブジェクトの各状態をモニターすることと、
一データベースオブジェクトの状態が変化したとの判定に応じて、前記コンピュータシステムが、その一データベースオブジェクトに対応する複数のチェーンのうちの一チェーンを選択することと、
前記コンピュータシステムが、前記一チェーンを更新するが、更新中に前記複数のチェーンのうちの他のチェーンがアクセスされることを妨げない、更新することであって、前記更新することは、
前記一チェーンをロックすることと、
ロックされた前記一チェーンを変更して前記一データベースオブジェクトの変化した状態を反映することと、
更新後に前記一チェーンをアンロックすることとを含む
方法。
2.ロックされた一チェーンを変更することは、前記チェーンに前記一データベースオブジェクトを追加することを含む、実施例1の方法。
3.ロックされた一チェーンを変更することは、前記チェーンから前記一データベースオブジェクトを削除することを含む、実施例1の方法。
4.キャッシュに格納されるデータベースオブジェクトの順序は、少なくとも部分的に、データベースオブジェクトの相対的な使用頻度に基づく、実施例1の方法。
5.さらに、前記コンピュータシステムが、新しいチェーンが前記チェーンセットに追加されるとの決定に応じて、
前記チェーンセットをロックすることと、
前記新しいチェーンを前記チェーンセットに追加することと、
前記チェーンセットのアンロックすることとを含む、
実施例1の方法。
6.さらに、前記実行することが、前記チェーンセットに含まれるチェーンの数がしきい値より大きいとの判定に応じて行われ、前記ガーベージコレクションが前記チェーンセットをロックした後、前記チェーンセットをアンロックする前に実行される、実施例5の方法。
7.コンピュータシステムに動作を実行させることができるプログラミング命令が格納された、非一時的コンピュータ可読媒体であって、前記動作は、
コンピュータシステムが、複数のチェーンを有するチェーンセットを保持することであって、複数のチェーンの各々はキャッシュに保存されたデータベースオブジェクトの順序付けを規定する、保持することと、
前記コンピュータシステムが、複数のデータベースオブジェクトの各状態をモニターすることと、
一データベースオブジェクトの状態が変化したとの判定に応じて、前記コンピュータシステムが、その一データベースオブジェクトに対応する複数のチェーンのうちの一チェーンを選択することと、
前記コンピュータシステムが、前記一チェーンを更新するが、更新中に前記複数のチェーンのうちの他のチェーンがアクセスされることを妨げない、更新することであって、前記更新することは、
前記一チェーンをロックすることと、
ロックされた前記一チェーンを変更して前記一データベースオブジェクトの変化した状態を反映することと、
更新後に前記一チェーンをアンロックすることとを含む
非一時的コンピュータ可読媒体。
8.ロックされた一チェーンを変更することは、前記チェーンに前記一データベースオブジェクトを追加することを含む、実施例7の非一時的なコンピュータ可読記憶媒体。
9.ロックされた一チェーンを変更することは、前記チェーンから前記一データベースオブジェクトを削除することを含む、実施例7の非一時的なコンピュータ可読記憶媒体。
10.キャッシュに格納されるデータベースオブジェクトの順序は、少なくとも部分的に、データベースオブジェクトの相対的な使用頻度に基づく、実施例7の非一時的なコンピュータ可読記憶媒体。
11.さらに、前記コンピュータシステムが、新しいチェーンが前記チェーンセットに追加されるとの決定に応じて、
前記チェーンセットをロックすることと、
前記新しいチェーンを前記チェーンセットに追加することと、
前記チェーンセットのアンロックすることとを含む、実施例7の非一時的なコンピュータ可読記憶媒体。
12.さらに、前記実行することが、前記チェーンセットに含まれるチェーンの数がしきい値より大きいとの判定に応じて行われ、前記ガーベージコレクションが前記チェーンセットをロックした後、前記チェーンセットをアンロックする前に実行される、実施例11の非一時的なコンピュータ可読記憶媒体。
13.複数のチェーンの第1のチェーンが、ソフトウェアアプリケーションの第1のリリースによって導入された識別子のセットに関連付けられた第1の複数のデータベースオブジェクトのセットの順序を規定し、複数のチェーンの第2のチェーンが、ソフトウェアアプリケーションの第1または第2のリリースによって導入された異なる識別子のセットに関連付けられた第2の複数のデータベースオブジェクトのセットの順序を規定する、実施例7の非一時的なコンピュータ可読記憶媒体。
14.コンピュータシステムであって、
動作中に命令を記憶する一以上のメモリと
動作中に一以上のメモリから命令を受け取り、その命令を実行してコンピュータシステムに次の動作を実行させる一以上の計算リソースとを有し、前記次の動作は、
コンピュータシステムが、複数のチェーンを有するチェーンセットを保持することであって、複数のチェーンの各々はキャッシュに保存されたデータベースオブジェクトの順序付けを規定する、保持することと、
前記コンピュータシステムが、複数のデータベースオブジェクトの各状態をモニターすることと、
一データベースオブジェクトの状態が変化したとの判定に応じて、前記コンピュータシステムが、その一データベースオブジェクトに対応する複数のチェーンのうちの一チェーンを選択することと、
前記コンピュータシステムが、前記一チェーンを更新するが、更新中に前記複数のチェーンのうちの他のチェーンがアクセスされることを妨げない、更新することであって、前記更新することは、
前記一チェーンをロックすることと、
ロックされた前記一チェーンを変更して前記一データベースオブジェクトの変化した状態を反映することと、
更新後に前記一チェーンをアンロックすることとを含む、
コンピュータシステム。
15.ロックされた一チェーンを変更することは、前記チェーンに前記一データベースオブジェクトを追加することを含む、実施例14のコンピュータシステム。
16.ロックされた一チェーンを変更することは、前記チェーンから前記一データベースオブジェクトを削除することを含む、実施例14のコンピュータシステム。
17.キャッシュに格納されるデータベースオブジェクトの順序は、少なくとも部分的に、データベースオブジェクトの相対的な使用頻度に基づく、実施例14のコンピュータシステム。
18.さらに、前記コンピュータシステムが、新しいチェーンが前記チェーンセットに追加されるとの決定に応じて、
前記チェーンセットをロックすることと、
前記新しいチェーンを前記チェーンセットに追加することと、
前記チェーンセットのアンロックすることとを含む、実施例14のコンピュータシステム。
19.さらに、前記実行することが、前記チェーンセットに含まれるチェーンの数がしきい値より大きいとの判定に応じて行われ、前記ガーベージコレクションが前記チェーンセットをロックした後、前記チェーンセットをアンロックする前に実行される、実施例18のコンピュータシステム。
20.複数のチェーンの第1のチェーンが、ソフトウェアアプリケーションの第1のリリースによって導入された識別子のセットに関連付けられた第1の複数のデータベースオブジェクトのセットの順序を規定し、複数のチェーンの第2のチェーンが、ソフトウェアアプリケーションの第1または第2のリリースによって導入された異なる識別子のセットに関連付けられた第2の複数のデータベースオブジェクトのセットの順序を規定する、実施例14のコンピュータシステム。
Claims (14)
- 共有メモリを管理するために、前記共有メモリに保存されているデータベースオブジェクトの使用をトラッキングする方法であって、
コンピュータシステムが、複数のチェーンを有するチェーンセットを保持することであって、複数のチェーンの各々はキャッシュに保存されたデータベースオブジェクトの順序付けを規定する、保持することと、
前記コンピュータシステムが、複数のデータベースオブジェクトの各状態をモニターすることと、
一データベースオブジェクトの状態が変化したとの判定に応じて、前記コンピュータシステムが、その一データベースオブジェクトに対応する複数のチェーンのうちの一チェーンを選択することと、
前記コンピュータシステムが、前記一チェーンを更新するが、更新中に前記複数のチェーンのうちの他のチェーンがアクセスされることを妨げない、更新することであって、前記更新することは、
前記一チェーンをロックすることと、
ロックされた前記一チェーンを変更して前記一データベースオブジェクトの変化した状態を反映することと、
更新後に前記一チェーンをアンロックすることとを含む
方法。 - 最も最近使用されたデータベースオブジェクトが前記チェーン内のテールポジションを占め、前記方法は、さらに、前記共有メモリからの立ち退きのためにテールポジションを占めるデータベースオブジェクトを選択し、このオブジェクトを前記共有メモリから立ち退かせることを含む、請求項1に記載の方法。
- チェーンは、規定された順序で前記データベースオブジェクトをリンクするリンクを含む、請求項1または2のいずれか一項に記載の方法。
- 前記チェーンセットが、現在はデータベースオブジェクトが関連付けられていないことを示すヌルオブジェクトを格納する空のチェーンを含む、請求項1ないし3のいずれか一項に記載の方法。
- ロックされた前記一チェーンを変更することは、前記一データベースオブジェクトを前記チェーンに追加することを含む、請求項1ないし4のいずれか一項に記載の方法。
- ロックされた前記一チェーンを変更することは、前記チェーンから前記一データベースオブジェクトを削除することを含む、請求項1ないし4のいずれか一項に記載の方法。
- ロックされた前記一チェーンを変更することは、前記一データベースオブジェクトを前記チェーンの先頭または前記チェーンの先頭に近いポジションに移動することを含む、請求項1ないし4のいずれか一項に記載の方法。
- 前記キャッシュに格納されるデータベースオブジェクトの順序付けは、少なくとも部分的には、前記データベースオブジェクトの相対的な使用頻度に基づく、請求項1ないし7のいずれか一項に記載の方法。
- さらに、前記コンピュータシステムが、新しいチェーンが前記チェーンセットに追加されるとの決定に応じて、
前記チェーンセットをロックすることと、
前記新しいチェーンを前記チェーンセットに追加することと、
前記チェーンセットのアンロックすることとを含む、
請求項1ないし8のいずれか一項に記載の方法。 - 前記コンピュータシステムが、前記チェーンセットに対するガーベージコレクションの動作を実行することをさらに含み、前記実行することが、前記チェーンセットに含まれるチェーンの数がしきい値より大きいとの判定に応じて行われ、前記ガーベージコレクションが前記チェーンセットをロックした後、前記チェーンセットをアンロックする前に実行される、請求項9に記載の方法。
- 前記複数のチェーンの第1のチェーンが、ソフトウェアアプリケーションの第1のリリースによって導入された識別子のセットに関連付けられたデータベースオブジェクトのセットの第1の複数のデータベースオブジェクトの順序付けを規定し、前記複数のチェーンの第2のチェーンが、前記ソフトウェアアプリケーションの第1または第2のリリースによって導入された識別子の異なるセットに関連付けられたデータベースオブジェクトの第2の複数のデータベースオブジェクトの順序付けを規定する、
請求項1ないし10のいずれか一項に記載の方法。 - データベースオブジェクトにアクセスするプロセスが、前記データベースオブジェクトを含む前記チェーンのロックを取得し、前記チェーン内の前記データベースオブジェクトのポジションを変更し、前記ロックは、他のプロセスが前記チェーンにアクセスすることを防止する、請求項1ないし11のいずれか一項に記載の方法。
- 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに請求項1ないし12のいずれか一項に記載の方法を実行させるプログラム命令が格納されたメモリと
を有するコンピュータシステム。 - コンピュータシステムに請求項1ないし12のいずれか一項に記載の方法を実行させることができるプログラミング命令を格納したコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/779,475 US11507566B2 (en) | 2020-01-31 | 2020-01-31 | Managing objects in shared caches using multiple chains |
US16/779,475 | 2020-01-31 | ||
PCT/US2021/015808 WO2021155220A1 (en) | 2020-01-31 | 2021-01-29 | Managing objects in shared caches using multiple chains |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023512247A true JP2023512247A (ja) | 2023-03-24 |
Family
ID=74673433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022546343A Pending JP2023512247A (ja) | 2020-01-31 | 2021-01-29 | 複数のチェーンを使用した共有キャッシュ内のオブジェクトの管理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11507566B2 (ja) |
EP (1) | EP3991060A1 (ja) |
JP (1) | JP2023512247A (ja) |
CN (1) | CN114207601A (ja) |
WO (1) | WO2021155220A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11507566B2 (en) * | 2020-01-31 | 2022-11-22 | Salesforce.Com, Inc. | Managing objects in shared caches using multiple chains |
US11361026B2 (en) | 2020-06-30 | 2022-06-14 | Snowflake Inc. | Accessing files in a database stage using a user defined function |
US10997243B1 (en) | 2020-06-30 | 2021-05-04 | Snowflake Inc. | Supporting unstructured, semi-structured, and structured files |
US11645243B2 (en) * | 2021-06-07 | 2023-05-09 | Snowflake Inc. | Accessing files in a database stage using a user defined function |
US11940994B2 (en) | 2021-10-29 | 2024-03-26 | Salesforce, Inc. | Mechanisms for maintaining chains without locks |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809891B2 (en) * | 2007-04-09 | 2010-10-05 | Sap Ag | Wait-free parallel data cache |
US8229945B2 (en) * | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
US8429371B2 (en) * | 2010-03-23 | 2013-04-23 | Avaya Inc. | System and method for robust and efficient free chain management |
US9032488B2 (en) * | 2012-04-17 | 2015-05-12 | Salesforce.Com, Inc. | Cross instance user authentication architecture |
US9274963B2 (en) | 2012-07-20 | 2016-03-01 | International Business Machines Corporation | Cache replacement for shared memory caches |
US9348752B1 (en) * | 2012-12-19 | 2016-05-24 | Amazon Technologies, Inc. | Cached data replication for cache recovery |
US9612754B1 (en) * | 2015-06-29 | 2017-04-04 | EMC IP Holding Company LLC | Data storage system with window allocation using window cache |
US10242050B2 (en) | 2015-12-23 | 2019-03-26 | Sybase, Inc. | Database caching in a database system |
US10747782B2 (en) | 2016-09-16 | 2020-08-18 | Oracle International Corporation | Efficient dual-objective cache |
US10606670B2 (en) * | 2018-04-11 | 2020-03-31 | EMC IP Holding Company LLC | Shared memory usage tracking across multiple processes |
US11003653B2 (en) * | 2018-05-31 | 2021-05-11 | Intuit Inc. | Method and system for secure digital documentation of subjects using hash chains |
US11157184B2 (en) * | 2019-04-30 | 2021-10-26 | EMC IP Holding Company LLC | Host access to storage system metadata |
US11941611B2 (en) * | 2019-12-11 | 2024-03-26 | Intuit Inc. | Shareable and nested transactions on hash chains |
US11323246B2 (en) * | 2019-12-11 | 2022-05-03 | The Bank Of New York Mellon | Ring chain architecture |
US11507566B2 (en) * | 2020-01-31 | 2022-11-22 | Salesforce.Com, Inc. | Managing objects in shared caches using multiple chains |
-
2020
- 2020-01-31 US US16/779,475 patent/US11507566B2/en active Active
-
2021
- 2021-01-29 WO PCT/US2021/015808 patent/WO2021155220A1/en unknown
- 2021-01-29 CN CN202180004832.9A patent/CN114207601A/zh active Pending
- 2021-01-29 JP JP2022546343A patent/JP2023512247A/ja active Pending
- 2021-01-29 EP EP21707568.8A patent/EP3991060A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021155220A1 (en) | 2021-08-05 |
CN114207601A (zh) | 2022-03-18 |
US11507566B2 (en) | 2022-11-22 |
EP3991060A1 (en) | 2022-05-04 |
US20210240697A1 (en) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860457B1 (en) | Globally ordered event stream logging | |
JP7044879B2 (ja) | クライアント同期サービスのためのローカルツリーの更新 | |
JP2023512247A (ja) | 複数のチェーンを使用した共有キャッシュ内のオブジェクトの管理 | |
US10853337B2 (en) | Lifecycle transition validation for storage objects | |
US10642654B2 (en) | Storage lifecycle pipeline architecture | |
US8756379B2 (en) | Managing concurrent accesses to a cache | |
US7254578B2 (en) | Concurrency classes for shared file systems | |
US10496670B1 (en) | Computer storage deduplication | |
US9858160B2 (en) | Restoring distributed shared memory data consistency within a recovery process from a cluster node failure | |
WO2022063059A1 (zh) | 键值存储系统的数据管理方法及其装置 | |
US8909677B1 (en) | Providing a distributed balanced tree across plural servers | |
US11960442B2 (en) | Storing a point in time coherently for a distributed storage system | |
US20140032703A1 (en) | System and method for an expandable computer storage system | |
US11775527B2 (en) | Storing derived summaries on persistent memory of a storage device | |
US10606805B2 (en) | Object-level image query and retrieval | |
US20220283957A1 (en) | Method and apparatus for updating cached information, device, and medium | |
US10872073B1 (en) | Lock-free updates to a data retention index | |
US10942912B1 (en) | Chain logging using key-value data storage | |
EP4136541B1 (en) | Transactional support for non-relational database | |
US20240028466A1 (en) | Storing Namespace Metadata in a Key Value Store to Facilitate Space Efficient Point In Time Snapshots | |
CN116821058B (zh) | 元数据访问方法、装置、设备及存储介质 | |
US20240126816A1 (en) | Self-discovery and construction of type-sensitive columnar formats on type-agnostic storage servers to accelerate offloaded queries | |
US11514080B1 (en) | Cross domain transactions | |
US11940994B2 (en) | Mechanisms for maintaining chains without locks | |
US20240176775A1 (en) | Datastore workload isolation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220928 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240514 |