JP6759285B2 - ローカライズされたデータアフィニティシステム及びハイブリッド法 - Google Patents
ローカライズされたデータアフィニティシステム及びハイブリッド法 Download PDFInfo
- Publication number
- JP6759285B2 JP6759285B2 JP2018132634A JP2018132634A JP6759285B2 JP 6759285 B2 JP6759285 B2 JP 6759285B2 JP 2018132634 A JP2018132634 A JP 2018132634A JP 2018132634 A JP2018132634 A JP 2018132634A JP 6759285 B2 JP6759285 B2 JP 6759285B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- processor
- records
- database
- sets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- 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/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- 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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5012—Processor sets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
[0001]本出願は、2010年5月17日に出願された米国仮特許出願第61/395,704号、及び2011年4月8日に出願された米国特許出願第13/083,396号の利益を主張するものであり、両方とも参照によりその全体が本明細書に組み込まれている。
Oracle Parkway,Redwood Shores,CA94065)インメモリデータベースを実行するSGI(登録商標)Altix(登録商標)4700(Silicon Graphics,Inc.,46600 Landing Parkway,Fremont,CA94538)モジュラブレードプラットフォームを含む。他の実施形態では、本開示の特徴が実装されるマルチプロセッサコンピュータシステム110は、SGI(登録商標)Ultra Violet(登録商標)(Silicon Graphics,Inc.,46600 Landing Parkway,Fremont,CA94538)を含む。プラットフォームは、ノード120をいくつ含んでもよい。各ノード120は、プロセッサ150をいくつ含んでもよい。一実施形態によれば、ノード120ごとに約1個から約32個までの間のプロセッサ150がある。他の実施形態では、ノード120ごとに約4個から約8個までの間のプロセッサ150があり、より特定的にはノード120ごとに約4個のプロセッサ150がある。本明細書では特定のデータベース、アプリケーション、及びハードウェアに関連して様々な実施形態が説明されるが、本開示は様々な構成に適用可能であることを当業者は理解するであろう。
Claims (16)
- 複数のプロセッサ上でデータベース内の記録を処理する方法であって、前記複数のプロセッサは前記データベースに結合されており、各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化されており、
前記方法は、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別するステップと、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成するステップと、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付けるステップであって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、ステップと、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングするステップと、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行するステップであって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、ステップと、
前記複数のプロセッサセットの各プロセッサセットのためのロギングキャッシュ又は前記複数のプロセッサのための単一のロギングキャッシュを作成するステップと、
各ロギングキャッシュと関連付けられたプロセッサセットとの間のアフィニティを作成するステップと、
データベーストランザクションをログするように、各プロセッサセット内の単一のプロセッサを割り当てるステップと、
を備え、
各プロセッサセットが複数のプロセッサを備える、
方法。 - 複数のプロセッサ上でデータベース内の記録を処理する方法であって、前記複数のプロセッサは前記データベースに結合されており、各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化されており、
前記方法は、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別するステップと、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成するステップと、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付けるステップであって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、ステップと、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングするステップと、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行するステップであって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、ステップと、
複数のサーバプロセスを作成するステップであって、各サーバプロセスが前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられる、当該ステップと、
各サーバプロセスと前記関連付けられたプロセッサセットとの間のアフィニティを作成するステップと、
各サーバプロセスを1つの記録セットに関連付けるステップと、
を備え、
各サーバプロセスが、前記関連付けられた記録セット内の記録を処理する、
方法。 - 複数のプロセッサ上でデータベース内の記録を処理する方法であって、前記複数のプロセッサは前記データベースに結合されており、各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化されており、
前記方法は、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別するステップと、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成するステップと、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付けるステップであって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、ステップと、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングするステップと、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行するステップであって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、ステップと、
前記データベースを複数のサブデータベースに分割するステップと、
各サブデータベースを1つのプロセッサセットに関連付けるステップと、
1つのプロセッサセットに関連付けられた各サブデータベースのためのデータベースキャッシュを作成するステップと、
各データベースキャッシュと前記関連付けられたプロセッサセットとの間のアフィニティを作成するステップと、
を備える方法。 - 前記各記録を関連付けるステップは、
記録を、ネットワーク伝送を低減するために、関連付けられたプロセッサセットにローカルな記録セットに関連付けるサブステップ、
を含む、請求項1に記載の方法。 - 各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化され、データベース内の記録を処理するように構成されている複数のプロセッサを備える装置であって、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別し、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成し、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付け、ここで、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられており、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングし、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行し、ここで前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含み、
前記複数のプロセッサセットの各プロセッサセットのためのロギングキャッシュ又は前記複数のプロセッサのための単一のロギングキャッシュを作成し、
各ロギングキャッシュと関連付けられたプロセッサセットとの間のアフィニティを作成し、
データベーストランザクションをログするように、各プロセッサセット内の単一のプロセッサを割り当てる、
ように構成され、
各プロセッサセットが複数のプロセッサを備える、
装置。 - 各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化され、データベース内の記録を処理するように構成されている複数のプロセッサを備える装置であって、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別し、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成し、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付け、ここで、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられており、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングし、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行し、ここで前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含み、
各サーバプロセスが前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられる複数のサーバプロセスを作成し、
各サーバプロセスと前記関連付けられたプロセッサセットとの間のアフィニティを作成し、
各サーバプロセスを記録セットに関連付ける、
ように構成され、
各サーバプロセスが前記関連付けられた記録セット内の記録を処理する、
装置。 - 各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化され、データベース内の記録を処理するように構成されている複数のプロセッサを備える装置であって、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別し、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成し、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付け、ここで、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられており、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングし、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行し、ここで前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含み、
前記データベースを複数のサブデータベースに分割し、
各サブデータベースを1つのプロセッサセットに関連付け、
1つのプロセッサセットに関連付けられた各サブデータベースのためのデータキャッシュを作成し、
各データベースキャッシュと前記関連付けられたプロセッサセットとの間のアフィニティを作成する、
ように構成される装置。 - 前記装置は、
記録を、ネットワーク伝送を低減するために、関連付けられたプロセッサセットにローカルな記録セットに関連付ける、
ように、さらに構成される請求項5に記載の装置。 - コンピュータに、
データベース内の各記録について、1よりも大きい複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別する手順、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成する手順、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付ける手順であって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、手順、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングさせる手順、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行させる手順であって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、手順、
前記複数のプロセッサセットの各プロセッサセットのためのロギングキャッシュ又は前記複数のプロセッサのための単一のロギングキャッシュを作成させる手順、
各ロギングキャッシュと関連付けられたプロセッサセットとの間のアフィニティを作成させる手順、および、
データベーストランザクションをログするように各プロセッサセット内の単一のプロセッサを割り当てる手順、
を実行させることができるコード、を備え、
各プロセッサセットが複数のプロセッサを備える、
コンピュータ可読非一時的記憶媒体。 - コンピュータに、
データベース内の各記録について、1よりも大きい複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別する手順、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成する手順、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付ける手順であって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、手順、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングさせる手順、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行させる手順であって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、手順、
各サーバプロセスが前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられる複数のサーバプロセスを作成させる手順、
各サーバプロセスと前記関連付けられたプロセッサセットとの間のアフィニティを作成させる手順、および、
各サーバプロセスを1つの記録セットに関連付けさせる手順、
を実行させるように構成されるコード、を備え、
各サーバプロセスが、前記関連付けられた記録セット内の記録を処理する、
コンピュータ可読非一時的記憶媒体。 - コンピュータに、
データベース内の各記録について、1よりも大きい複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別する手順、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成する手順、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付ける手順であって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、手順、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングさせる手順、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行させる手順であって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、手順、
前記データベースを複数のサブデータベースに分割させる手順、
各サブデータベースを1つのプロセッサセットに関連付けさせる手順、
1つのプロセッサセットに関連付けられた各サブデータベースのためのデータベースキャッシュを作成させる手順、および、
各データベースキャッシュと前記関連付けられたプロセッサセットとの間のアフィニティを作成させる手順、
を実行させるように構成されるコード、を備える、
コンピュータ可読非一時的記憶媒体。 - 前記コンピュータ可読非一時的記憶媒体は、
コンピュータに、
記録を、ネットワーク伝送を低減するために、関連付けられたプロセッサセットにローカルな記録セットに関連付けさせる手順、
を実行させるように構成されるコード、をさらに備える請求項9に記載のコンピュータ可読非一時的記憶媒体。 - 複数のプロセッサセット上でデータベース内の記録を処理するためのシステムであって、前記複数のプロセッサは前記データベースに結合されており、各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化されており、
前記システムは、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別するための手段と、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成するための手段と、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付けるための手段であって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、手段と、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングするための手段と、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行するための手段であって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、手段と、
前記複数のプロセッサセットの各プロセッサセットのためのロギングキャッシュ又は前記複数のプロセッサのための単一のロギングキャッシュを作成するための手段と、
各ロギングキャッシュと関連付けられたプロセッサセットとの間のアフィニティを作成するための手段と、
データベーストランザクションをログするように各プロセッサセット内の単一のプロセッサを割り当てるための手段と、
を備え、
各プロセッサセットが複数のプロセッサを備える、
システム。 - 複数のプロセッサセット上でデータベース内の記録を処理するためのシステムであって、前記複数のプロセッサは前記データベースに結合されており、各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化されており、
前記システムは、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別するための手段と、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成するための手段と、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付けるための手段であって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、手段と、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングするための手段と、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行するための手段であって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、手段と、
複数のサーバプロセスを作成するための手段であって、各サーバプロセスが前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられる、手段と、
各サーバプロセスと前記関連付けられたプロセッサセットとの間のアフィニティを作成するための手段と、
各サーバプロセスを1つの記録セットに関連付ける手段と、
を備え、
各サーバプロセスが、前記関連付けられた記録セット内の記録を処理する、
システム。 - 複数のプロセッサセット上でデータベース内の記録を処理するためのシステムであって、前記複数のプロセッサは前記データベースに結合されており、各々が少なくとも1つのプロセッサを含む複数のプロセッサセットにグループ化されており、
前記システムは、
前記データベース内の各記録について、1よりも大きい前記複数のプロセッサセットの総数のすべての正の整数値について、前記複数のプロセッサのうちの少なくとも1つにより、
前記記録に関連付けられた記録数を識別するための手段と、
前記複数のプロセッサセットの前記総数による前記記録数の除算に基づく余りを生成するための手段と、
前記余りに基づいて前記記録を複数の記録セットのうちの1つの記録セットに関連付けるための手段であって、前記記録は前記余りに等しい識別子を有する前記記録セットに関連付けられており、前記複数の記録セットの各々が前記複数のプロセッサセットのうちの1つのプロセッサセットに関連付けられている、手段と、
前記記録を、前記関連付けられた記録セットに基づいて、各記録がそれに関連付けられたプロセッサセットに関してローカルに常駐するように、それぞれのプロセッサセットにルーティングするための手段と、
前記記録に対する1つ以上のデータベース動作を前記複数の関連付けられたプロセッサセットとともにローカルに実行するための手段であって、前記1つ以上のデータベース動作は、前記記録数を使用する探索処理を含む、手段と、
前記データベースを複数のサブデータベースに分割するための手段と、
各サブデータベースを1つのプロセッサセットに関連付けるための手段と、
1つのプロセッサセットに関連付けられた各サブデータベースのためのデータベースキャッシュを作成するための手段と、
各データベースキャッシュと前記関連付けられたプロセッサセットとの間のアフィニティを作成するための手段と、
を備えるシステム。 - 前記記録を関連付けるための手段が、
記録を、ネットワーク伝送を低減するために、関連付けられたプロセッサセットにローカルな記録セットに関連付けるための手段、を含む、請求項13に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39570410P | 2010-05-17 | 2010-05-17 | |
US61/395,704 | 2010-05-17 | ||
US13/083,396 US8935248B2 (en) | 2010-05-17 | 2011-04-08 | Localized data affinity system and hybrid method |
US13/083,396 | 2011-04-08 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016153868A Division JP6746425B2 (ja) | 2010-05-17 | 2016-08-04 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020056163A Division JP7013510B2 (ja) | 2010-05-17 | 2020-03-26 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018163701A JP2018163701A (ja) | 2018-10-18 |
JP6759285B2 true JP6759285B2 (ja) | 2020-09-23 |
Family
ID=44912655
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013511265A Pending JP2013526749A (ja) | 2010-05-17 | 2011-05-16 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
JP2016153868A Active JP6746425B2 (ja) | 2010-05-17 | 2016-08-04 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
JP2018132634A Active JP6759285B2 (ja) | 2010-05-17 | 2018-07-12 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
JP2020056163A Active JP7013510B2 (ja) | 2010-05-17 | 2020-03-26 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013511265A Pending JP2013526749A (ja) | 2010-05-17 | 2011-05-16 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
JP2016153868A Active JP6746425B2 (ja) | 2010-05-17 | 2016-08-04 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020056163A Active JP7013510B2 (ja) | 2010-05-17 | 2020-03-26 | ローカライズされたデータアフィニティシステム及びハイブリッド法 |
Country Status (7)
Country | Link |
---|---|
US (4) | US8935248B2 (ja) |
EP (1) | EP2572250A4 (ja) |
JP (4) | JP2013526749A (ja) |
CN (1) | CN103038718B (ja) |
AU (4) | AU2011256365B2 (ja) |
CA (3) | CA2799787C (ja) |
WO (1) | WO2011146409A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558119B2 (en) * | 2010-06-23 | 2017-01-31 | International Business Machines Corporation | Main memory operations in a symmetric multiprocessing computer |
US20150139250A1 (en) * | 2013-11-18 | 2015-05-21 | Pica8, Inc. | Synchronized network statistics collection |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11275721B2 (en) * | 2015-07-17 | 2022-03-15 | Sap Se | Adaptive table placement in NUMA architectures |
US20170235769A1 (en) | 2016-02-12 | 2017-08-17 | Nutanix, Inc. | Entity database schemas |
CN107291529B (zh) * | 2016-03-30 | 2020-09-11 | 华为技术有限公司 | 一种数据处理方法及装置 |
US11380376B2 (en) * | 2020-08-26 | 2022-07-05 | Micron Technology, Inc. | Apparatuses and methods to perform low latency access of a memory |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0522488B1 (en) * | 1991-07-10 | 2002-02-20 | Hitachi, Ltd. | Method of sorting on distributed database system and method of accessing thereto |
US5555404A (en) | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
JP3182224B2 (ja) * | 1992-09-03 | 2001-07-03 | 三洋電機株式会社 | 自動設計システム |
JP2583010B2 (ja) * | 1993-01-07 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法 |
JP3367140B2 (ja) * | 1993-04-28 | 2003-01-14 | 株式会社日立製作所 | データベース管理方法 |
US5721909A (en) * | 1994-03-30 | 1998-02-24 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US6424992B2 (en) | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US7024450B1 (en) | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
US6243788B1 (en) * | 1998-06-17 | 2001-06-05 | International Business Machines Corporation | Cache architecture to enable accurate cache sensitivity |
US6658522B1 (en) * | 2000-06-16 | 2003-12-02 | Emc Corporation | Method to reduce overhead associated with system I/O in a multiprocessor computer system |
US7296150B2 (en) * | 2000-10-23 | 2007-11-13 | Business-To-Investor, Inc. | Database management systems and methods of operating the same |
JP4183400B2 (ja) * | 2001-06-27 | 2008-11-19 | 株式会社日立製作所 | データベースシステムとデータベース管理方法およびプログラム |
JP4072418B2 (ja) * | 2002-10-29 | 2008-04-09 | キヤノン株式会社 | 情報入力システム、移動端末、移動端末における情報入力方法、情報サーバ、情報サーバが移動端末の入力操作を支援する方法、コンピュータプログラム |
US20040181524A1 (en) * | 2003-01-16 | 2004-09-16 | Jardin Cary A. | System and method for distributed processing in a node environment |
US7895191B2 (en) * | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
MXPA06009355A (es) * | 2004-02-21 | 2007-03-01 | Datallegro Inc | Base de datos paralela ultra - nada compartida. |
JP4581500B2 (ja) * | 2004-06-17 | 2010-11-17 | 株式会社日立製作所 | ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法 |
US7866548B2 (en) | 2004-12-01 | 2011-01-11 | Metavante Corporation | Account control method and system that allows only eligible and authorized items to be purchased using the account |
US7551617B2 (en) * | 2005-02-08 | 2009-06-23 | Cisco Technology, Inc. | Multi-threaded packet processing architecture with global packet memory, packet recirculation, and coprocessor |
JP2008533564A (ja) * | 2005-02-24 | 2008-08-21 | ゼラウンド システムズ リミテッド | データ管理のための方法および装置 |
US7661146B2 (en) * | 2005-07-01 | 2010-02-09 | Privamed, Inc. | Method and system for providing a secure multi-user portable database |
US7809769B2 (en) * | 2006-05-18 | 2010-10-05 | Google Inc. | Database partitioning by virtual partitions |
US20080071755A1 (en) | 2006-08-31 | 2008-03-20 | Barsness Eric L | Re-allocation of resources for query execution in partitions |
US7779045B2 (en) * | 2007-09-27 | 2010-08-17 | Microsoft Corporation | Lazy updates to indexes in a database |
US20090132469A1 (en) * | 2007-11-16 | 2009-05-21 | Urban Mapping, Inc. | Geocoding based on neighborhoods and other uniquely defined informal spaces or geographical regions |
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 |
US8131872B2 (en) | 2008-05-30 | 2012-03-06 | International Business Machines Corporation | Affinity-based transaction processing |
-
2011
- 2011-04-08 US US13/083,396 patent/US8935248B2/en active Active
- 2011-05-16 AU AU2011256365A patent/AU2011256365B2/en active Active
- 2011-05-16 CA CA2799787A patent/CA2799787C/en active Active
- 2011-05-16 JP JP2013511265A patent/JP2013526749A/ja active Pending
- 2011-05-16 WO PCT/US2011/036683 patent/WO2011146409A1/en active Application Filing
- 2011-05-16 CA CA3040364A patent/CA3040364A1/en not_active Abandoned
- 2011-05-16 CA CA3040363A patent/CA3040363C/en active Active
- 2011-05-16 EP EP11784046.2A patent/EP2572250A4/en not_active Ceased
- 2011-05-16 CN CN201180035260.7A patent/CN103038718B/zh active Active
-
2014
- 2014-11-26 US US14/555,443 patent/US9613129B2/en active Active
-
2015
- 2015-08-13 AU AU2015213359A patent/AU2015213359B2/en active Active
-
2016
- 2016-08-04 JP JP2016153868A patent/JP6746425B2/ja active Active
-
2017
- 2017-03-31 US US15/476,105 patent/US10509807B2/en active Active
- 2017-06-07 AU AU2017203845A patent/AU2017203845B2/en active Active
-
2018
- 2018-07-12 JP JP2018132634A patent/JP6759285B2/ja active Active
-
2019
- 2019-10-11 AU AU2019246894A patent/AU2019246894A1/en not_active Abandoned
- 2019-12-06 US US16/705,917 patent/US11113316B2/en active Active
-
2020
- 2020-03-26 JP JP2020056163A patent/JP7013510B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
AU2015213359B2 (en) | 2017-03-09 |
CA2799787C (en) | 2022-01-04 |
US11113316B2 (en) | 2021-09-07 |
CN103038718B (zh) | 2016-06-22 |
US20200110763A1 (en) | 2020-04-09 |
AU2011256365B2 (en) | 2015-05-14 |
WO2011146409A1 (en) | 2011-11-24 |
CN103038718A (zh) | 2013-04-10 |
JP2020115367A (ja) | 2020-07-30 |
CA3040363A1 (en) | 2011-11-24 |
US9613129B2 (en) | 2017-04-04 |
JP6746425B2 (ja) | 2020-08-26 |
AU2017203845B2 (en) | 2019-07-11 |
CA3040363C (en) | 2020-12-15 |
US10509807B2 (en) | 2019-12-17 |
CA2799787A1 (en) | 2011-11-24 |
AU2015213359A1 (en) | 2015-09-03 |
AU2011256365A1 (en) | 2012-12-20 |
US20150088893A1 (en) | 2015-03-26 |
JP2016212910A (ja) | 2016-12-15 |
AU2017203845A1 (en) | 2017-06-22 |
JP7013510B2 (ja) | 2022-01-31 |
EP2572250A1 (en) | 2013-03-27 |
JP2018163701A (ja) | 2018-10-18 |
JP2013526749A (ja) | 2013-06-24 |
US20170206246A1 (en) | 2017-07-20 |
EP2572250A4 (en) | 2015-10-28 |
AU2019246894A1 (en) | 2019-10-31 |
US8935248B2 (en) | 2015-01-13 |
US20110282875A1 (en) | 2011-11-17 |
CA3040364A1 (en) | 2011-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6759285B2 (ja) | ローカライズされたデータアフィニティシステム及びハイブリッド法 | |
US9454533B2 (en) | Reducing metadata in a write-anywhere storage system | |
US20180150364A1 (en) | Cached data replication for cache recovery | |
US20110099187A1 (en) | Method and System for Locating Update Operations in a Virtual Machine Disk Image | |
US9229869B1 (en) | Multi-lock caches | |
US20140181042A1 (en) | Information processor, distributed database system, and backup method | |
Elmeleegy et al. | Spongefiles: Mitigating data skew in mapreduce using distributed memory | |
US20060117074A1 (en) | Method and apparatus for database cluster recovery | |
KR101268437B1 (ko) | 다중 독립 프로세스에 의해 캐쉬 메모리의 일치성을유지하는 방법 및 시스템 | |
Li et al. | Multi-copy cuckoo hashing | |
US10606795B2 (en) | Methods for managing a buffer cache and devices thereof | |
US11474938B2 (en) | Data storage system with multiple-size object allocator for disk cache | |
US11487731B2 (en) | Read iterator for pre-fetching nodes of a B-tree into memory | |
Kalidhindi et al. | Angela: A sparse, distributed, and highly concurrent merkle tree | |
Mokhtari et al. | The SEPO Model of Computation to Enable Larger-Than-Memory Hash Tables for GPU-Accelerated Big Data Analytics | |
PGA et al. | The Memory Structures | |
US20080243522A1 (en) | Apparatus, system, and method for parallelizing access to shared assests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190628 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190918 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200512 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20200612 |
|
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: 20200804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6759285 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |