JP6258549B2 - 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 - Google Patents
個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 Download PDFInfo
- Publication number
- JP6258549B2 JP6258549B2 JP2017153599A JP2017153599A JP6258549B2 JP 6258549 B2 JP6258549 B2 JP 6258549B2 JP 2017153599 A JP2017153599 A JP 2017153599A JP 2017153599 A JP2017153599 A JP 2017153599A JP 6258549 B2 JP6258549 B2 JP 6258549B2
- Authority
- JP
- Japan
- Prior art keywords
- entity map
- group
- domain
- global
- values
- 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
- 238000000034 method Methods 0.000 title claims description 72
- 238000005192 partition Methods 0.000 claims description 117
- 239000013598 vector Substances 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 41
- 239000002131 composite material Substances 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 11
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 17
- 230000004044 response Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 26
- 238000013507 mapping Methods 0.000 description 23
- 239000000654 additive Substances 0.000 description 15
- 230000000996 additive effect Effects 0.000 description 15
- 230000002776 aggregation Effects 0.000 description 14
- 238000004220 aggregation Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 241000710160 Eggplant mosaic virus Species 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 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/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)
- Software Systems (AREA)
- Computational Linguistics (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)
Description
Select week,
StoreId,
Count(distinct CustId) as CD_CustId,
From Trx
Group By week, StoreId;
この定義は、各週に各店舗に来店した個別の客に対応する値を、カラムCD_CustIdに割り当てる。さらに、「group-by」コマンドは、週-店舗IDのペアに対応するグループセットを作る。例えば、グループセット1(週1、店舗1)、グループセット2(週1、店舗2)などである。グループセットの構成や数はどんなものでもよい。例えば、グループセットは、一つのカラム、または二つ以上のカラムに基づいていてもよい。
Select Week,
Count(distinct CD_CustId) as CD_CD_CustId,
From LLA_Trx
Group By Week;
図4Bのテーブル410に図示される、結果として得られたテーブルの一覧では、各週に店舗のいずれかに来店した個別の客の数が不正確となるだろう。同様に、テーブルLLA_TRXを集計するためにSUM関数が用いられるとする。
Select Week,
Sum(distinct CD_CustId) as Sum_CD_CustId,
From LLA_Trx
Group By Week;
すると、図4Cに図示される、結果として得られたテーブルの一覧でもまた、各週に店舗のいずれかに来店した個別の客の数が不正確になるだろう。例えば、週2の個別の客の数は、図3Cのテーブル320に基づくと4であり(客ID1,2,3および4)、図4Bのテーブル410の一覧では2であり、図4Cのテーブル420の一覧では5である。
Select Week,
StoreId,
Count(Additive_distinct CustId) as CD_CustId,
From Trx
Group By Week, StoreId;
図5Aは、前記の結果得られるLLA_TRXテーブル500を示す。LLA_TRXテーブルのように、各グループセットに対応しているタプルID501、週502、および店舗ID503が保存される。ただし、個別の客のカウントを数字で保存するのではなく、各ビットが異なるEIDを参照し、ビットの値がグループセット中のEIDの有無を示すEMVに、各グループセットについての個別の客が保存される。
Select Week,
Count(Distinct CD_CustId) as EMV_CD_CustId,
From LLA_Trx
Group By Week;
図6Aを参照すると、店舗にまたがるビットベクトルを集計し、週でグループ化するプロセスが示されている。ステップ601A、601B、および601Cにおいて、集計されなければならないグループセットの各々が、各週について判断される。例えば、週1について合成すべきグループセットは、週1、店舗1と、週1、店舗2のグループセットに対応する客IDである。週2について合成すべきグループセットは、週2、店舗1と、週2、店舗2と、週2、店舗3のグループセットに対応する客IDである。週3について合成すべきグループセットは、週3、店舗1と、週3、店舗3のグループセットに対応する客IDである。
Create View V1 as
Select * from Partition1.TRX
Union All
Select * from Partition2.TRX
Union All
Select * from Partition3.TRX
テーブルのパーティション化は、要求の効率的な分散並列処理を可能にするが、非加法集計関数は例外である。例えば、図3Aのテーブル300と同様のTRXという名の取引テーブルの元の照会が、「Select Week, Sum(Spent) from TRX group by Week(週を選択、週によるTRXグループからの(出費額)を合計)」であるが、テーブルが3つのパーティションに分散されていれば、照会は、分散された要求に変形することができる。
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, Sum(Spent) as P_Spent from Partition1.TRX group by Week(週を選択、週によるパーティション1.TRXグループからのP_Spentとして(出費額)を合計)」のような、各照会セグメントが独立して実行でき、その中間結果セットをまとめて付加して最後に再処理し、最終的な照会結果を作成できる。
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
分散された要求はこの場合、各パーティションから固有のCustIdの一覧を保存するが、膨大なデータをパーティションの各々の間で交換し、その後処理するよう命ずることがありうる。例えば、第一週についての第一パーティション中のCustId(客ID)の一覧を、第一週についての第二パーティション中のCustId(客ID)の一覧と比較し、重複が無いか判断しなければならないだろう。その結果、かかる分散された要求は、要求実行プロセスに支障をきたす。
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
図7Aは、開示された実施形態にかかる、この分散された要求を処理するステップを示す。3つの第一ステップ701は、パーティションの各々に対して平行して行うことができ、各パーティションに適用される図2Aに示されるEMV生成ステップと同様である。もちろん、これらステップは平行して行われなくてもよく、なんらかの適した順序で行える。前記3つの第一ステップ701がパーティションの各々について実行され、その結果、各パーティションに一つずつ、計3つのEMVセットが得られ、EMVの各桁はローカルパーティションEIDを参照している。例えば、図8Aは、3つのパーティションに対応して、3つの仮想EIDマッピングテーブル801A、801B、および801Cと共に、3つの仮想EMVセット802A、802B、および802Cを、パーティションの各々にある固有データ値の各々について示している。マッピングテーブル801A〜801C中のEIDはすべて異なる固有データ値に対応しているので、また、各パーティション中のEIDの数が様々であるので、EMVの長さも、EMVセット802A〜802C中の各EMVのビットの意味も、様々である。その結果、EMVセット802A〜802Cは、このままではunion演算子によって合成することができない。
Claims (31)
- 一または複数の演算装置によって個別のデータ値に対して演算を効率良く行うための方法であって、前記方法は、
前記一または複数の演算装置の少なくとも一つが、テーブル内のデータカラムを宛先とした照会を受領する工程であって、前記データカラムはデータベースのドメインに対応し、前記照会は、前記照会に応答して検索されたデータをグループ化するための一または複数のグループセットを定義し、前記一または複数のグループセットのそれぞれのグループは、前記データベースの一または複数の他のドメインに関連付けられた一または複数の値の固有のグループに対応している、工程と、
前記一または複数の演算装置の少なくとも一つが、前記テーブルにおいて前記グループセットに対応する一または複数の値の固有のグループを含む列に存在する前記データカラム内のいずれかの値を特定することにより、前記一または複数のグループセット中の各グループセットについてエンティティマップベクトルを生成する工程であって、各エンティティマップベクトルの長さは前記データカラムに対応する前記ドメイン内の固有データ値の数と等しく、各エンティティマップベクトル内の各ビット位置は、固有データ値が語彙順に配列された一覧中の対応する固有データ値の語彙順位置に対応し、各エンティティマップベクトル中の各ビットの値は、前記グループセットにおける対応する固有データ値の有無を示す工程と、
を含む、方法。 - エンティティマップベクトル中のビットが「1」という値であれば前記グループセットに固有データ値が有ることを示し、エンティティマップベクトル中のビットが「0」という値であれば前記グループセットに固有データ値が無いことを示す、請求項1に記載の方法。
- グループセット中の個別のデータ値の数は、当該グループセットに対応するエンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項1に記載の方法。
- 前記一または複数のグループセットは少なくとも二つのグループセットを含み、前記方法は、
前記グループセットの二つ以上からのデータを集計して、合成グループセットにするためのコマンドを、前記一または複数の演算装置の少なくとも一つが受領する工程と、
前記二つ以上のグループセットに対応するエンティティマップベクトルについて、前記一または複数の演算装置の少なくとも一つが、ブールOR演算を行い、合成エンティティマップベクトルを生成する工程と、
をさらに含む、請求項1に記載の方法。 - 前記合成グループセット中の個別のデータ値の数は、前記合成エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項4に記載の方法。
- 前記テーブルはパーティション化され複数の演算ノードにわたって分散されており、前記データカラムはカラムパーティションのセットの中の第一カラムパーティションであり、前記ドメインはドメインパーティションのセットの中の第一ドメインパーティションであり、前記一または複数のエンティティマップベクトルは一または複数の第一パーティションエンティティマップベクトルであり、
前記方法は、
前記一または複数の演算装置の少なくとも一つが、前記第一ドメインパーティションを前記ドメインパーティションのセットの中の一または複数のその他のドメインパーティションと合成し、グローバルドメインを生成する工程と、
前記一または複数の演算装置の少なくとも一つが、前記一または複数の第一パーティションエンティティマップベクトルに対応する一または複数のグローバルエンティティマップベクトルを生成する工程であって、各グローバルエンティティマップベクトルの長さは前記グローバルドメインにおける固有データ値の数に等しく、前記グローバルエンティティマップベクトルにおける各ビット位置は、前記グローバルドメイン内の固有データ値が語彙順に配列された一覧中の対応する固有データ値の語彙順位置に対応し、前記エンティティマップベクトル内の各ビットの値は、前記グループセットにおける対応する固有データ値の有無を示す、工程と、
をさらに含む、請求項1に記載の方法。 - 前記一または複数の演算装置の少なくとも一つが、前記第一パーティションに対応する前記一または複数のグローバルエンティティマップベクトルと、第二パーティションに対応する一または複数の第二グローバルエンティティマップベクトルとに、ブールOR演算を行い、一または複数の合成グローバルエンティティマップベクトルを生成する工程をさらに含む、請求項6に記載の方法。
- 前記合成グローバルエンティティマップベクトルの各々の各ビットの値の合計は、前記第一パーティションと前記第二パーティションとにわたる当該グローバルエンティティマップベクトルに対応するあるグループセットの中の個別の要素の総数である、請求項7に記載の方法。
- グループセットの数は、少なくとも部分的に、前記テーブル中の第二データカラム中の個別のデータ値の数によって決定される。請求項1に記載の方法。
- 前記テーブル中の一または複数の第二データカラムを参照して前記グループセットが定義される、請求項1に記載の方法。
- 個別のデータ値に対して演算を効率良く行うための装置であって、前記装置は、
一または複数のプロセッサと、
前記一または複数のプロセッサの少なくとも一つと動作的に結合され、命令を保存する、一または複数のメモリとを備え、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
テーブル内のデータカラムを宛先とした照会を受領し、前記データカラムはデータベースのドメインに対応し、前記照会は、前記照会に応答して検索されたデータをグループ化するための一または複数のグループセットを定義し、前記一または複数のグループセットのそれぞれのグループは、前記データベースの一または複数の他のドメインに関連付けられた一または複数の値の固有のグループに対応し、
前記テーブルにおいて前記グループセットに対応する一または複数の値の固有のグループを含む列に存在するデータカラム内のいずれかの値を特定することにより、前記一または複数のグループセット中の各グループセットについてエンティティマップベクトルを生成し、各エンティティマップベクトルの長さは前記データカラムに対応する前記ドメイン内の固有データ値の数と等しく、各エンティティマップベクトル中の各ビットの位置は、前記固有データ値が語彙順に配列された一覧中の対応する固有データ値の語彙順位置に対応し、各エンティティマップベクトル中の各ビットの値は、前記グループセットにおける対応する固有データ値の有無を示す、
ようにさせる装置。 - エンティティマップベクトル中のビットが「1」という値であれば前記グループセットに固有データ値が有ることを示し、エンティティマップベクトル中のビットが「0」という値であれば前記グループセットに固有データ値が無いことを示す、請求項11に記載の装置。
- グループセット中の個別のデータ値の数は、当該グループセットに対応する前記エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項11に記載の装置。
- 前記一または複数のグループセットは複数のグループセットを含み、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記グループセットの二つ以上からのデータを集計して、合成グループセットにするためのコマンドを受領し、
前記二つ以上のグループセットに対応するエンティティマップベクトルについて、ブールOR演算を行い、合成エンティティマップベクトルを生成する、
ようにさせる、請求項11に記載の装置。 - 前記合成グループセット中の個別のデータ値の数は、前記合成エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項14に記載の装置。
- 前記テーブルはパーティション化され複数の演算ノードにわたって分散されており、前記データカラムはカラムパーティションのセットの中の第一カラムパーティションであり、前記ドメインはドメインパーティションのセットの中の第一ドメインパーティションであり、前記一または複数のエンティティマップベクトルは一または複数の第一パーティションエンティティマップベクトルであって、前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記第一ドメインパーティションを前記ドメインパーティションのセットの中の一または複数のその他のドメインパーティションと合成し、グローバルドメインを生成し、
前記一または複数の第一パーティションエンティティマップベクトルに対応する一または複数のグローバルエンティティマップベクトルを生成し、
各グローバルエンティティマップベクトルの長さは前記グローバルドメイン内の固有データ値の数に等しく、前記グローバルエンティティマップベクトル中の各ビットの位置は、前記グローバルドメイン中の前記固有データ値が語彙順に配列された一覧中の対応する固有データ値の語彙順位置に対応し、前記エンティティマップベクトルの各ビットの値は、前記グループセット中における対応する固有データ値の有無を示す、
ようにさせる、請求項11に記載の装置。 - 前記一または複数のメモリはさらに命令を保存し、前記命令は、前記一または複数のプロセッサの少なくとも一つによって実行される時に、前記一または複数のプロセッサの少なくとも一つに、
前記第一パーティションに対応する前記一または複数のグローバルエンティティマップベクトルと、第二パーティションに対応する一または複数の第二グローバルエンティティマップベクトルとに、ブールOR演算を行い、一または複数の合成グローバルエンティティマップベクトルを生成するようにさせる、
請求項16に記載の装置。 - 前記合成グローバルエンティティマップベクトルの各々の各ビットの値の合計は、前記第一パーティションと前記第二パーティションとにわたる当該グローバルエンティティマップベクトルに対応するあるグループセットの中の個別の要素の総数である、請求項17に記載の装置。
- グループセットの数は、少なくとも部分的に、前記テーブル中の第二データカラム中の個別のデータ値の数によって決定される、請求項11に記載の装置。
- 前記テーブル中の一または複数の第二データカラムを参照して前記グループセットが定義される、請求項11に記載の装置。
- コンピュータ可読命令を含むコンピュータプログラムであって、前記命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
テーブル内のデータカラムを宛先とした照会を受領し、前記データカラムはデータベースのドメインに対応し、前記照会は、前記照会に応答して検索されたデータをグループ化するための一または複数のグループセットを定義し、前記一または複数のグループセットのそれぞれのグループは、前記データベースの一または複数の他のドメインに関連付けられた一または複数の値の固有のグループに対応し、
前記テーブルにおいて前記グループセットに対応する一または複数の値の固有のグループを含む列に存在する前記データカラム内のいずれかの値を特定することにより、前記一または複数のグループセット中の各グループセットについてエンティティマップベクトルを生成し、各エンティティマップベクトルの長さは前記データカラムに対応する前記ドメイン内の固有データ値の数と等しく、各エンティティマップベクトル内の各ビット位置は、固有データ値が語彙順に配列された一覧中の対応する固有データ値の語彙順位置に対応し、各エンティティマップベクトル中の各ビットの値は、前記グループセットにおける対応する固有データ値の有無を示す、
ようにさせる、コンピュータプログラム。 - エンティティマップベクトル中のビットが「1」という値であれば前記グループセットに固有データ値が有ることを示し、エンティティマップベクトル中のビットが「0」という値であれば前記グループセットに固有データ値が無いことを示す、請求項21に記載のコンピュータプログラム。
- グループセット中の個別のデータ値の数は、当該グループセットに対応するビットマップベクトルの前記ビットの各々の値の合計に等しい、請求項21に記載のコンピュータプログラム。
- 前記一または複数のグループセットは複数のグループセットを含み、前記コンピュータプログラムはさらに追加の命令を含み、前記追加の命令は、前記一または複数の演算装置によって実行される時に、前記一または複数の演算装置の少なくとも一つに、
前記グループセットの二つ以上からのデータを集計して、合成グループセットにするためのコマンドを受領し、
前記二つ以上のグループセットに対応するエンティティマップベクトルについて、ブールOR演算を行い、合成エンティティマップベクトルを生成する、
ようにさせる、請求項21に記載のコンピュータプログラム。 - 前記合成グループセット中の個別のデータ値の数は、前記合成エンティティマップベクトルの前記ビットの各々の値の合計に等しい、請求項24に記載のコンピュータプログラム。
- 前記テーブルはパーティション化され複数の演算ノードにわたって分散されており、前記データカラムはカラムパーティションのセットの中の第一カラムパーティションであり、前記ドメインはドメインパーティションのセットの中の第一ドメインパーティションであり、前記一または複数のエンティティマップベクトルは一または複数の第一パーティションエンティティマップベクトルであって、前記コンピュータプログラムはさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
前記第一ドメインパーティションを前記ドメインパーティションのセットの中の一または複数のその他のドメインパーティションと合成し、グローバルドメインを生成し、
前記一または複数の第一パーティションエンティティマップベクトルに対応する一または複数のグローバルエンティティマップベクトルを生成し、
各グローバルエンティティマップベクトルの長さは前記グローバルドメイン内の固有データ値の数に等しく、前記グローバルエンティティマップベクトル中の各ビットの位置は、前記グローバルドメイン中の前記固有データ値が語彙順に配列された一覧中の対応する固有データ値の語彙順位置に対応し、前記エンティティマップベクトルの各ビットの値は、前記グループセット中における対応する固有データ値の有無を示す、
ようにさせる、請求項21に記載のコンピュータプログラム。 - 前記コンピュータプログラムはさらに追加の命令を含み、前記追加の命令は、一または複数の演算装置によって実行される時に前記一または複数の演算装置の少なくとも一つに、
前記第一パーティションに対応する前記一または複数のグローバルエンティティマップベクトルと、第二パーティションに対応する一または複数の第二グローバルエンティティマップベクトルとに、ブールOR演算を行い、一または複数の合成グローバルエンティティマップベクトルを生成させる、請求項26に記載のコンピュータプログラム。 - 前記合成グローバルエンティティマップベクトルの各々の各ビットの値の合計は、前記第一パーティションと前記第二パーティションとにわたる当該グローバルエンティティマップベクトルに対応するあるグループセットの中の個別の要素の総数である、請求項27に記載のコンピュータプログラム。
- グループセットの数は、少なくとも部分的に、前記テーブル中の第二データカラム中の個別のデータ値の数によって決定される、請求項21に記載のコンピュータプログラム。
- 前記テーブル中の一または複数の第二データカラムを参照して前記グループセットが定義される、請求項21に記載のコンピュータプログラム。
- 請求項21〜30のいずれか一項に記載のコンピュータプログラムを記録した、コンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/835,590 | 2013-03-15 | ||
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 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016502660A Division JP6192800B2 (ja) | 2013-03-15 | 2014-03-14 | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017224331A JP2017224331A (ja) | 2017-12-21 |
JP6258549B2 true JP6258549B2 (ja) | 2018-01-10 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016502660A Active JP6192800B2 (ja) | 2013-03-15 | 2014-03-14 | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 |
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 |
US9229987B2 (en) | 2013-09-30 | 2016-01-05 | Protegrity Corporation | Mapping between tokenization domains |
US9237006B2 (en) | 2013-09-30 | 2016-01-12 | Protegrity Corporation | Table-connected tokenization |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU632267B2 (en) | 1987-10-09 | 1992-12-24 | Nucleus International Corporation | A 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 |
JP3584630B2 (ja) * | 1996-09-20 | 2004-11-04 | 株式会社日立製作所 | データベース処理システムにおける分類集計処理方法 |
US6507846B1 (en) | 1999-11-09 | 2003-01-14 | Joint Technology Corporation | Indexing databases for efficient relational querying |
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 |
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 |
US7653605B1 (en) * | 2005-04-15 | 2010-01-26 | Science Applications International Corporation | Method of and apparatus for automated behavior prediction |
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 |
EP2062168A4 (en) | 2006-08-23 | 2010-03-31 | Innovative Solutions Inc | EFFECTIVE MECHANISM OF RESEARCH RESULT UPDATE |
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 |
US9166989B2 (en) | 2006-12-28 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Storing log data efficiently while supporting querying |
US8204985B2 (en) | 2008-04-28 | 2012-06-19 | Alcatel Lucent | Probabilistic aggregation over distributed data streams |
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 WO PCT/US2014/027907 patent/WO2014143791A1/en active Application Filing
- 2014-03-14 GB GB1517897.3A patent/GB2528405B/en active Active
- 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
-
2015
- 2015-11-16 US US14/942,418 patent/US9672272B2/en active Active
-
2017
- 2017-08-08 JP JP2017153599A patent/JP6258549B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6192800B2 (ja) | 2017-09-06 |
GB2528405B (en) | 2021-06-23 |
GB2528405A (en) | 2016-01-20 |
US20140279853A1 (en) | 2014-09-18 |
GB201517897D0 (en) | 2015-11-25 |
JP2016516246A (ja) | 2016-06-02 |
US9672272B2 (en) | 2017-06-06 |
US20160070779A1 (en) | 2016-03-10 |
JP2017224331A (ja) | 2017-12-21 |
WO2014143791A1 (en) | 2014-09-18 |
DE112014001361T5 (de) | 2015-11-26 |
CA2906669C (en) | 2019-11-26 |
US9218379B2 (en) | 2015-12-22 |
CA2906669A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6258549B2 (ja) | 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体 | |
US10963477B2 (en) | Declarative specification of visualization queries | |
US10120930B2 (en) | Identifying entity mappings across data assets | |
US10127278B2 (en) | Processing database queries using format conversion | |
US9053160B2 (en) | Distributed, real-time online analytical processing (OLAP) | |
US9898469B1 (en) | Parallel streaming of external data | |
US20180144061A1 (en) | Edge store designs for graph databases | |
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) | 数据处理方法、装置、设备和存储介质 | |
JP2008537827A (ja) | 階層データベースのリレーショナル・クエリ | |
US9489386B2 (en) | Inferred operations for data analysis | |
US9679012B1 (en) | Parallel streaming of external data | |
JP6670097B2 (ja) | 関係型データベース表の列横断的検索 | |
JP2005018778A (ja) | ディメンジョン属性およびディメンジョン当たり複数の階層を使用するオンライン分析処理のためのシステムおよび方法 | |
US20190303478A1 (en) | Path query evaluation in graph databases | |
US20180144060A1 (en) | Processing deleted edges in graph databases | |
US10558652B2 (en) | Merging multiproviders in a database calculation scenario | |
CN104050264A (zh) | 一种生成sql语句的方法和装置 | |
US20230066110A1 (en) | Creating virtualized data assets using existing definitions of etl/elt jobs | |
CN115733787A (zh) | 一种网络识别方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171030 |
|
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: 20171107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6258549 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 |