JP2016516246A - 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 - Google Patents
個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 Download PDFInfo
- Publication number
- JP2016516246A JP2016516246A JP2016502660A JP2016502660A JP2016516246A JP 2016516246 A JP2016516246 A JP 2016516246A JP 2016502660 A JP2016502660 A JP 2016502660A JP 2016502660 A JP2016502660 A JP 2016502660A JP 2016516246 A JP2016516246 A JP 2016516246A
- Authority
- JP
- Japan
- Prior art keywords
- entity
- global
- partition
- ids
- domain
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and 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/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
- 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/221—Column-oriented storage; Management thereof
-
- 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
-
- 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/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- 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/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Create Table LLA_TRX as
Select week,
StoreId,
Count(distinct CustId) as CD_CustId,
From Trx
Group By week, StoreId;
Create Table LLA_TRX_WEEK as
Select Week,
Count(distinct CD_CustId) as CD_CD_CustId,
From LLA_Trx
Group By Week;
Create Table LLA_TRX_WEEK as
Select Week,
Sum(distinct CD_CustId) as Sum_CD_CustId,
From LLA_Trx
Group By Week;
Create Table LLA_TRX as
Select Week,
StoreId,
Count(Additive_distinct CustId) as CD_CustId,
From Trx
Group By Week, StoreId;
Create Table LLA_TRX_WEEK as
Select Week,
Count(Distinct CD_CustId) as EMV_CD_CustId,
From LLA_Trx
Group By Week;
Create View V1 as
Select * from Partition1.TRX
Union All
Select * from Partition2.TRX
Union All
Select * from Partition3.TRX
Select Week, Sum(P_Spent) from (
Select Week, Sum(Spent) as P_Spent from Partition1.TRX group by Week
Union All
Select Week, Sum(Spent) as P_Spent from Partition2.TRX group by Week
Union All
Select Week, Sum(Spent) as P_Spent from Partition3.TRX group by Week
) T
Group By Week
Select Week, Count(Distinct CustId) from (
Select Week, CustId from Partition1.TRX group by Week, CustId
Union All
Select Week, CustId from Partition2.TRX group by Week, CustId
Union All
Select Week, CustId from Partition3.Trx group by Week, CustId
) T
Group By Week
Select Week, Count(Distinct CustId) from
(
Select Week, Count(Additive_distinct CustId) CustId from Partition1.TRX group by Week
Union All
Select Week, Count(Additive_distinct CustId) CustId from Partition2.TRX group by Week
Union All
Select Week, Count(Additive_distinct CustId) CustId from Partition3.Trx group by Week
) T
Group By Week
Claims (63)
- 一または複数の演算装置によって個別のデータ値に対して演算を効率良く行うための方法であって、前記方法は、
前記一または複数の演算装置の少なくとも一つによって、テーブル中にトークン化されたデータカラムを保存する工程であって、データカラムに対応するドメイン中の各固有データ値をエンティティIDにマッピングし、前記カラム中の前記データ値の各々を対応するエンティティIDと置き換えて、一または複数のエンティティIDを含むトークン化されたデータのカラムを生成することにより、前記トークン化されたデータカラムが作り出される工程と、
前記一または複数の演算装置の少なくとも一つによって、前記データカラムを宛先とした照会を受領する工程であって、前記照会は、前記照会に応答して検索されたデータをグループ化するための一または複数のグループセットを定義する工程と、
前記一または複数の演算装置の少なくとも一つによって、前記一または複数のグループセット中の各グループセットについてエンティティマップベクトルを生成する工程であって、各エンティティマップベクトルの長さは前記ドメインのエンティティIDの総数と等しく、各エンティティマップベクトル中の各ビットの値は、対応するグループセットにおける異なるエンティティIDの有無を示す工程と、
を含む、方法。 - 前記エンティティIDの各々と前記固有データ値との間でのマッピングがルックアップ辞書に保存される、請求項1に記載の方法。
- エンティティマップベクトル中のビットが「1」という値であれば前記グループセットにエンティティIDが有ることを示し、エンティティマップベクトル中のビットが「0」という値であれば前記グループセットにエンティティIDが無いことを示す、請求項1に記載の方法。
- グループセット中の個別のデータ値の数は、当該グループセットに対応するエンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項1に記載の方法。
- 前記一または複数のグループセットは少なくとも二つのグループセットを含み、前記方法は、
前記グループセットの二つ以上からのデータを集計して、合成グループセットにするためのコマンドを、前記一または複数の演算装置の少なくとも一つによって受領する工程と、
前記二つ以上のグループセットに対応するエンティティマップベクトルについて、前記一または複数の演算装置の少なくとも一つによって、ブールOR演算を行い、合成エンティティマップベクトルを生成する工程と、
をさらに含む、請求項1に記載の方法。 - 前記合成グループセット中の個別のデータ値の数は、前記合成エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項5に記載の方法。
- 前記テーブルはパーティション化され複数の演算ノードにわたって分散されており、前記データカラムはカラムパーティションのセットの中の第一カラムパーティションであり、前記ドメインはドメインパーティションのセットの中の第一ドメインパーティションであり、前記一または複数のエンティティIDは一または複数の第一パーティションエンティティIDであり、前記エンティティマップベクトルは一または複数の第一パーティションエンティティマップベクトルであり、
前記方法は、
前記一または複数の演算装置の少なくとも一つによって、前記第一ドメインパーティションを前記ドメインパーティションのセットの中の一または複数のその他のドメインパーティションと合成し、グローバルドメインを生成する工程と、
前記一または複数の演算装置の少なくとも一つによって、前記一または複数の固有データ値の各々をグローバルエンティティIDにマッピングすることにより、前記グローバルドメイン中の一または複数の前記固有データ値をトークン化し、一または複数のグローバルエンティティIDを生成する工程と
前記一または複数の演算装置の少なくとも一つによって、前記一または複数の第一パーティションエンティティIDの各々を、前記一または複数のグローバルエンティティID中の対応するグローバルエンティティIDに、共通の固有データ値を相互参照することによってマッピングする工程と、
一または複数の第一パーティションエンティティIDを一または複数のグローバルエンティティIDにマッピングする前記マッピングに基づいて、前記一または複数の演算装置の少なくとも一つによって、前記一または複数の第一パーティションエンティティマップベクトルの各々を一または複数のグローバルエンティティマップベクトルへ変える工程と、
をさらに含む、請求項1に記載の方法。 - 前記一または複数の演算装置の少なくとも一つによって、前記第一パーティションに対応する前記一または複数のグローバルエンティティマップベクトルと、第二パーティションに対応する一または複数の第二グローバルエンティティマップベクトルとに、ブールOR演算を行い、一または複数の合成グローバルエンティティマップベクトルを生成する工程をさらに含む、請求項7に記載の方法。
- 前記合成グローバルエンティティマップベクトルの各々の各ビットの値の合計は、前記第一パーティションと前記第二パーティションとにわたる当該グローバルエンティティマップベクトルに対応するあるグループセットの中の個別の要素の総数である、請求項8に記載の方法。
- 各パーティションについての前記グローバルエンティティマップベクトルは、グローバルデータキューブに保存され、前記グローバルデータキューブはエンティティマップベクトル次元、グループセット次元、およびパーティション次元を備える、請求項7に記載の方法。
- グループセットの数は、少なくとも部分的に、前記テーブル中の第二データカラム中の個別のデータ値の数によって決定される。請求項1に記載の方法。
- 前記テーブル中の一または複数の第二データカラムを参照して前記グループセットが定義される、請求項1に記載の方法。
- 一番目のエンティティIDが、それと遭遇した一番目の固有データ値にマッピングされるように、各エンティティIDは、前記固有データ値の出現の経時的順序で各固有データ値にマッピングされる、請求項1に記載の方法。
- 前記一または複数のエンティティIDは一または複数のグローバルエンティティIDであり、前記一または複数のエンティティマップベクトルは一または複数の既存のグローバルエンティティマップベクトルであり、前記方法は、
前記一または複数の演算装置の少なくとも一つによって、一または複数の新たなエンティティIDに対応する一または複数の新たなエンティティマップベクトル含む更新を受領する工程であって、前記新たなエンティティIDの各々は固有データ値に対応する、工程と、
前記一または複数の演算装置の少なくとも一つによって、前記ドメイン中にはまだ表れていない各固有データ値に、新たなグローバルエンティティIDを割り当てる工程と、
前記一または複数の演算装置の少なくとも一つによって、前記一または複数の新たなエンティティマップベクトルに対応する一または複数のグローバルエンティティマップベクトルを生成する工程であって、各グローバルエンティティマップベクトルの長さはグローバルエンティティIDの総数に等しく、各グローバルエンティティマップベクトルの各ビットの値は、対応するグループセット中における異なるグローバルエンティティIDの有無を示す、工程と、
をさらに含む、請求項13に記載の方法。 - 前記一または複数の演算装置の少なくとも一つによって、いくつかのゼロを前記既存のグローバルエンティティマップベクトルの各々の末尾に付加することにより、前記既存のグローバルエンティティマップベクトルを更新する工程であって、前記ゼロの数は、前記更新の中の、前記ドメイン中にはまだ表現されていなかった固有データ値の数と等しい、工程をさらに含む、請求項14に記載の方法。
- 一番目のエンティティIDが、前記固有データ値の前記語彙順の一番目である固有データ値にマッピングされるように、前記固有データ値の語彙順で各固有データ値に各エンティティIDがマッピングされる、請求項1に記載の方法。
- エンティティマップベクトル中の各ビットの数値位置はエンティティIDに対応し、前記グループセット中に前記エンティティIDが存在するかどうかをビットが表す、請求項1に記載の方法。
- トークン化されたデータカラムの保存は、照会を受領した後に行われる、請求項1に記載の方法。
- トークン化されたデータカラムの保存は、照会を受領する前に行われる、請求項1に記載の方法。
- 前記照会は、前記一または複数のグループセットの各々に関するsumコマンドを含み、前記方法は、
前記一または複数のグループセットの各々について、当該グループセットに対応する前記エンティティマップベクトル中に存在していると示されているエンティティIDに対応する前記固有データ値を、前記一または複数の演算装置の少なくとも一つによって合計する工程をさらに含む、請求項1に記載の方法。 - 前記照会は、前記一または複数のグループセットの各々に関するaverageコマンドを含み、前記方法は、
前記一または複数のグループセットの各々について、当該グループセットに対応する前記エンティティマップベクトル中に存在していると示されているエンティティIDに対応する前記固有データ値の平均値を、前記一または複数の演算装置の少なくとも一つによって求める工程をさらに含む、請求項1に記載の方法。 - 個別のデータ値に対して演算を効率良く行うための装置であって、前記装置は、
一または複数のプロセッサと、
前記一または複数のプロセッサの少なくとも一つと動作的に結合され、命令を保存する、一または複数のメモリとを備え、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
テーブル中にトークン化されたデータカラムを保存し、データカラムに対応するドメイン中の各固有データ値をエンティティIDにマッピングし、前記カラム中の前記データ値の各々を対応するエンティティIDと置き換えて、一または複数のエンティティIDを含むトークン化されたデータのカラムを生成することにより、前記トークン化されたデータカラムが作り出され、
前記データカラムを宛先とした照会を受領し、前記照会は、前記照会に応答して検索されたデータをグループ化するための一または複数のグループセットを定義し、
前記一または複数のグループセット中の各グループセットについてエンティティマップベクトルを生成し、各エンティティマップベクトルの長さは前記ドメインのエンティティIDの総数と等しく、各エンティティマップベクトル中の各ビットの値は対応するグループセットにおける異なるエンティティIDの有無を示す、
ようにさせる装置。 - 前記エンティティIDの各々と前記固有データ値との間でのマッピングがルックアップ辞書に保存される、請求項22に記載の装置。
- エンティティマップベクトル中のビットが「1」という値であれば前記グループセットにエンティティIDが有ることを示し、エンティティマップベクトル中のビットが「0」という値であれば前記グループセットにエンティティIDが無いことを示す、請求項22に記載の装置。
- グループセット中の個別のデータ値の数は、当該グループセットに対応する前記エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項22に記載の装置。
- 前記一または複数のグループセットは少なくとも二つのグループセットを含み、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記グループセットの二つ以上からのデータを集計して、合成グループセットにするためのコマンドを受領し、
前記二つ以上のグループセットに対応するエンティティマップベクトルについて、ブールOR演算を行い、合成エンティティマップベクトルを生成する、
ようにさせる、請求項22に記載の装置。 - 前記合成グループセット中の個別のデータ値の数は、前記合成エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項26に記載の装置。
- 前記テーブルはパーティション化され複数の演算ノードにわたって分散されており、前記データカラムはカラムパーティションのセットの中の第一カラムパーティションであり、前記ドメインはドメインパーティションのセットの中の第一ドメインパーティションであり、前記一または複数のエンティティIDは一または複数の第一パーティションエンティティIDであり、前記エンティティマップベクトルは一または複数の第一パーティションエンティティマップベクトルであって、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記第一ドメインパーティションを前記ドメインパーティションのセットの中の一または複数のその他のドメインパーティションと合成し、グローバルドメインを生成し、
前記一または複数の固有データ値の各々をグローバルエンティティIDにマッピングすることにより、前記グローバルドメイン中の一または複数の前記固有データ値をトークン化し、一または複数のグローバルエンティティIDを生成し、
前記一または複数の第一パーティションエンティティIDの各々を、前記一または複数のグローバルエンティティID中の対応するグローバルエンティティIDに、共通の固有データ値を相互参照することによってマッピングし、
一または複数の第一パーティションエンティティIDを一または複数のグローバルエンティティIDにマッピングする前記マッピングに基づいて、前記一または複数の第一パーティションエンティティマップベクトルの各々を一または複数のグローバルエンティティマップベクトルへ変える、
ようにさせる、請求項22に記載の装置。 - 前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記第一パーティションに対応する前記一または複数のグローバルエンティティマップベクトルと、第二パーティションに対応する一または複数の第二グローバルエンティティマップベクトルとに、ブールOR演算を行い、一または複数の合成グローバルエンティティマップベクトルを生成するようにさせる、
請求項28に記載の装置。 - 前記合成グローバルエンティティマップベクトルの各々の各ビットの値の合計は、前記第一パーティションと前記第二パーティションとにわたる当該グローバルエンティティマップベクトルに対応するあるグループセットの中の個別の要素の総数である、請求項29に記載の装置。
- 各パーティションについての前記グローバルエンティティマップベクトルは、グローバルデータキューブに保存され、前記グローバルデータキューブはエンティティマップベクトル次元、グループセット次元、およびパーティション次元を備える、請求項28に記載の装置。
- グループセットの数は、少なくとも部分的に、前記テーブル中の第二データカラム中の個別のデータ値の数によって決定される、請求項28に記載の装置。
- 前記テーブル中の一または複数の第二データカラムを参照して前記グループセットが定義される、請求項22に記載の装置。
- 一番目のエンティティIDが、それと遭遇した一番目の固有データ値にマッピングされるように、各エンティティIDは、前記固有データ値の出現の経時的順序で各固有データ値にマッピングされる、請求項22に記載の装置。
- 前記一または複数のエンティティIDは一または複数のグローバルエンティティIDであり、前記一または複数のエンティティマップベクトルは一または複数の既存のグローバルエンティティマップベクトルであって、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
一または複数の新たなエンティティIDに対応する一または複数の新たなエンティティマップベクトル含む更新を受領し、前記新たなエンティティIDの各々は固有データ値に対応し、
前記ドメイン中にはまだ表れていない各固有データ値に、新たなグローバルエンティティIDを割り当て、
前記一または複数の新たなエンティティマップベクトルに対応する一または複数のグローバルエンティティマップベクトルを生成し、各グローバルエンティティマップベクトルの長さはグローバルエンティティIDの総数に等しく、各グローバルエンティティマップベクトルの各ビットの値は、対応するグループセット中における異なるグローバルエンティティIDの有無を示す、
ようにさせる、請求項34に記載の装置。 - 前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
いくつかのゼロを前記既存のグローバルエンティティマップベクトルの各々の末尾に付加することにより、前記既存のグローバルエンティティマップベクトルを更新するようにさせ、前記ゼロの数は、前記更新の中の、前記ドメイン中にはまだ表現されていなかった固有データ値の数と等しい、
請求項35に記載の装置。 - 一番目のエンティティIDが前記固有データ値の前記語彙順の一番目である固有データ値にマッピングされるよう、前記固有データ値の語彙順で各固有データ値に各エンティティIDがマッピングされる、請求項22に記載の装置。
- 前記エンティティマップベクトル中の各ビットの数値位置はエンティティIDに対応し、前記グループセット中に前記エンティティIDが存在するかどうかをビットが表す、請求項22に記載の装置。
- トークン化されたデータカラムが、照会を受領した後に保存される、請求項22に記載の装置。
- トークン化されたデータカラムが、照会を受領する前に保存される、請求項22に記載の装置。
- 前記照会は、前記一または複数のグループセットの各々に関するsumコマンドを含み、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記一または複数のグループセットの各々について、当該グループセットに対応する前記エンティティマップベクトル中に存在していると示されているエンティティIDに対応する前記固有データ値を合計させる、
請求項22に記載の装置。 - 前記照会は、前記一または複数のグループセットの各々に関するaverageコマンドを含み、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記一または複数のグループセットの各々について、当該グループセットに対応する前記エンティティマップベクトル中に存在していると示されているエンティティIDに対応する前記固有データ値の平均値を求めさせる、
請求項22に記載の装置。 - コンピュータ可読命令を保存する少なくとも一つの非一時的なコンピュータ可読媒体であって、前記命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
テーブル中にトークン化されたデータカラムを保存し、データカラムに対応するドメイン中の各固有データ値をエンティティIDにマッピングし、前記カラム中の前記データ値の各々を対応するエンティティIDと置き換えて、一または複数のエンティティIDを含むトークン化されたデータのカラムを生成することにより、前記トークン化されたデータカラムが作り出され、
前記データカラムを宛先とした照会を受領し、前記照会は、前記照会に応答して検索されたデータをグループ化するための一または複数のグループセットを定義し、
前記一または複数のグループセット中の各グループセットについてエンティティマップベクトルを生成し、各エンティティマップベクトルの長さは前記ドメインのエンティティIDの総数と等しく、各エンティティマップベクトル中の各ビットの値は対応するグループセットにおける異なるエンティティIDの有無を示す、
ようにさせる、少なくとも一つの非一時的なコンピュータ可読媒体。 - 前記エンティティIDの各々と前記固有データ値との間でのマッピングがルックアップ辞書に保存される、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- エンティティマップベクトル中のビットが「1」という値であれば前記グループセットにエンティティIDが有ることを示し、エンティティマップベクトル中のビットが「0」という値であれば前記グループセットにエンティティIDが無いことを示す、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- グループセット中の個別のデータ値の数は、当該グループセットに対応するビットマップベクトルの前記ビットの各々の値の合計に等しい、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 前記一または複数のグループセットは少なくとも二つのグループセットを含み、前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、前記一または複数の演算装置によって実行される時に、前記一または複数の演算装置の少なくとも一つに、
前記グループセットの二つ以上からのデータを集計して、合成グループセットにするためのコマンドを受領し、
前記二つ以上のグループセットに対応するエンティティマップベクトルについて、ブールOR演算を行い、合成エンティティマップベクトルを生成する、
ようにさせる、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。 - 前記合成グループセット中の個別のデータ値の数は、前記合成エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項47に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 前記テーブルはパーティション化され複数の演算ノードにわたって分散されており、前記データカラムはカラムパーティションのセットの中の第一カラムパーティションであり、前記ドメインはドメインパーティションのセットの中の第一ドメインパーティションであり、前記一または複数のエンティティIDは一または複数の第一パーティションエンティティIDであり、前記エンティティマップベクトルは一または複数の第一パーティションエンティティマップベクトルであって、前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
前記第一ドメインパーティションを前記ドメインパーティションのセットの中の一または複数のその他のドメインパーティションと合成し、グローバルドメインを生成し、
前記一または複数の固有データ値の各々をグローバルエンティティIDにマッピングすることにより、前記グローバルドメイン中の一または複数の前記固有データ値をトークン化し、一または複数のグローバルエンティティIDを生成し、
前記一または複数の第一パーティションエンティティIDの各々を、前記一または複数のグローバルエンティティID中の対応するグローバルエンティティIDに、共通の固有データ値を相互参照することによってマッピングし、
一または複数の第一パーティションエンティティIDを一または複数のグローバルエンティティIDにマッピングする前記マッピングに基づいて、前記一または複数の第一パーティションエンティティマップベクトルの各々を一または複数のグローバルエンティティマップベクトルへ変える、
ようにさせる、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。 - 前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
前記第一パーティションに対応する前記一または複数のグローバルエンティティマップベクトルと、第二パーティションに対応する一または複数の第二グローバルエンティティマップベクトルとに、ブールOR演算を行い、一または複数の合成グローバルエンティティマップベクトルを生成させる、
請求項49に記載の少なくとも一つの非一時的なコンピュータ可読媒体。 - 前記合成グローバルエンティティマップベクトルの各々の各ビットの値の合計は、前記第一パーティションと前記第二パーティションとにわたる当該グローバルエンティティマップベクトルに対応するあるグループセットの中の個別の要素の総数である、請求項50に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 各パーティションについての前記グローバルエンティティマップベクトルは、グローバルデータキューブに保存され、前記グローバルデータキューブはエンティティマップベクトル次元、グループセット次元、およびパーティション次元を備える、請求項49に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- グループセットの数は、少なくとも部分的に、前記テーブル中の第二データカラム中の個別のデータ値の数によって決定される、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 前記テーブル中の一または複数の第二データカラムを参照して前記グループセットが定義される、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 一番目のエンティティIDが、それと遭遇した一番目の固有データ値にマッピングされるように、各エンティティIDは、前記固有データ値の出現の経時的順序で各固有データ値にマッピングされる、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 前記一または複数のエンティティIDは一または複数のグローバルエンティティIDであり、前記一または複数のエンティティマップベクトルは一または複数の既存のグローバルエンティティマップベクトルであって、前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
一または複数の新たなエンティティIDに対応する一または複数の新たなエンティティマップベクトル含む更新を受領し、前記新たなエンティティIDの各々は固有データ値に対応し、
前記ドメイン中にはまだ表現されていない各固有データ値に、新たなグローバルエンティティIDを割り当て、
前記一または複数の新たなエンティティマップベクトルに対応する一または複数のグローバルエンティティマップベクトルを生成し、各グローバルエンティティマップベクトルの長さはグローバルエンティティIDの総数に等しく、各グローバルエンティティマップベクトルの各ビットの値は、対応するグループセット中における異なるグローバルエンティティIDの有無を示す、
ようにさせる、請求項55に記載の少なくとも一つの非一時的なコンピュータ可読媒体。 - 前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
いくつかのゼロを前記既存のグローバルエンティティマップベクトルの各々の末尾に付加することにより、前記既存のグローバルエンティティマップベクトルを更新するようにさせ、前記ゼロの数は、前記更新の中の、前記ドメイン中にはまだ表れていなかった固有データ値の数と等しい、
請求項56に記載の少なくとも一つの非一時的なコンピュータ可読媒体。 - 一番目のエンティティIDが前記固有データ値の前記語彙順の一番目である前記固有データ値にマッピングされるように、前記固有データ値の語彙順で各固有データ値に各エンティティIDがマッピングされる、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 前記エンティティマップベクトル中の各ビットの数値位置はエンティティIDに対応し、前記グループセット中に前記エンティティIDが存在するかどうかをビットが表す、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- トークン化されたデータカラムが、照会を受領した後に保存される、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- トークン化されたデータカラムが、照会を受領する前に保存される、請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
- 前記照会は前記一または複数のグループセットの各々に関するsumコマンドを含み、前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
前記一または複数のグループセットの各々について、当該グループセットに対応する前記エンティティマップベクトル中に存在していると示されているエンティティIDに対応する前記固有データ値を合計させる、
請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。 - 前記照会は、前記一または複数のグループセットの各々に関するaverageコマンドを含み、前記少なくとも一つの非一時的なコンピュータ可読媒体はさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
前記一または複数のグループセットの各々について、当該グループセットに対応する前記エンティティマップベクトル中に存在していると示されているエンティティIDに対応する前記固有データ値の平均値を求めさせる、
請求項43に記載の少なくとも一つの非一時的なコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/835,590 US9218379B2 (en) | 2013-03-15 | 2013-03-15 | Method, apparatus, and computer-readable medium for efficiently performing operations on distinct data values |
US13/835,590 | 2013-03-15 | ||
PCT/US2014/027907 WO2014143791A1 (en) | 2013-03-15 | 2014-03-14 | Efficiently performing operations on distinct data values |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017153599A Division JP6258549B2 (ja) | 2013-03-15 | 2017-08-08 | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016516246A true JP2016516246A (ja) | 2016-06-02 |
JP2016516246A5 JP2016516246A5 (ja) | 2017-04-20 |
JP6192800B2 JP6192800B2 (ja) | 2017-09-06 |
Family
ID=51532934
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016502660A Active JP6192800B2 (ja) | 2013-03-15 | 2014-03-14 | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 |
JP2017153599A Active JP6258549B2 (ja) | 2013-03-15 | 2017-08-08 | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017153599A Active JP6258549B2 (ja) | 2013-03-15 | 2017-08-08 | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9218379B2 (ja) |
JP (2) | JP6192800B2 (ja) |
CA (1) | CA2906669C (ja) |
DE (1) | DE112014001361T5 (ja) |
GB (1) | GB2528405B (ja) |
WO (1) | WO2014143791A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218379B2 (en) * | 2013-03-15 | 2015-12-22 | Informatica Llc | Method, apparatus, and computer-readable medium for efficiently performing operations on distinct data values |
US9237006B2 (en) * | 2013-09-30 | 2016-01-12 | Protegrity Corporation | Table-connected tokenization |
US9229987B2 (en) | 2013-09-30 | 2016-01-05 | Protegrity Corporation | Mapping between tokenization domains |
US9705801B2 (en) * | 2013-10-07 | 2017-07-11 | Facebook, Inc. | Systems and methods for mapping and routing based on clustering |
US10353923B2 (en) * | 2014-04-24 | 2019-07-16 | Ebay Inc. | Hadoop OLAP engine |
US10078684B2 (en) | 2014-09-26 | 2018-09-18 | Oracle International Corporation | System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment |
US10380114B2 (en) | 2014-09-26 | 2019-08-13 | Oracle International Corporation | System and method for generating rowid range-based splits in a massively parallel or distributed database environment |
US10089357B2 (en) * | 2014-09-26 | 2018-10-02 | Oracle International Corporation | System and method for generating partition-based splits in a massively parallel or distributed database environment |
US10387421B2 (en) | 2014-09-26 | 2019-08-20 | Oracle International Corporation | System and method for generating size-based splits in a massively parallel or distributed database environment |
US10528596B2 (en) | 2014-09-26 | 2020-01-07 | Oracle International Corporation | System and method for consistent reads between tasks in a massively parallel or distributed database environment |
US10089377B2 (en) | 2014-09-26 | 2018-10-02 | Oracle International Corporation | System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment |
US10394818B2 (en) | 2014-09-26 | 2019-08-27 | Oracle International Corporation | System and method for dynamic database split generation in a massively parallel or distributed database environment |
US10180973B2 (en) | 2014-09-26 | 2019-01-15 | Oracle International Corporation | System and method for efficient connection management in a massively parallel or distributed database environment |
FR3031203B1 (fr) | 2014-12-24 | 2017-03-24 | Bull Sas | Methode d'ordonnancement de taches au niveau des noeuds d'un cluster informatique, ordonnanceur de taches et cluster associes |
US10810175B2 (en) | 2016-03-31 | 2020-10-20 | King.Com Ltd. | Storing segmented data |
WO2019010245A1 (en) * | 2017-07-03 | 2019-01-10 | Leadcrunch, Inc. | METHOD AND SYSTEM FOR CREATING AND UPDATING ENTITY VECTORS |
US11010363B2 (en) | 2018-04-05 | 2021-05-18 | Sap Se | Complementing existing tables while grouping tables in a distributed database |
US11003693B2 (en) * | 2018-04-05 | 2021-05-11 | Sap Se | Grouping tables with existing tables in a distributed database |
US11544294B2 (en) | 2020-12-10 | 2023-01-03 | Sap Se | Distributing tables in a distributed database using consolidated grouping sources |
US11914624B2 (en) * | 2020-12-10 | 2024-02-27 | Coupang Corp. | Systems and methods for managing connections in scalable clusters |
EP4016320A1 (en) * | 2020-12-21 | 2022-06-22 | Dassault Systèmes | A hybrid shadow paging for storing a database |
CN113742459B (zh) * | 2021-11-05 | 2022-03-04 | 北京世纪好未来教育科技有限公司 | 词汇展示方法、装置、电子设备及存储介质 |
US11954134B2 (en) * | 2021-12-08 | 2024-04-09 | Sap Se | Visualization of complex hierarchy data with interactive adjustments |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097544A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | データベース処理システム |
US6647372B1 (en) * | 1999-12-02 | 2003-11-11 | Forecourt Communications Group | Method and apparatus for using prior activities to improve the probability of completing transactions for a customer in a retail environment |
US7653605B1 (en) * | 2005-04-15 | 2010-01-26 | Science Applications International Corporation | Method of and apparatus for automated behavior prediction |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1338601C (en) | 1987-10-09 | 1996-09-17 | Douglas Wyche Caldwell | Relational database representation with relational database operation capability |
US5742806A (en) | 1994-01-31 | 1998-04-21 | Sun Microsystems, Inc. | Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system |
GB9604522D0 (en) | 1996-03-02 | 1996-05-01 | Univ Strathclyde | Databases |
US6507846B1 (en) | 1999-11-09 | 2003-01-14 | Joint Technology Corporation | Indexing databases for efficient relational querying |
US7178100B2 (en) | 2000-12-15 | 2007-02-13 | Call Charles G | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
US20030004971A1 (en) | 2001-06-29 | 2003-01-02 | Gong Wen G. | Automatic generation of data models and accompanying user interfaces |
US8694352B1 (en) * | 2003-04-22 | 2014-04-08 | Reflexis Systems, Inc. | System and method for providing handheld field force data gathering automation in a big box retail environment |
US7472107B2 (en) | 2003-06-23 | 2008-12-30 | Microsoft Corporation | Integrating horizontal partitioning into physical database design |
US7243110B2 (en) | 2004-02-20 | 2007-07-10 | Sand Technology Inc. | Searchable archive |
US7443295B2 (en) * | 2005-06-28 | 2008-10-28 | Media Cart Holdings, Inc. | Media enabled advertising shopping cart system |
US20070050379A1 (en) | 2005-08-25 | 2007-03-01 | International Business Machines Corporation | Highlighting entities in a display representation of a database query, results of a database query, and debug message of a database query to indicate associations |
CN101535990B (zh) | 2006-08-23 | 2013-05-29 | 创新解决方案公司 | 高效的搜索结果更新机制 |
US20080062944A1 (en) | 2006-09-08 | 2008-03-13 | Motorola, Inc. | Apparatus and Method For Automatic Repeat Request Signalling With Reduced Retransmission Indications in a Wireless VoIP Communication System |
US8204985B2 (en) | 2008-04-28 | 2012-06-19 | Alcatel Lucent | Probabilistic aggregation over distributed data streams |
EP2340476A4 (en) | 2008-09-05 | 2012-05-09 | Arcsight Inc | EFFECTIVE STORAGE OF LOG DATA WHILE SUPPORTING AN INTERROGATION |
US9218379B2 (en) * | 2013-03-15 | 2015-12-22 | Informatica Llc | Method, apparatus, and computer-readable medium for efficiently performing operations on distinct data values |
-
2013
- 2013-03-15 US US13/835,590 patent/US9218379B2/en active Active
-
2014
- 2014-03-14 JP JP2016502660A patent/JP6192800B2/ja active Active
- 2014-03-14 CA CA2906669A patent/CA2906669C/en active Active
- 2014-03-14 DE DE112014001361.7T patent/DE112014001361T5/de active Pending
- 2014-03-14 GB GB1517897.3A patent/GB2528405B/en active Active
- 2014-03-14 WO PCT/US2014/027907 patent/WO2014143791A1/en active Application Filing
-
2015
- 2015-11-16 US US14/942,418 patent/US9672272B2/en active Active
-
2017
- 2017-08-08 JP JP2017153599A patent/JP6258549B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097544A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | データベース処理システム |
US6647372B1 (en) * | 1999-12-02 | 2003-11-11 | Forecourt Communications Group | Method and apparatus for using prior activities to improve the probability of completing transactions for a customer in a retail environment |
US7653605B1 (en) * | 2005-04-15 | 2010-01-26 | Science Applications International Corporation | Method of and apparatus for automated behavior prediction |
Also Published As
Publication number | Publication date |
---|---|
GB2528405A (en) | 2016-01-20 |
DE112014001361T5 (de) | 2015-11-26 |
GB201517897D0 (en) | 2015-11-25 |
JP2017224331A (ja) | 2017-12-21 |
CA2906669A1 (en) | 2014-09-18 |
US20140279853A1 (en) | 2014-09-18 |
US9672272B2 (en) | 2017-06-06 |
US9218379B2 (en) | 2015-12-22 |
US20160070779A1 (en) | 2016-03-10 |
CA2906669C (en) | 2019-11-26 |
WO2014143791A1 (en) | 2014-09-18 |
GB2528405B (en) | 2021-06-23 |
JP6192800B2 (ja) | 2017-09-06 |
JP6258549B2 (ja) | 2018-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6258549B2 (ja) | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 | |
US11755575B2 (en) | Processing database queries using format conversion | |
US10120930B2 (en) | Identifying entity mappings across data assets | |
US9053160B2 (en) | Distributed, real-time online analytical processing (OLAP) | |
US9323815B2 (en) | Star and snowflake schemas in extract, transform, load processes | |
CN108228817A (zh) | 数据处理方法、装置和系统 | |
US11720543B2 (en) | Enforcing path consistency in graph database path query evaluation | |
US20180357278A1 (en) | Processing aggregate queries in a graph database | |
AU2018282315B2 (en) | Relation aware aggregation (RAA) on normalized datasets | |
CN111414410B (zh) | 数据处理方法、装置、设备和存储介质 | |
US9606997B2 (en) | Inferred operations for data analysis | |
JP2005018778A (ja) | ディメンジョン属性およびディメンジョン当たり複数の階層を使用するオンライン分析処理のためのシステムおよび方法 | |
US20190303478A1 (en) | Path query evaluation in graph databases | |
CN104050264A (zh) | 一种生成sql语句的方法和装置 | |
US10558652B2 (en) | Merging multiproviders in a database calculation scenario | |
US20230066110A1 (en) | Creating virtualized data assets using existing definitions of etl/elt jobs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170314 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170314 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170314 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170628 |
|
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: 20170711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6192800 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |