-
公开(公告)号:US20190095486A1
公开(公告)日:2019-03-28
申请号:US15918132
申请日:2018-03-12
Applicant: Oracle International Corporation
Inventor: Albert Hopeman, IV , Ekrem S.C. Soylemez , Martin Roth
IPC: G06F17/30
CPC classification number: G06F16/24537 , G06F16/2264 , G06F16/2282 , G06F16/24544 , G06F16/2456 , G06F16/283
Abstract: Techniques related to group determination based on multi-table dictionary codes are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method comprises storing a fact table and a dimension table that share a domain dictionary. The fact table and the dimension table each have a column of encoded join keys that is decodable using the shared domain dictionary. A query may specify one or more row groups for the dimension table. To efficiently process the query, one or more group identifiers are assigned to the one or more row groups. Each row group corresponds to a different group identifier. This enables a code-to-group-identifier mapping to be generated. The code-to-group-identifier mapping correlates the encoded join keys to the one or more group identifiers.
-
公开(公告)号:US10810198B2
公开(公告)日:2020-10-20
申请号:US15918132
申请日:2018-03-12
Applicant: Oracle International Corporation
Inventor: Albert Hopeman, IV , Ekrem S. C. Soylemez , Martin Roth
IPC: G06F16/00 , G06F16/2453 , G06F16/28 , G06F16/22 , G06F16/2455
Abstract: Techniques related to group determination based on multi-table dictionary codes are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method comprises storing a fact table and a dimension table that share a domain dictionary. The fact table and the dimension table each have a column of encoded join keys that is decodable using the shared domain dictionary. A query may specify one or more row groups for the dimension table. To efficiently process the query, one or more group identifiers are assigned to the one or more row groups. Each row group corresponds to a different group identifier. This enables a code-to-group-identifier mapping to be generated. The code-to-group-identifier mapping correlates the encoded join keys to the one or more group identifiers.
-
公开(公告)号:US10558659B2
公开(公告)日:2020-02-11
申请号:US15268521
申请日:2016-09-16
Applicant: Oracle International Corporation
Inventor: Albert Hopeman , Martin Roth , Ekrem Soylemez , Adam Kociubes
IPC: G06F16/00 , G06F16/2453 , G06F16/28 , G06F16/22
Abstract: Techniques are described herein for performing join and aggregation operations for a received query using column dictionaries. In an embodiment, a query is received that requests to aggregate a measure column of a fact table based on an aggregate function and join the fact table with a dimension table on a join key column. Data of the fact table may be stored in one or more storage data units, for example a particular data portion of the fact table may be stored on a particular data storage unit. The respective data portion may include one or more column vectors corresponding to one or more columns of the fact table in which a cell element corresponds to a value at a particular row and a particular column of the one or more columns of the fact table. The cell element of the one or more column vectors includes a dictionary encoded value of the value at the particular column and row. This dictionary encoded value is mapped to the value of by a dictionary data structure of the particular column. In an embodiment, in response to receiving the query, using the query, for a particular storage unit, the DBMS identifies a fact join key vector of the one or more column vectors of the particular data storage unit and a fact join key dictionary data structure corresponding to the fact join key vector. The DBMS generates a dictionary-grouping key mapping based on the fact join key dictionary data structure and a dense grouping key data structure. Such a dense grouping key data structure represents a mapping of unique dimension join key values of the join key column of the dimension table to grouping key values of a grouping key of the dimension table. Based on the generated dictionary-grouping key mapping and the fact join key vector, the DBMS may generate a transformed vector, which represents the grouping key values of the dictionary-grouping key mapping arranged according to the fact join key vector. Alternatively, the dictionary-grouping key mapping may be directly accessed during the aggregation. Based on the generated transformed vector and/or by directly accessing the dictionary-grouping key mapping, the DBMS aggregates a column vector in that particular data storage unit that corresponds to the measure column in the received query.
-
公开(公告)号:US09836519B2
公开(公告)日:2017-12-05
申请号:US14033271
申请日:2013-09-20
Applicant: Oracle International Corporation
Inventor: Adam Kociubes , Ekrem S. C. Soylemez , Martin Roth
IPC: G06F17/30
CPC classification number: G06F17/30592 , G06F17/30312 , G06F17/30433 , G06F17/30448 , G06F2216/03
Abstract: Methods, computer systems, and stored instructions are described herein for densely grouping dimensional data and/or aggregating data using a data structure, such as one that is constructed based on dimensional data. When smaller tables are joined with a larger table, a server may analyze the smaller tables first to determine actual value combinations that occur in the smaller tables, and these actual value combinations are used to more efficiently process the larger table. A dense data structure may be generated by processing dimensional data before processing data from fact table. The dense data structure may be generated by compressing ranges of values that are possible in dimensions into a range of values that actually occurs in the dimensions. The compressed range of values may be represented by dense set identifiers rather than the actual compressed range of values.
-
公开(公告)号:US09740718B2
公开(公告)日:2017-08-22
申请号:US14033251
申请日:2013-09-20
Applicant: Oracle International Corporation
Inventor: Albert A. Hopeman, IV , Martin Roth , Ekrem S. C. Soylemez
IPC: G06F17/30
CPC classification number: G06F17/30315
Abstract: Methods, computer systems, and stored instructions are described herein for densely grouping dimensional data and/or aggregating data using a data structure, such as one that is constructed based on dimensional data. When smaller tables are joined with a larger table, a server may analyze the smaller tables first to determine actual value combinations that occur in the smaller tables, and these actual value combinations are used to more efficiently process the larger table. A dense data structure may be generated by processing dimensional data before processing data from fact table. The dense data structure may be generated by compressing ranges of values that are possible in dimensions into a range of values that actually occurs in the dimensions. The compressed range of values may be represented by dense set identifiers rather than the actual compressed range of values.
-
公开(公告)号:US20180081939A1
公开(公告)日:2018-03-22
申请号:US15268521
申请日:2016-09-16
Applicant: Oracle International Corporation
Inventor: Albert Hopeman , Martin Roth , Ekrem Soylemez , Adam Kociubes
IPC: G06F17/30
Abstract: Techniques are described herein for performing join and aggregation operations for a received query using column dictionaries. In an embodiment, a query is received that requests to aggregate a measure column of a fact table based on an aggregate function and join the fact table with a dimension table on a join key column. Data of the fact table may be stored in one or more storage data units, for example a particular data portion of the fact table may be stored on a particular data storage unit. The respective data portion may include one or more column vectors corresponding to one or more columns of the fact table in which a cell element corresponds to a value at a particular row and a particular column of the one or more columns of the fact table. The cell element of the one or more column vectors includes a dictionary encoded value of the value at the particular column and row. This dictionary encoded value is mapped to the value of by a dictionary data structure of the particular column. In an embodiment, in response to receiving the query, using the query, for a particular storage unit, the DBMS identifies a fact join key vector of the one or more column vectors of the particular data storage unit and a fact join key dictionary data structure corresponding to the fact join key vector. The DBMS generates a dictionary-grouping key mapping based on the fact join key dictionary data structure and a dense grouping key data structure. Such a dense grouping key data structure represents a mapping of unique dimension join key values of the join key column of the dimension table to grouping key values of a grouping key of the dimension table. Based on the generated dictionary-grouping key mapping and the fact join key vector, the DBMS may generate a transformed vector, which represents the grouping key values of the dictionary-grouping key mapping arranged according to the fact join key vector. Alternatively, the dictionary-grouping key mapping may be directly accessed during the aggregation. Based on the generated transformed vector and/or by directly accessing the dictionary-grouping key mapping, the DBMS aggregates a column vector in that particular data storage unit that corresponds to the measure column in the received query.
-
-
-
-
-