Based On Joins Patents (Class 707/714)
  • Patent number: 8041706
    Abstract: A system, method, and computer program product for processing a query spanning separate databases while revealing only minimal information beyond a query answer, by executing only specific information-limiting protocols according to query type.
    Type: Grant
    Filed: October 25, 2007
    Date of Patent: October 18, 2011
    Assignee: International Business Machines Corporation
    Inventors: Rakesh Agrawal, Alexandre Valentinovich Evfimievski, Ramakrishnan Srikant
  • Publication number: 20110246448
    Abstract: Systems and method are disclosed for query optimization in a scale-out system with a single query processing machine and a distributed storage engine to store data by receiving a query rewritten for an internal schema; optimizing a query execution plan for the query; and executing the plan and returning result to an application.
    Type: Application
    Filed: August 31, 2010
    Publication date: October 6, 2011
    Applicant: NEC LABORATORIES AMERICA, INC.
    Inventors: Junichi Tatemura, Arsany Sawires, Oliver Po, Vabit Hakan Hacigumus
  • Publication number: 20110246447
    Abstract: Architecture which provides that certain data-bound objects in the report can be configured by the report author to use data from a specific query result rather than take data from the containing data bound object. The report author defines a relationship between the data in the contained object and the data in the container, allowing instances of the descendant object to be correlated with instances of the ancestor object. This relationship can be either explicit with join conditions or implicit due to an intrinsic hierarchical relationship between the query results.
    Type: Application
    Filed: April 1, 2010
    Publication date: October 6, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Christopher A. Hays, Robert M. Bruckner, John H. Vulner
  • Patent number: 8032520
    Abstract: A system, method and article for handling ambiguous joins among a plurality of tables based on a query are disclosed. Metadata associated with the plurality tables is generated. The metadata comprises ambiguous join dimensions and special measures, where the ambiguous join dimensions provide a list of all dimensions used in conditions of the query that are ambiguous, and the special measures provide a list of measures that are affected by the ambiguous join dimensions. Data is aggregated in the plurality of tables according to an aggregation level expressed in the query and based on the metadata.
    Type: Grant
    Filed: October 4, 2007
    Date of Patent: October 4, 2011
    Assignee: SAP AG
    Inventors: Stefan Dipper, Christel Rueger, Stefan Biedenstein
  • Patent number: 8027971
    Abstract: A method, system and article of manufacture for managing relationships in a data abstraction model abstractly describing data in a database. One embodiment provides a method of linking logical branches of data in a database based on the relationships. The method includes accessing a data abstraction model abstractly describing the data in the database. The data abstraction model defines a logical tree structure having a plurality of logical branches. Relationships between logical fields of different logical branches are identified and logical links abstractly describing the identified relationships are created.
    Type: Grant
    Filed: October 6, 2009
    Date of Patent: September 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Richard D. Dettinger, Daniel P. Kolz, Richard J. Stevens, Shannon E. Wenzel
  • Publication number: 20110218987
    Abstract: Embodiments of the present invention provide a hardware accelerator that assists a host database system in processing its queries. The hardware accelerator comprises special purpose processing elements that are capable of receiving database query/operation tasks in the form of machine code database instructions, execute them in hardware without software, and return the query/operation result back to the host system. For example, table and column descriptors are embedded in the machine code database instructions. For ease of installation, the hardware accelerators employ a standard interconnect, such as a PCle or HT interconnect. The processing elements implement a novel dataflow design and Inter Macro-Op Communication (IMC) data structures to execute the machine code database instructions. The hardware accelerator may also comprise a relatively large memory to enhance the hardware execution of the query/operation tasks requested.
    Type: Application
    Filed: March 15, 2011
    Publication date: September 8, 2011
    Applicant: TERADATA US, INC.
    Inventors: JEREMY BRANSCOME, MICHAEL CORWIN, LIUXI YANG, JOSEPH I. CHAMDANI
  • Patent number: 8010522
    Abstract: System, method and program product for detecting a malicious SQL query in a parameter value field of a request. The parameter value field is searched for query operands, characters and/or symbols and combinations of query operands, characters and/or symbols indicative of malicious SQL injection. A respective score assigned to each of the query operands, characters and/or symbols or combinations of query operands, characters and/or symbols found in the parameter value field is added to yield a total score for at least two of the query operands, characters and/or symbols or combinations of query operands, characters and/or symbols found in the parameter value field. Responsive to the total score exceeding a threshold, the request is blocked.
    Type: Grant
    Filed: December 7, 2007
    Date of Patent: August 30, 2011
    Assignee: International Business Machines Corporation
    Inventors: David Bryan Dewey, David Charles Means
  • Publication number: 20110208719
    Abstract: Embodiments are included for methods, systems, and computer program products for evaluating operations in a shared nothing parallelism system using an electronic computing device are presented, the methods and computer program products including: causing the electronic computing device to receive the operation, where the operation is non-collocated, reference based operation, and where the operation is configured for execution on a first partition in the shared nothing parallelism system; causing the electronic computing device to insert a table queue operator on a second partition, where the second partition includes a reference to input data, causing the electronic computing device to place the reference to the input data on the first partition by the table queue operator; and causing the electronic computing device to execute the operation on the reference to the input data on the first partition.
    Type: Application
    Filed: February 19, 2010
    Publication date: August 25, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Anjali Betawadkar-Norwood, Mayank Pradhan, Radhika Reddy, Normen Seemann, Edison L Ting, Tuong Truong, Tian Zhang
  • Patent number: 8005820
    Abstract: A SQL query that includes an IN-List is optimized by utilizing an array insert to insert the IN-List into a spool and piggybacking IN-List rows into a join step.
    Type: Grant
    Filed: September 27, 2006
    Date of Patent: August 23, 2011
    Assignee: Teradata US, Inc.
    Inventors: James Carlson, Grace Au, Bhashyam Ramesh, Haiyan Chen
  • Patent number: 8001110
    Abstract: An obtaining request requesting that information is obtained from a structured database by using multiple loops is received. A unique identifier is assigned to each of records in element tables each having been created for a different one of the loops. A cross product joined table is created by performing a cross product joining process on the element tables, so that the information specified as an obtained target in the obtaining request is obtained from the element tables. For each of the loops, a single-loop table storing therein records in which the obtained information, the identifiers, and the elements are brought into correspondence is created. An inter-loop joined table is created by joining the plurality of single-loop tables. A correspondence between the records in the cross product joined table and in the inter-loop joined table are controlled, based on the identifiers contained in the cross product joined table and the inter-loop joined table.
    Type: Grant
    Filed: September 10, 2008
    Date of Patent: August 16, 2011
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Masakazu Hattori
  • Publication number: 20110196857
    Abstract: Techniques for generating a set of one or more materialized query table (MQT) candidates for a workload are provided. The techniques include receiving a workload, wherein the workload comprises a set of one or more queries, generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write, determining one or more frequently used multi-joins in the workload, using the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs), and grouping one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload.
    Type: Application
    Filed: February 9, 2010
    Publication date: August 11, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Dong Sheng Chen, Hong Min, Terence P. Purcell, Yefim Shuf, Xiao Bo Wang, Zhong Liang Zhang
  • Patent number: 7991766
    Abstract: A computer is programmed to accept a command to create a new aggregation defined by a user during execution of continuous queries on streams of data. The computer is further programmed to thereafter accept and process new continuous queries using the new aggregation, in a manner similar to built-in aggregations. The user typically writes a set of instructions to perform the new aggregation, and identifies in the command, a location of the set of instructions. In response to such a command, the computer creates metadata identifying the new aggregation. The metadata is used to instantiate one aggregation for each group of data in a current window, grouped by an attribute identified in a new query.
    Type: Grant
    Filed: October 20, 2007
    Date of Patent: August 2, 2011
    Assignee: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Shailendra Kumar Mishra
  • Patent number: 7991765
    Abstract: A system and method of rewriting a database query where the query contains an aggregate includes the following. If one or more aggregate materialized views are considered, rewriting the query using an aggregate materialized view. If one or more non-aggregate multi-table materialized views are considered, the query is rewritten using a multi-table materialized view. A join cost is determined for each such non-aggregate multi-table materialized view. If one or more non-aggregate single table materialized views are considered, the query is rewritten using the single table materialized view. A join cost is determined for each such non-aggregate single table materialized view. Finally, a current total cost is determined for use of various materialized views as a function of join cost, aggregation cost and spool cost to select a rewritten query.
    Type: Grant
    Filed: July 31, 2008
    Date of Patent: August 2, 2011
    Assignee: Teradata US, Inc.
    Inventors: Hong Gui, Grace Au, Kuorong Chiang
  • Publication number: 20110184933
    Abstract: According to one embodiment of the present invention, a method for processing join predicates in full-text indexes is provided. The method includes evaluating local predicates of an outer full text index to generate a first posting list of documents. For each document in the first posting list, the value of a join attribute is determined and an inner full text index is probed to obtain a second posting list of documents containing one of the join attributes determined for each document. Local predicates of an inner full text index are evaluated to generate a third posting list of documents, and the second posting list is merged with the third posting list to generate a merge list of documents. Documents in the first posting list may be paired up with documents in the merge list.
    Type: Application
    Filed: January 28, 2010
    Publication date: July 28, 2011
    Applicant: International Business Machines Corporation
    Inventors: Latha Sankar Colby, Quanzhong Li, Fatma Ozcan, Mir Hamid Pirahesh, Eugene J. Shekita, Zografoula Vagena
  • Publication number: 20110161310
    Abstract: Apparatus, systems, and methods may operate to retrieve at least a portion of a first database query plan comprising a first tree and at least a portion of a second database query plan comprising a second tree. Further activities may include comparing relations and operations in the first tree and the second tree to identify differences. The differences may be found in the join order of the relations, and/or deleted, inserted, updated, or swapped ones of the operations based on operation signatures. Potential regression in query plan performance based on the differences may be indicated using a visual and/or audible alarm, and the differences may be published. Additional apparatus, systems, and methods are disclosed.
    Type: Application
    Filed: December 30, 2009
    Publication date: June 30, 2011
    Inventors: Wei Tang, Dehui Zhang
  • Patent number: 7966314
    Abstract: A system for use with an information retrieval system, in which system is used for transforming a database statement containing a first subquery and a second subquery joined together, the first subquery including a group by operation over a child subquery, the information retrieval system comprising means for removing the first subquery from the database statement thereby eliminating the join between the first subquery and the second subquery.
    Type: Grant
    Filed: August 18, 2008
    Date of Patent: June 21, 2011
    Assignee: International Business Machines Corporation
    Inventors: Calisto Zuzarte, Qi Cheng, Wenbin Ma
  • Patent number: 7962473
    Abstract: Techniques are provided for performing structural joins for answering containment queries. Such inventive techniques may be used to perform efficient structural joins of two interval lists which are neither sorted nor pre-indexed. For example, in an illustrative aspect of the invention, a technique for performing structural joins of two element sets of a tree-structured document, wherein one of the two element sets is an ancestor element set and the other of the two element sets is a descendant element set, and further wherein each element is represented as an interval representing a start position and an end position of the element in the document, comprises the following steps/operations. An index is dynamically built for the ancestor element set. Then, one or more structural joins are performed by searching the index with the interval start position of each element in the descendant element set.
    Type: Grant
    Filed: December 28, 2007
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventors: Shyh-Kwei Chen, Kun-Lung Wu, Philip Shi-Lung Yu
  • Publication number: 20110131200
    Abstract: Systems, methods, computer program product embodiments are provided for executing a function in a path-based query when extracting data from a markup language document for return as a relational table, the markup language document organized hierarchically into nodes. An embodiment includes receiving a path-based query including a complex row pattern and column definition, forming multiple sets of nodes based on a simplified row pattern and column definition, determining ancestor-descendent pairings for the nodes in the column definition set, and utilizing the ancestor-descendent pairings with the simplified row pattern to return a relational table satisfying the complex path-based query. An embodiment further includes extensible markup language (XML) as the markup language, and an XPath query expression as the complex path-based query.
    Type: Application
    Filed: December 1, 2009
    Publication date: June 2, 2011
    Applicant: Sybase, Inc.
    Inventors: Xiao Ming ZHOU, Tat-Keong Loh, Mohyuddin Rehmattullah, Michelle Lim
  • Publication number: 20110131199
    Abstract: Apparatus, systems, and methods may operate to receive an original query plan, to transform the original query plan into an equivalent executable compact query plan, and to store the compact query plan on a machine readable device. Further activities may include computing maximal source sub-queries associated with the compact query plan, and computing semi-join reductions of the maximal source sub-queries to provide an executable derivative query plan, which may also be stored on a machine readable device. Additional apparatus, systems, and methods are disclosed.
    Type: Application
    Filed: November 30, 2009
    Publication date: June 2, 2011
    Inventors: Eric Simon, Francois Llirbat, Francoise Fabret, Nicolas Dieu, Adrian Dragusanu
  • Publication number: 20110131198
    Abstract: A method and apparatus for processing at least one data stream are disclosed. For example, the method receives at least a join query for the at least one data stream, wherein the join query specifies a lifetime for keeping a tuple as a marker for a beginning of a sequence of interest, and receives a tuple from the at least one data stream. The method marks the tuple as a beginning of a sequence of interest and stores the tuple, if the tuple is the beginning of the sequence of interest. The method applies one or more initial predicates to the tuple, and determines if the tuple matched a marked tuple, if the tuple meets the one or more initial predicates. The method determines if the tuple meets one or more conditions to be outputted, if the tuple meets the one or more initial predicates conditions.
    Type: Application
    Filed: November 30, 2009
    Publication date: June 2, 2011
    Inventors: THEODORE JOHNSON, Irina Rozenbaum
  • Patent number: 7953726
    Abstract: Processing a multiple table query includes: determining if any tables in the query require materialization; for each table in the query that requires materialization, deriving at least one join predicate on a join column; determining if any tables earlier in a join sequence for the query has same join predicates; and applying the at least one derived join predicate to an earlier table in the join sequence, if there is at least one table earlier in the join sequence that has the same join predicate. This significantly reduces the number of rows that are joined before arriving at the final result.
    Type: Grant
    Filed: August 3, 2008
    Date of Patent: May 31, 2011
    Assignee: International Business Machines Corporation
    Inventor: Terence Patrick Purcell
  • Patent number: 7949655
    Abstract: A database system includes object relational tables having at least one complex attribute. The database system also includes an optimizer module that selects a join plan for a given query that specifies a join of multiple tables. If the query includes a function selected from the group consisting of a selection predicate applied on a complex attribute, a projection applied on a complex attribute, and a user-defined data type method, then a join path for the join query is determined based in part on a cost associated with application of the function. Application of the function is performed on one of a base table and a join table depending on which has a lower cardinality. The join table is a result of a join of the base table and another table.
    Type: Grant
    Filed: August 25, 2009
    Date of Patent: May 24, 2011
    Assignee: Teradata US, Inc.
    Inventor: Gregory H. Milby
  • Publication number: 20110119245
    Abstract: An embodiment of the system and method for optimizing pattern query searches on a graph database uses a pattern query optimizer to optimize execution of the search plan for any sequence of SQL expressions by separating or breaking a pattern query into multiple subpattern queries before converting the subpattern queries into SQL expressions. An embodiment of the pattern query optimizer algorithmically, without intervention by an analyst, decomposes any pattern query into a set of subpattern queries by first identifying branches and cycles within a pattern query and then decomposing each identified branch and cycle into equivalent straight line paths, i.e., straight line nodes joined by edges. Cardinality may be used to improve the performance of pattern searches.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 19, 2011
    Inventors: Daniel SARGEANT, Morgan Hollinger
  • Publication number: 20110119249
    Abstract: Techniques described herein perform an index backbone join of data that is contained within two or more tables. Significantly, key data are selected from the indices constructed on the tables, and such data are filtered by the query-indicated criteria, before any data is selected from the tables themselves. Row identifiers of the rows remaining after the index filtering has been performed are then used to select the qualifying rows (only) from the tables. Data selected from the tables is joined to produce query results. Because all of the filtering is performed based on index entries prior to any table access, and because index access is typically much faster than table access, queries whose results require very large quantities of data from multiple tables can be performed much more quickly.
    Type: Application
    Filed: November 13, 2009
    Publication date: May 19, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lothar Flatz, Bjom Kisbye Engsig
  • Patent number: 7945559
    Abstract: Mechanisms are provided for completing partially specified paths. For example, users can partially specify paths by specifying some preferred entities and roles along the paths so that these paths have to incorporate these preferred entities and roles. From then, queries can automatically complete the paths, unless more specification information is needed. In completing these paths, numerous restrictions can be used, such as a role and its inverse cannot be used in a path, and no role may be traversed more than once in a path.
    Type: Grant
    Filed: March 22, 2006
    Date of Patent: May 17, 2011
    Assignee: Microsoft Corporation
    Inventor: Christopher Alan Hays
  • Patent number: 7945561
    Abstract: Methods and apparatus for joining two or more tables are disclosed. A query including a join query is received, where the join query requests that a new table be generated from data obtained from two or more tables, where the two or more tables are stored at two or more data sources. One or more columns for each of the tables for which data is to be obtained are identified from the query. A query plan to execute the query to obtain data for the identified columns from the two or more tables is then generated.
    Type: Grant
    Filed: April 5, 2010
    Date of Patent: May 17, 2011
    Assignee: Actuate Corporation
    Inventors: Wenfeng Li, Venkateswaran Venkataraman Iyer, Houqiang Yan, Aneesh M. Kulkarni, Peter Lai, Ajibayo O. O. A. Ogunshola
  • Patent number: 7945560
    Abstract: Methods for transforming a query to remove redundant subqueries in HAVING clauses are provided. The methods provided transform queries that contain subqueries in HAVING clauses with tables and join conditions and filter conditions equal to tables, join conditions and filter conditions in outer query to queries that eliminate the original subquery and retain the original outer query with a single inline view using window functions. Whether this transformation can be performed depends on which tables and join and filter conditions are in the outer query and the subquery. The transformation eliminates duplicative table accesses and join operations from queries.
    Type: Grant
    Filed: May 22, 2008
    Date of Patent: May 17, 2011
    Assignee: Oracle International Corporation
    Inventors: Rafi Ahmed, Srikanth Bellamkonda
  • Patent number: 7941424
    Abstract: A system, method, and computer-readable medium for dynamic detection and management of data skew in parallel join operations are provided. Receipt of an excessive number of redistributed rows by a processing module is detected thereby identifying the processing module as a hot processing module. Other processing modules then terminate redistribution of rows to the hot processing module and maintain rows of a skewed table of the join operation that would be redistributed to the hot processing module in a local spool. Rows of a smaller table that would be redistributed to the hot processing module are duplicated to each processing module involved in the join operation. Rows of tables that are to be redistributed by a processing module to any processing module excluding the hot processing module are redistributed accordingly and maintained locally by the processing module. The join operation is completed by merging results of local join data sets of each processing module.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: May 10, 2011
    Assignee: Teradata US, Inc.
    Inventors: Yu Xu, Pekka Kostamaa, Mark Sirek
  • Patent number: 7941423
    Abstract: A system and method for executing semijoin reductions on outer join operations are presented. Tuple lists are created based on a query. A sequence of semijoin reduction steps are performed, where each semijoin reduction step either switches one tuple list, or reduces all tuple lists at one relation. Virtual connector pairs are inserted into the tuple lists, and then all tuple lists are centralized at a common host. The join results are assembled at the common host, and negative row IDs are substituted. From the join result, the query result is retrieved by projecting to the requested attributes.
    Type: Grant
    Filed: February 19, 2010
    Date of Patent: May 10, 2011
    Assignee: SAP AG
    Inventors: Gerhard L. Hill, Thomas Peh, Jane Hartmann
  • Patent number: 7933894
    Abstract: Systems and methods that generate specialized plans for compiling SQL queries. A plan generator component scans the query representation for parameter sensitive predicates and evaluates each predicate individually based on the parameter values. Accordingly, queries can be identified not only based on their structures, but also based on their parameter conditions. The specialized plans are more efficient for particular values, wherein queries that employ such values are optimally executed.
    Type: Grant
    Filed: June 15, 2007
    Date of Patent: April 26, 2011
    Assignee: Microsoft Corporation
    Inventors: Marc T. Friedman, Cesar A. Galindo-Legaria, Erik Ismert, Milind Madhukar Joshi, Naveen Prakash
  • Patent number: 7930296
    Abstract: An apparatus and program product that build column statistics utilizing at least one skew value. The column statistics built using skew values, instead of column statistics built only through random sampling, may be used to more accurately reflect skew values across join networks, and thus enable a query optimizer to better select an access plan that is optimal under current runtime conditions.
    Type: Grant
    Filed: April 18, 2008
    Date of Patent: April 19, 2011
    Assignee: International Business Machines Corporation
    Inventor: Brian Robert Muras
  • Patent number: 7925656
    Abstract: Markup language node level hash join operations for evaluating a query language query are performed. The markup language node level hash join mechanism, i.e. the “XHashJoin” operator, is a multi-way join operator that uses two hash tables, BUILD and PROBE, to intersect document nodes from multiple index scans and to buffer intermediate query results. The BUILD hash table stores document nodes matching the predicates of a query, and buffers document nodes satisfying extraction nodes, of each portion of the query up to a current portion of the query being evaluated. The BUILD hash table and the PROBE hash table are switched at each portion of the query being evaluated. Query results are generated by linking document nodes buffered in the BUILD hash table based on the semantics of each extraction node.
    Type: Grant
    Filed: March 7, 2008
    Date of Patent: April 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Shaorong Liu, Edison L. Ting
  • Patent number: 7925646
    Abstract: A compilation time estimator provides a quantified estimate of the optimizer compilation time for a given query optimizer. The estimator automates the optimizer to choose the right level of optimization in commercial database systems. The estimator reuses an optimizer's join enumerator to obtain actual number of joins, but bypasses plan generation to save estimation overhead, and maintains a small number of interesting physical properties to estimate the number of plans by using a linear regression model. The estimator uses the number of generated plans to estimate query compilation time.
    Type: Grant
    Filed: February 18, 2008
    Date of Patent: April 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Dengfeng Gao, Ihab F. Ilyas, Eileen Tien Lin, Guy Maring Lohman, Jun Rao
  • Patent number: 7925645
    Abstract: A classifier is used to predict relevant results with arbitrary filtering conditions specified by the user. The classifier model is stored as a database table and joined with a metadata properties table instead of calculating the query result probability using the full classifier model. A user-specified query based filter is applied to the joined tables to obtain the list of documents satisfying the filter. The probability is then computed using the sub-model.
    Type: Grant
    Filed: July 19, 2007
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Lei Zhao, Zhanliang Chen, Yanbiao Zhao
  • Publication number: 20110082854
    Abstract: Methods and systems for query optimization for a multi-tenant database system are provided. Some embodiments comprise receiving at a network interface of a server in a multi-tenant database system an original query transmitted to the multi-tenant database system by a user associated with a tenant, wherein the original query is associated with data accessible by the tenant, and wherein the multi-tenant database system includes at least a first index and a second index. Metadata associated with the data is retrieved, wherein at least a portion of the data is stored in a common table within the multi-tenant database system. A tenant-selective query syntax is determined by analyzing at least one of metadata generated from information about the tenant or metadata generated from the data accessible by the tenant.
    Type: Application
    Filed: September 21, 2010
    Publication date: April 7, 2011
    Applicant: salesforce.com, Inc.
    Inventors: William Charles Eidson, Jesse Collins
  • Patent number: 7917498
    Abstract: A database engine and a system running a database engine utilize a dynamic join reordering feature to change the order of two or more join operations while a query is executing. The database engine starts execution of the query with an initial join order setting but monitors the execution of the query to determine whether the initial join order or some other join order would provide better runtime performance. If another join order would provide better performance, then the database engine can change the join order during query execution and complete the query using the new join order.
    Type: Grant
    Filed: December 18, 2007
    Date of Patent: March 29, 2011
    Assignee: International Business Machines Corporation
    Inventors: Paul Reuben Day, Brian Robert Muras
  • Patent number: 7917463
    Abstract: A computer implemented method for executing an ANSI SQL expression belonging to the SELECT-WHERE-equi-JOIN class on data residing in a distributed file system, said method comprising the steps of entering the ANSI SQL expression into a user interface; converting the ANSI SQL expression into a map-reduce program; running the map-reduce program on the distributed file system; storing the result set of the program in the distributed file system; and presenting the result set through a user interface.
    Type: Grant
    Filed: October 10, 2008
    Date of Patent: March 29, 2011
    Assignee: Business.com, Inc.
    Inventors: Paul Dagum, Tarandeep Singh, Leonardo Dagum
  • Patent number: 7912833
    Abstract: A system and method include obtaining a query and identifying an aggregate join index (AJI) at a high level of aggregation. The dimension table may be rolled-up with the grouping key being the union of the grouping key in the AJI and the grouping key of the query. The identified AJI is joined with the rolled-up dimension table to obtain columns in the query that are not in the identified AJI. The joined AJI and rolled-up dimension table are then rolled up to answer the query.
    Type: Grant
    Filed: August 5, 2008
    Date of Patent: March 22, 2011
    Assignee: Teradata US, Inc.
    Inventors: Hong Gui, Grace Au, Carlos Bouloy
  • Patent number: 7908266
    Abstract: Systems and methods are provided for automatically creating an SQL join expression. A computer-implemented graphical user interface may receive a first user input that identifies a first table to be included in the SQL join expression and a second user input that identifies a second table to be included in the SQL join expression. Software instructions stored in a computer-readable medium may automatically define the SQL join expression by matching one or more keys or indices in the first table with one or more keys or indices in the second table.
    Type: Grant
    Filed: May 6, 2008
    Date of Patent: March 15, 2011
    Assignee: SAS Institute Inc.
    Inventors: Donna Evelyn Zeringue, Russell Edward Robison, Nancy Anne Rausch
  • Patent number: 7908264
    Abstract: Queries to an enterprise data system based on discrete groups of servers may display the sets of data satisfying a query as if the query results originated from a single data repository. Further, queries within the system may efficiently search through a large set of satisfying records while accounting for data latency or system performance.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: March 15, 2011
    Assignee: Mypoints.com Inc.
    Inventors: James John Bohannon, Greg Michael Wolfe
  • Publication number: 20110055199
    Abstract: A system and method for join order optimization in a query optimizer is disclosed. The method includes receiving a query having a plurality of join operators, including at least one multi-way join between relational operators in the query tree. The join operators include at least one outer-join and/or semi-join. The multi-way-join is transformed to a multi-join operator with a plurality of join back bone children representing the relational operators. The dependencies that occur between the join back bone children are tracked. Join order validity is evaluated based on the tracked dependencies. One or more multi-join rules are applied to the multi-join operator sufficient to generate at least one join subtree when at least one join subtree is determined to have a valid join order.
    Type: Application
    Filed: August 25, 2009
    Publication date: March 3, 2011
    Inventors: Kashif A. Siddiqui, Awny K. Al-Omari
  • Patent number: 7899810
    Abstract: A relational database access system and method provides a new data representation and a query technique which allows information system end users to access (query) relational databases without knowing the relational structure or the structure query language (SQL). The present invention utilizes semantically dynamic objects.
    Type: Grant
    Filed: February 5, 2007
    Date of Patent: March 1, 2011
    Assignee: Business Objects Software Ltd.
    Inventors: Jean-Michel Cambot, Bernard Liautaud
  • Patent number: 7895174
    Abstract: Embodiments are provided to define relationships for merging template or database part tables with one or more database tables in a computer system. A database application may utilize a schema to receive metadata associated with a target database part table in one or more markup language elements. The database application may then receive metadata associated with a source database table to be joined with the target table in the schema elements. The database application may then receive join type metadata in the schema elements. The join type metadata may specify whether fields from the source table are to be merged into the target table or whether fields from the target table are to be merged into the source table. In response to receiving the target table metadata and the source table metadata, the database application may then merge the target and source tables utilizing the join type metadata.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: February 22, 2011
    Assignee: Microsoft Corporation
    Inventors: Michael J. McCormack, Scott T. Gardner, Andrew R. Miller, Sumit Chauhan, Jason A. Bould
  • Publication number: 20110040745
    Abstract: Methods, program products, and systems for automatically searching data in multiple data fields are described. A user can view data retrieved from a database and formatted based on a layout. While viewing the data, the user can perform a search using one or more search terms. A system can automatically examine the database and identify on which tables and on which data fields of the tables to perform the search. The system can identify searchable tables and data fields by analyzing the database schema as well as characteristics of the tables and data fields.
    Type: Application
    Filed: August 12, 2009
    Publication date: February 17, 2011
    Inventors: Oleg Zaydman, Christopher Crim, Clay Maeckel, Galt Johnson, Stephen Iremonger
  • Publication number: 20110035368
    Abstract: A system and/or method are implemented to process queries to a database. In particular, the processing of queries to the database is enhanced by enhancing the determination of join orders of tables implicated in queries. Join orders between relatively large numbers of tables are determined by dividing the set of tables to be ordered into a plurality of subsets of tables, and ordering the individual subsets of tables.
    Type: Application
    Filed: April 9, 2010
    Publication date: February 10, 2011
    Applicant: ParAccel, Inc.
    Inventors: Richard L. Cole, Yijou Chen, William J. McKenna, Sergei Perfilov, Aman Sinha, Eugene Szedenits, JR.
  • Publication number: 20110029507
    Abstract: A method for estimating the selectivity of a database base table predicate, the cardinality of a join, and the cardinality of an aggregation. The method includes receiving a database query, the query comprising one or more query predicates and referencing one or more database tables. One or more join indexes are identified, the join index(es) defined on respective database tables referenced by the database query. The join index(es) comprises one or more join index predicates, and includes one or more join columns in its select list. The row count selected by the query predicates is calculated at least partly using the row count or statistics of the one or more join indexes. The selectivity of the base table predicate is calculated at least partly from the calculated row count. The cardinality of the join is estimated at least partly from the row count and statistics of the identified join index(es).
    Type: Application
    Filed: July 28, 2009
    Publication date: February 3, 2011
    Inventors: Grace Au, Rama Krishna Korlapati, Haiyan Chen
  • Patent number: 7882100
    Abstract: A database system with methodology for generating bushy nested loop join trees is described. In one embodiment, for example, an improved method is described for optimization of a query requesting data from a database, the method comprises steps of: generating a left deep operator tree for returning data requested by the query based on traversing a left deep operator tree search space; transforming the left deep operator tree into a semantically correct structure for returning data requested by the query; and building a query execution plan for returning data requested by the query based on the semantically correct structure.
    Type: Grant
    Filed: January 24, 2005
    Date of Patent: February 1, 2011
    Assignee: Sybase, Inc.
    Inventor: Mihnea Andrei
  • Patent number: 7882101
    Abstract: A SQL query that includes an IN-List is optimized by (1) performing an evaluation to determine whether access to a table can be performed as a join operation, (2) converting the IN-List to an IN-LIST relation, and (3) joining the IN-List relation with the table to access the data in the table.
    Type: Grant
    Filed: September 27, 2006
    Date of Patent: February 1, 2011
    Assignee: Teradata US, Inc.
    Inventors: Grace Au, Bhashyam Ramesh, Haiyan Chen
  • Patent number: 7873626
    Abstract: A system and method directed to a matching engine for finding the best match for an input string from among a group of predefined string patterns is disclosed. The predefined patterns may include one or more wildcard characters. A metric value is computed for every predefined string pattern. If the input string matches more than one predefined pattern, then the pattern with the highest metric value is determined as the best match to the input string. Additionally, information of different types may be attached to the predefined patterns and used for further processing of information, for example, to make routing decisions or to run a program module.
    Type: Grant
    Filed: August 13, 2007
    Date of Patent: January 18, 2011
    Assignee: Microsoft Corporation
    Inventor: Vlad Eminovici
  • Patent number: 7873628
    Abstract: To discover functional dependencies in a large relation, a sample of tuples from the relation is collected. The sample is examined to determine whether one or more candidate functional dependencies exist just within the sample as a nominal dependency. When a nominal dependency is found in the sample, than all the tuples in the relation are examined to verify whether the nominal dependency holds for the whole relation. Candidate functional dependencies are disqualified when either a nominal dependency is found or when it is verified as functional dependency that holds for the entire relation.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: January 18, 2011
    Assignee: Oracle International Corporation
    Inventors: Yu Gong, Ron Gonzalez