-
公开(公告)号:US11507579B2
公开(公告)日:2022-11-22
申请号:US17080719
申请日:2020-10-26
Applicant: Oracle International Corporation
Inventor: Vlad Haprian , Laurent Daynes , Zhen Hua Liu , Lei Sheng , Hugo Kapp , Marco Arnaboldi , Jean-Pierre Lozi , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/2455 , G06F16/2453
Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.
-
公开(公告)号:US20210049171A1
公开(公告)日:2021-02-18
申请号:US16543258
申请日:2019-08-16
Applicant: Oracle International Corporation
Inventor: Mohamed Ziauddin , Zhe Wu , Andrew Witkowski
IPC: G06F16/2453 , G06F16/901
Abstract: Embodiments generate random walks through a directed graph that is represented in a relational database table. Each row of the graph table represents a directed edge in the graph and includes a source vertex and a destination vertex. Each row is further augmented to (a) indicate the number of outbound edges starting from the destination vertex in the row and (b) include an identifier that distinguishes the edge from other outbound edges starting from the same source vertex. An SQL query may be executed on the augmented graph table. Starting from a source vertex (starting vertex or the destination vertex of the previously selected hop) the query randomly selects a row of the graph table representing one of the outbound edges from the source vertex and adds the selected outbound edge as a row in a random walk table that represents the next hop in the random walk.
-
公开(公告)号:US20210026847A1
公开(公告)日:2021-01-28
申请号:US16523872
申请日:2019-07-26
Applicant: Oracle International Corporation
Inventor: Rafi Ahmed , Randall Bello , Andrew Witkowski
IPC: G06F16/248 , G06F16/2453 , G06F16/242
Abstract: Definitions of material views are automatically generated. In general, Automated MV generation identifies a set of candidates MVs by examining a working set of query blocks. Once the candidates are formed, the candidate MVs are further evaluated to calculate a benefit to the candidate MVs. An improved approach for generating a candidate set of MVs is described herein. The improved approach is referred to as the extended covering subexpression technique (ECSE). Under ECSE, various relationships between join sets other than strict equivalence are used to generate new resultant join sets. Such relationships include subset, intersection, superset, and union, which shall be described in further detail below. In some cases, relationships among resultant join sets and initial join sets are considered to generate new resultant join sets. The final resultant join sets are then used to form a candidate set of MVs.
-
公开(公告)号:US10776363B2
公开(公告)日:2020-09-15
申请号:US15638226
申请日:2017-06-29
Applicant: Oracle International Corporation
Inventor: Mohamed Ziauddin , Andrew Witkowski
IPC: G06F16/26 , G06F16/2455 , G06F3/06 , G06F16/23 , G06F16/22 , G06F16/248
Abstract: Techniques related to efficient data retrieval based on aggregate characteristics of composite tables are provided. A join zone map includes entries that describe data from a join relationship between a first key column of a first table and a second key column of a second table. The first table includes a dimension column. Each entry of the join zone map corresponds to a respective zone. Each zone includes contiguous data blocks that correspond to one or more second key column values. Each entry also includes a respective dimension value range of one or more dimension column values. Each dimension value range includes a respective maximum dimension value and a respective minimum dimension value. Furthermore, each entry includes a respective anti-join attribute value that indicates whether any of the one or more second key column values in a particular zone are non-null and fail to match any first key column values.
-
公开(公告)号:US10558660B2
公开(公告)日:2020-02-11
申请号:US15658249
申请日:2017-07-24
Applicant: Oracle International Corporation
Inventor: Rafi Ahmed , Andrew Witkowski , Sankar Subramanian
IPC: G06F16/2453
Abstract: A method, apparatus, and stored instructions are provided for the removal of redundant GROUP BY and/or DISTINCT. Every table in the FROM clause of the query block must be a qualified table for the GROUP-BY clause or the DISTINCT keyword in the SELECT clause of the query block to be removed. A table Tx that satisfies at least one of the following two conditions is referred to as a qualified table: (1) Tx has a non-null unique column Tx.u that appears on the GROUP BY clause or the SELECT clause that contains a DISTINCT keyword and (2) There is a qualified table Ty and Ty has a filtering join with Tx.
-
公开(公告)号:US20190005096A1
公开(公告)日:2019-01-03
申请号:US15638226
申请日:2017-06-29
Applicant: Oracle International Corporation
Inventor: Mohamed Ziauddin , Andrew Witkowski
Abstract: Techniques related to efficient data retrieval based on aggregate characteristics of composite tables are provided. A join zone map includes entries that describe data from a join relationship between a first key column of a first table and a second key column of a second table. The first table includes a dimension column. Each entry of the join zone map corresponds to a respective zone. Each zone includes contiguous data blocks that correspond to one or more second key column values. Each entry also includes a respective dimension value range of one or more dimension column values. Each dimension value range includes a respective maximum dimension value and a respective minimum dimension value. Furthermore, each entry includes a respective anti-join attribute value that indicates whether any of the one or more second key column values in a particular zone are non-null and fail to match any first key column values.
-
公开(公告)号:US20180075101A1
公开(公告)日:2018-03-15
申请号:US15266751
申请日:2016-09-15
Applicant: Oracle International Corporation
Inventor: Angela Amor , Andrew Witkowski , Srikanth Bondalapati , Sankar Subramanian
IPC: G06F17/30
Abstract: Techniques are described herein for processing queries comprising joins specifying a plurality of tables. The techniques involve partitioning the tables by assigning rows to partitions. One or more partition maps may be generated to indicate the partitions. Subsequent tables may be partitioned based on the generated partition maps. The partitions may be used to determine results for the joins.
-
18.
公开(公告)号:US09430550B2
公开(公告)日:2016-08-30
申请号:US13629897
申请日:2012-09-28
Applicant: Oracle International Corporation
Inventor: Mohamed Ziauddin , Andrew Witkowski
IPC: G06F17/30
CPC classification number: G06F17/30592 , G06F17/30289 , G06F17/30584 , G06F17/30598
Abstract: Techniques are provided that address the problems associated with prior approaches for clustering a fact table in a relational database management system. According to one aspect of the invention, a database server clusters a fact table in a database based on one or more dimension tables. More specifically, rows are stored in the fact table in a sorted order and the order in which the rows are sorted is based on values in one or more columns of one or more of the dimension tables. A user specifies the columns of the dimension tables on which the sorted order is based in “clustering criteria”. The database server uses the clustering criteria to automatically store the rows in the fact table in the sorted order in response to certain user-initiated database operations on the fact-table.
Abstract translation: 提供了解决与在关系数据库管理系统中聚类事实表的先前方法相关联的问题的技术。 根据本发明的一个方面,数据库服务器基于一个或多个维度表将数据库中的事实表聚类。 更具体地说,行以排序的顺序存储在事实表中,并且行被排序的顺序基于一个或多个维度表的一个或多个列中的值。 用户在“聚类标准”中指定排序顺序所基于的维度表的列。 数据库服务器使用聚类标准来按照排序顺序自动将事务表中的行存储在事实表中的某些用户启动的数据库操作上。
-
公开(公告)号:US09183252B2
公开(公告)日:2015-11-10
申请号:US13754687
申请日:2013-01-30
Applicant: Oracle International Corporation
Inventor: Huagang Li , Srikanth Bellamkonda , Sankar Subramanian , Andrew Witkowski
Abstract: According to one aspect of the invention, for a database statement that specifies evaluating reporting window functions, a computation-pushdown execution strategy may be used for the database statement. The computation-pushdown execution plan includes producer operators and consolidation operators. Each producer operator computes a respective partial aggregation for each reporting window function based on a subset of rows, and broadcasts the respective partial aggregation. Each consolidation operator fully aggregates all partial aggregations broadcasted from the producer operators. Alternatively, an extended-data-distribution-key execution plan may be used. Each producer operator sends rows based on hash keys to sort operators for computing partial aggregations for at least one reporting window function based on a subset of rows. Each consolidation operator receives and fully aggregates all partial aggregations broadcasted from the sort operators.
-
公开(公告)号:US11442933B2
公开(公告)日:2022-09-13
申请号:US15711302
申请日:2017-09-21
Applicant: Oracle International Corporation
Inventor: Srikanth Bellamkonda , Andrew Witkowski , Manish Pratap Singh , Madhuri Kandepi
IPC: G06F16/242 , G06F16/2455
Abstract: An approach for implementing function semantic based partition-wise SQL execution and partition pruning in a data processing system is provided. The system receives a query directed to a range-partitioned table and determines if operation key(s) of the query include(s) function(s) over the table partitioning key(s). If so, the system obtains a set of values corresponding to each partition by evaluating the function(s) on a low bound and/or a high bound table partitioning key value corresponding to the partition. The system may then compare the sets of values corresponding to different partitions and determine whether to aggregate results obtained by executing the query over the partitions based on the comparison. The system may also determine whether to prune any partitions from processing based on a set of correlations between the set of values for each partition and predicate(s) of the query including function(s) over the table partitioning key(s).
-
-
-
-
-
-
-
-
-