Entries |
Document | Title | Date |
20100082600 | SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR OPTIMIZING THE PERFORMANCE OF OUTER JOINS - A system, method, and computer-readable medium for optimizing the performance of outer joins in a parallel processing system are provided. Predicates involving only attributes of a left table of a left outer join are pushed down to the outer relation for left outer joins having join predicates involving left table attributes and/or predicates involving attributes of both the right and left table. In such an instance, the rows of the left table may be partitioned into two sub-relations according to the predicate involving only attributes of the left table. Rows of the left table are allocated to a first sub-relation if the rows satisfy the predicate involving only attributes of the left table and rows of the left table are allocated to a second sub-relation if the rows fail to satisfy the predicate involving only attributes of the left table. Accordingly, only rows of the first sub-relation are required to be left outer joined with the right table. Advantageously, a reduction in the requisite number of rows to be redistributed and joined is facilitated. The disclosed embodiments may be similarly applied for optimization of right outer joins. Further, embodiments for optimizing full outer joins are disclosed. | 04-01-2010 |
20100082601 | METHOD, DATABASE SYSTEM AND COMPUTER PROGRAM FOR JOINING TEMPORAL DATABASE TABLES - A method, database system and computer program are disclosed for performing a temporal join between two temporal database tables. The method includes determining a selected table intersection between a period of interest and a time period value for a selected table row, scanning an inner table for a row that matches the selected table on the join conditions and overlaps the selected table intersection, and determining the remainder time period values from the selected table intersection. | 04-01-2010 |
20100088309 | EFFICIENT LARGE-SCALE JOINING FOR QUERYING OF COLUMN BASED DATA ENCODED STRUCTURES - The subject disclosure relates to querying of column based data encoded structures enabling efficient query processing over large scale data storage, and more specifically, with respect to join operations. Initially, a compact structure is received that represents the data according to a column based organization, and various compression and data packing techniques, already enabling a highly efficient and fast query response in real-time. On top of already fast querying enabled by the compact column oriented structure, a scalable, fast algorithm is provided for query processing in memory, which constructs an auxiliary data structure, also column-oriented, for use in join operations, which further leverages characteristics of in-memory data processing and access, as well as the column-oriented characteristics of the compact data structure. | 04-08-2010 |
20100106710 | STREAM DATA PROCESSING METHOD AND SYSTEM - Stream data is provided for realizing precise calculation processing to keep a constant memory usage of a query including a time-based window, and to take all of input data into consideration. A stream data processing server sections the time-based window into sub-windows each with a smaller width by a query time resolution change unit, and a query processing engine executes the aggregation processing based on the sub-window when receiving the stream data to generate an aggregation tuple, and calculates the calculation result of the query including the time-based window by aggregation processing on the aggregation tuple. | 04-29-2010 |
20100131490 | MODULAR QUERY OPTIMIZER - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for modular query optimizer. In one aspect, a method includes selecting one or more projections from a set of projections for each table in a database query wherein each of the selected projections for the table has leads to an estimated lower execution cost for the query as compared to non-selected projections; generating join orders for the query based on data distribution of one or more of the selected projections among sites in a computer network wherein the join orders reflect different combinations of data distribution operations applied to the output of one or more of the query's joins; and selecting a join order from the join orders based on evaluation of the join orders using a cost model. | 05-27-2010 |
20100145930 | VIRTUAL PAIR ALGORITHM FOR OUTER JOIN RESOLUTION - 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. | 06-10-2010 |
20100191718 | COMPLEX RELATIONAL DATABASE EXTRACTION SYSTEM AND METHOD WITH PERSPECTIVE BASED DYNAMIC DATA MODELING - The present invention involves a computer for implementing a complex database management system. A processor has at least one complex database with extraction software. The database extraction software is capable of creating a perspective based data model from a user selected data table of the database. A query is specified by user selection of attributes from a data table of the database. A perspective based data model is created from the user selected data base table of the database and related tables. The extraction software creates a query structure defining a plurality of paths providing a selected portion of the information in the database, which is presented to the user based on the perspective based data model. The query structure defines a plurality of paths and having a plurality of nodes, each of the nodes having a corresponding operand. A downward evaluation of the query structure is performed, proceeding from a starting object down downwardly through the paths. An upward evaluation of the query structure is performed, proceeding upwardly from the bottom of each path. The operands are resolved according to predetermined rules so that the number of evaluations of the nodes is less than the number of instances of each operand in the query structure. | 07-29-2010 |
20100205170 | Distribution of Join Operations on a Multi-Node Computer System - A method and apparatus distributes database query joins on a multi-node computing system. In the illustrated examples, a join execution unit utilizes various factors to determine where to best perform the query join. The factors include user controls in a hints record set up by a system user and properties of the system such as database configuration and system resources. The user controls in the hints record include a location flag and a determinicity flag. The properties of the system include the free space on the node and the size join, the data traffic on the networks and the data traffic generated by the join, the time to execute the join and nodes that already have code optimization. The join execution unit also determines whether to use collector nodes to optimize the query join. | 08-12-2010 |
20100205171 | METHOD AND COMPUTER PROGRAM FOR EVALUATING DATABASE QUERIES INVOLVING RELATIONAL AND HIERARCHICAL - A method and apparatus for resolving conjunctive queries, comprising relational predicates and external predicates, such as XML predicates. The method and apparatus obtain results from a relational engine or from an external engine, and then use the obtained results as input for the other engine, so as to optimize the activity of the other engine. The process may repeat further times, with the results obtained by the other engine being input to the first engine. The method and apparatus further disclose handling value, being isomorphic hierarchical subtrees. | 08-12-2010 |
20100250517 | SYSTEM AND METHOD FOR PARALLEL COMPUTATION OF FREQUENCY HISTOGRAMS ON JOINED TABLES - According to one embodiment of the present invention, a method for the parallel computation of frequency histograms in joined tables is provided. The method includes reading data in a table row-by-row from a database system using a coordinator unit and distributing each read row to separate worker units. Each worker unit computes a partial frequency histogram for each column in the table in parallel. The partial histograms from the worker units are then merged and the coordinator unit sends the merged frequency histograms to the worker units. | 09-30-2010 |
20100274779 | QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM - The present invention provides techniques for storing information on a multi-tenant database system to control query latency that includes a method that stores the information on the database among a plurality of tables arranged in columns and rows. For each of a subset of the plurality of tables, sets of the rows are distributed amongst different storage nodes on the database, with the set of rows stored at a common node having a common index value. Data storage and retrieval capabilities to the database are provided to allow access to the information, in response to requests from one of a plurality of remotely disposed computer systems. The retrieval capability includes a query condition that includes a query index value, with the query condition and the query index value being established to control retrieval latency. Also disclosed is a machine-readable medium carrying one or more sequences of instructions for storing information on a multi-tenant database system to control query latency when executed by one or more processors and cause the one or more processors to carry out steps of the method. A data center for storing information on a multi-tenant database system to control query latency is also disclosed that carries-out the functions of the method. | 10-28-2010 |
20100274780 | SYSTEMS AND METHODS FOR MODELING PARTITIONED TABLES AS LOGICAL INDEXES - Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions. | 10-28-2010 |
20100287157 | METHOD OF INTERROGATING A DATABASE AND INTERROGATION DEVICE - A method of interrogation or modification of a database having a plurality of tables each with fields and relationships between the fields of various tables, the method including: filling in a single privileged table; filling in at least one field in another table for which data are sought or to be modified; filling in at least one filter pertaining to a field of another table allowing the selection of the data sought or to be modified; identifying in the database, using the input fields and the fields appearing in the input filters, the tables containing these fields; identifying in the database, using the input fields and the fields appearing in the input filters, the relationships between these fields of various tables; reformulating a query to the database by stating in full the fields, the identified tables, joins representative; and applying the query to the database. | 11-11-2010 |
20100306189 | SENSOR NETWORK MANAGING APPARATUS AND METHOD THEREOF - The present invention relates to a sensor network managing apparatus and a method thereof. The sensor network managing apparatus according to the present invention receives a query that includes a spatial join predicate for searching for target sensor nodes and a comparison predicate that is different for each sensor network, and generates query execution order information for searching for the target sensor nodes based on the spatial join predicate and the comparison predicate, wherein the spatial join predicate is related to a spatial location between sensor nodes respectively included in different sensor networks, and the comparison predicate are related to sensing values of sensor nodes of the sensor networks. In addition, the sensor node managing apparatus executes queries for the spatial join predicate and the comparison predicate on the plurality of sensor nodes on the basis of determined query execution order, and then extracts target sensor nodes as the query results. According to the present invention, an efficient method for searching for user-desired sensor nodes in more than two different sensor networks can be provided. | 12-02-2010 |
20110010358 | PERFORMING SEQUENCE ANALYSIS AS A MULTIPART PLAN STORING INTERMEDIATE RESULTS AS A RELATION - A usage model and the underlying technology used to provide sequence analysis as part of a relational database system. Included components include the semantic and syntactic integration of the sequence analysis with an existing query language, the storage methods for the sequence data, and the design of a multipart execution scheme that runs the sequence analysis as part of a potentially larger database query, especially using parallel execution techniques. | 01-13-2011 |
20110029507 | CARDINALITY AND SELECTIVITY ESTIMATION USING A SINGLE TABLE JOIN INDEX - 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). | 02-03-2011 |
20110035368 | System And Method For Processing Database Queries - 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. | 02-10-2011 |
20110040745 | QUICK FIND FOR DATA FIELDS - 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. | 02-17-2011 |
20110055199 | JOIN ORDER OPTIMIZATION IN A QUERY OPTIMIZER FOR QUERIES WITH OUTER AND/OR SEMI JOINS - 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. | 03-03-2011 |
20110082854 | METHODS AND SYSTEMS FOR JOINING INDEXES FOR QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE - 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. An improved query is then generated using the query syntax, wherein the improved query is based at least in part upon the original query and a result of a join between a first number of rows associated with the first index and a second number of rows associated with the second index. | 04-07-2011 |
20110119249 | INDEX BACKBONE JOIN - 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. | 05-19-2011 |
20110131198 | METHOD AND APPARATUS FOR PROVIDING A FILTER JOIN ON DATA STREAMS - 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. | 06-02-2011 |
20110131199 | QUERY PLAN REFORMULATION - 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. | 06-02-2011 |
20110131200 | COMPLEX PATH-BASED QUERY EXECUTION - 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. | 06-02-2011 |
20110161310 | DATABASE QUERY PLAN ANALYSIS AND DIFFERENCE PROCESSING - 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. | 06-30-2011 |
20110184933 | JOIN ALGORITHMS OVER FULL TEXT INDEXES - 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. | 07-28-2011 |
20110196857 | Generating Materialized Query Table Candidates - 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. | 08-11-2011 |
20110208719 | EVALUATING REFERENCE BASED OPERATIONS IN SHARED NOTHING PARALLELISM SYSTEMS - 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. | 08-25-2011 |
20110218987 | HARDWARE ACCELERATED RECONFIGURABLE PROCESSOR FOR ACCELERATING DATABASE OPERATIONS AND QUERIES - 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. The hardware accelerator utilizes hardware-friendly memory addressing, which allows for arithmetic derivation of a physical address from a global database virtual address simply based on a row identifier. The hardware accelerator minimizes memory reads/writes by keeping most intermediate results flowing through IMCs in pipelined and parallel fashion. Furthermore, the hardware accelerator may employ task pipelining and pre-fetch pipelining to enhance its performance. | 09-08-2011 |
20110246447 | INLINE DATA CORRELATION AND HIERARCHICAL DATASETS - 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. | 10-06-2011 |
20110246448 | DATABASE DISTRIBUTION SYSTEM AND METHODS FOR SCALE-OUT APPLICATIONS - 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. | 10-06-2011 |
20110258178 | METHODS AND SYSTEMS FOR PERFORMING CROSS STORE JOINS IN A MULTI-TENANT STORE - Methods and systems for performing cross store joins in a multi-tenant store are described. In one embodiment, such a method includes retrieving data from a multi-tenant database system having a relational data store and a non-relational data store, receiving a request specifying data to be retrieved from the multi-tenant database system, retrieving, based on the request, one or more locations of the data to be retrieved, generating a database query based on the request, in which the database query specifies a plurality of data elements to be retrieved, the plurality of data elements including one or more data elements residing within the non-relational data store and one or more other data elements residing within the relational data store, and executing the database query against the multi-tenant database system to retrieve the data. | 10-20-2011 |
20110258179 | METHODS AND SYSTEMS FOR OPTIMIZING QUERIES IN A MULTI-TENANT STORE - Methods and systems for optimizing queries in a multi-tenant store are described. In one embodiment, such a method includes retrieving data from a multi-tenant database system having a relational data store and a non-relational data store, receiving a request specifying data to be retrieved, retrieving one or more locations of the data to be retrieved, generating a database query based on the request, in which the database query specifies a plurality of data elements to be retrieved, the plurality of data elements including one or more data elements residing within the non-relational data store and one or more other data elements residing within the relational data store, generating an optimized database query having an optimized query syntax that is distinct from a query syntax of the database query, and executing the optimized database query against the multi-tenant database system to retrieve the data. | 10-20-2011 |
20110289069 | JOIN TUPLE ASSEMBLY BY PARTIAL SPECIALIZATIONS - Various embodiments of systems and methods for join tuple assembly by partial specializations are described herein. The join tuple assembly by partial specializations is a phase of the method for join query evaluation by semi-join reduction. By using partial specializations of the non-join part of the WHERE clause of a join query and matching sets, the join tuple assembly is organized in a manner that all computations are necessary, none are repeated, and failure to complete a partial join tuple to a full tuple is detected as early as possible. The method can be applied to inner and outer joins, and to arbitrary join graphs and non-join conditions in the WHERE clause. It can also be used outside the context of semi-join reductions. | 11-24-2011 |
20110295836 | SYSTEMS AND METHODS FOR PROVIDING VALUE HIERARCHIES, RAGGED HIERARCHIES AND SKIP-LEVEL HIERARCHIES IN A BUSINESS INTELLIGENCE SERVER - A business intelligence (BI) server and repository are described which support a set of hierarchical relationships among the data. The BI server receives user input specifying a set of parent-child or other ancestral relationship among a set of data in a data source. The BI server generates a set of SQL queries and executes the queries to pre-populate a set of tables which specify the parent child relationships among the data in the data source. One such table is a parent-child relationship closure table that defines the inter-member relationships among the data members. Once the tables are populated, the BI server uses the closure tables to answer queries that require knowledge of the ancestral relationships among data. | 12-01-2011 |
20110295837 | SYSTEMS AND METHODS FOR PROVIDING MULTILINGUAL SUPPORT FOR DATA USED WITH A BUSINESS INTELLIGENCE SERVER - A business intelligence (BI) server is described that supports data and schemas stored in multiple languages. The BI server implements a lookup table and lookup function that allows users to work with queries in different languages. When the user logs in, a session object is created for the user, which maintains the state information. A session variable specifies the language currently being used by the user. The BI server can inspect this session variable to determine the language of the user and perform the lookup translations as necessary. For example, if the language used by the session is different from the language of the base table storing the necessary information, the BI server can perform a translation by invoking a lookup function. The execution of the lookup can include performing a join operation of the base table with the lookup table to yield a translated value requested by the query. | 12-01-2011 |
20110302151 | Query Execution Systems and Methods - System, method, and computer program product for processing data are disclosed. The method includes receiving a query for processing of data, wherein the data is stored in a table in a plurality of tables, wherein the table is stored on at least one node within the database system, determining an attribute of the table and another table in the plurality of tables, partitioning one of the table and the another table in the plurality of tables using the determined attribute into a plurality of partitions, and performing a join of at least two partitions of the table and the another table using the determined attribute. The join is performed on a single node in the database system. | 12-08-2011 |
20110307471 | Accelerating Database Management System Operations - Techniques for accelerating an operation in a database management system are provided. The techniques include reading data pertaining to a database management system operation from a storage unit, sending the database management system operation data to an accelerator unit, and processing the database management system operation data via the accelerator unit, wherein processing the data via the accelerator unit comprises using a multithreaded execution unit and compression hardware to perform the database management system operation with reduced execution time. | 12-15-2011 |
20110320433 | Automated Joining of Disparate Data for Database Queries - Described is associating metadata with different sources of data (e.g., database tables) that allows a single view of data from the sources to be created. An administrator creates baseviews corresponding to database tables and associates metadata with the baseviews, including primary key metadata for the baseviews and meta-tags for one or more of the columns of each baseview. A user selects fields (corresponding to table columns) from a starting baseview, along with fields from any other baseview that has metadata that matches the starting baseview's metadata. A join mechanism automatically creates the view if a metadata match is detected. | 12-29-2011 |
20120011108 | HASH-JOIN IN PARALLEL COMPUTATION ENVIRONMENTS - According to some embodiments, a system and method for a parallel join of relational data tables may be provided by calculating, by a plurality of concurrently executing execution threads, hash values for join columns of a first input table and a second input table; storing the calculated hash values in a set of disjoint thread-local hash maps for each of the first input table and the second input table; merging the set of thread-local hash maps of the first input table, by a second plurality of execution threads operating concurrently, to produce a set of merged hash maps; comparing each entry of the merged hash maps to each entry of the set of thread-local hash maps for the second input table to determine whether there is a match, according to a join type; and generating an output table including matches as determined by the comparing. | 01-12-2012 |
20120047124 | DATABASE QUERY OPTIMIZATIONS - A method of processing a query is provided. The method includes performing on a processor: receiving a database query that includes a plurality of predicates that associate a subject with an object, where one or more of the predicates is a variable predicate; generating at least one new query by selectively replacing the at least one variable predicate in the database query with a non-variable predicate; and performing the at least one new database query on a database to obtain a query result. | 02-23-2012 |
20120047125 | EXECUTING A QUERY PLAN WITH DISPLAY OF INTERMEDIATE RESULTS - In an embodiment, a FIRSTIO execution plan is selected that has a lowest estimated execution time for finding a number of records that satisfy the query and are simultaneously viewable. An ALLIO execution plan is selected that has a lowest estimated execution time for finding all records that satisfy the query. The FIRSTIO execution plan is executed for a first time period to create a FIRSTIO result set. The ALLIO execution plan is executed for a second time period to create an ALLIO result set. The FIRSTIO result set is displayed if the FIRSTIO result set comprises more records than the ALLIO result set. The ALLIO result set is displayed if the ALLIO result set comprises more records than the FIRSTIO result set. In an embodiment, the first and second time periods expire in response to the expiration of a maximum time specified by the query. | 02-23-2012 |
20120047126 | METHODS AND SYSTEMS FOR HARDWARE ACCELERATION OF STREAMED DATABASE OPERATIONS AND QUERIES BASED ON MULTIPLE HARDWARE ACCELERATORS - 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. | 02-23-2012 |
20120066207 | DATA COMBINATION SYSTEM AND DATA COMBINATION METHOD - A data join system of the present invention includes a table determination unit | 03-15-2012 |
20120072412 | EVALUATING EXECUTION PLAN CHANGES AFTER A WAKEUP THRESHOLD TIME - In an embodiment an execution plan for a query is created. A wakeup threshold is set proportional to an amount of time taken by the creation of the execution plan. In various embodiments, the wakeup threshold is increased by a percentage equal to one minus a percentage of free resources at a computer system, is increased inversely proportional to an amount of execution time of a previous execution of the execution plan, or is decreased proportional to a number of times the execution plan was executed. A portion of the execution plan is executed to produce a portion of rows in a result set until the wakeup threshold expires. After the wakeup threshold expires, changes to the execution plan are evaluated. | 03-22-2012 |
20120089594 | PERFORMING DATABASE JOINS - A method of performing a database join is provided herein. The method includes receiving a query. The query may specify a join of a first table and a second table. The method further includes determining a new predicate based on a mapping between a first column of the first table and a second column of the second table for a plurality of tuples of the join. Further, the method includes modifying the query such that the query comprises the new predicate. | 04-12-2012 |
20120089595 | Hybrid Query Execution Plan - A procedural pattern in a received query execution plan can be matched to a stored pattern for which an equivalent declarative operator has been pre-defined. The query execution plan can describe a query for accessing data. A hybrid execution plan can be generated by replacing the procedural pattern with the equivalent declarative operator. A hybrid execution plan processing cost can be assigned to execution of the hybrid execution plan and a query execution plan processing cost can be assigned to execution of the query execution plan. The assigning can include evaluating a cost model for the hybrid execution plan and the query execution plan. The query can be executed using the hybrid execution plan if the hybrid execution plan processing cost is less than the query execution plan processing cost or the query execution plan if the hybrid execution plan processing cost is greater than the query execution plan processing cost. Related systems, methods, and articles of manufacture are disclosed. | 04-12-2012 |
20120095988 | QUERY OPTIMIZATION ON VPD PROTECTED COLUMNS - A method and apparatus for preserving optimization hints in a transformed query is provided. In one embodiment, the methodology is implemented by query optimization logic. Upon receiving a first query to access values in a column of a table protected by an access control policy, the query optimization logic creates a second query that is equivalent to the first query as subject to the access control policy. Furthermore, the second query contains a new predicate that conjunctively joins a clone of a first expression in a predicate of the first query with a second expression that is derived, based on the access control policy, from the first expression. In one embodiment, the query optimization logic submits the second query for execution. | 04-19-2012 |
20120117055 | Data Skew Insensitive Parallel Join Scheme - A method for creating a joined data set from a join input data set is disclosed. The method starts by categorizing the join input data set into a high-skew data set and a low-skew data set. The low-skew data set is distributed to the plurality of CPUs using a first distribution method. The high-skew data set is distributed to the plurality of CPUs using a second distribution method. The plurality of CPUs process the high-skew data set and the low-skew data set to create the joined data set. | 05-10-2012 |
20120117056 | SYSTEM AND METHOD FOR OUTER JOINS ON A PARALLEL DATABASE MANAGEMENT SYSTEM - There is provided a computer-executable method of executing an outer join on a parallel database management system. An exemplary method comprises receiving an outer skewed values list (SVL). The outer SVL may comprise values that are indicated to be skewed. The exemplary method further comprises receiving an inner SVL. The inner SVL may comprise values that are indicated to be skewed. Additionally, the exemplary method comprises partitioning the outer table and the inner table across a plurality of join instances, based on the outer SVL and the inner SVL. A missing skew value is identified. The missing skewed value may be a value of the inner SVL that is not found in the inner table. The outer join is performed using the plurality of join instances, based on the missing skewed value. | 05-10-2012 |
20120166419 | METHOD, SYSTEM AND PROGRAM FOR CACHE CONTROL IN DATABASE - A system, a program product and an associated method is provided for data processing management in a computing environment having at least a processor. The method comprises creating in the memory an invalidation index having a plurality of rows, each row further comprising a search key field, an ID list field for IDs of records associated with the database, and a count value field. Every time a new reference query is received the processor searches for a row in said invalidation index with an already created search key and then decreases count value of a counter when a match is found and when a match is not found creating a new search key and a new row in an associated invalidation index for said new key. | 06-28-2012 |
20120185461 | METHOD, SYSTEM AND PROGRAM PRODUCT FOR REWRITING STRUCTURED QUERY LANGUAGE (SQL) STATEMENTS - A method and system for rewriting Structured Query Language (SQL) statements. A SQL statement having search criteria including conditions pertaining to fields in database tables is received. A table from the SQL statement listing all combinations of the search criteria is created, every combination reflecting a subset of information used to determine combined results. A set of patterns among the possible combinations of the SQL statement based on the fields referenced in the combinations is identified. The table based on the set of patterns is sorted. Based on the sorting, the table is divided into temporary tables which are joined with the SQL statement. New temporary tables are generated. Each new temporary table includes results of a search conducted using a separate portion of the SQL statement as joined with the set of temporary tables. All results from the new temporary tables are combined into a single result table. | 07-19-2012 |
20120191696 | Selection Of Rows and Values From Indexes With Updates - Methods and apparatus, including computer program products, for selection of rows and values from indexes with updates. In general, rows of an index may be associated with validity flags that indicate whether a row has been updated with an update inserted in a delta index; one scheme for value identifiers may be used for an index and another scheme for one or more delta indexes where all of the indexes are, to at least some extent, compressed according to dictionary-based compression; and multiple delta indexes may be used in alternation such that one delta index may accept updates while another is being updated. The delta indexes may also have validity flags and all updates, such as modifications of values, deletion of records, and inserting of new records may be handled as updates accepted by one or more delta indexes. | 07-26-2012 |
20120197868 | Continuous Full Scan Data Store Table And Distributed Data Store Featuring Predictable Answer Time For Unpredictable Workload - A method for storing and retrieving data in a storage node of a data store and storage node of a data store, storing in main-memory at least one segment of a relational table The storage node includes at least one computational core running at least one scan thread each dedicated to the scanning of one of the at least one segment. At least one scan thread uniquely, continuously and exhaustively scans the dedicated segment of the relational table. The storage node receives and processes batches of query and update operations for the at least one segment of the relational table. The query and update operations of a batch are re-indexed at beginning of each scan by the scan thread. Then, the indexed query and update operations of a batch are independently joined to data records of said segment that match with predicates of the indexed query and update operations. | 08-02-2012 |
20120246145 | Dynamically Generating a Plurality of Interfaces Using Structured Control Files - A system and method allowing customization of a user-interface into a data repository are disclosed. Customization options are provided via a hierarchy and/or compartmentalization of structured control files such as Extensible Markup Language (XML) files. The control files may be defined in a hierarchical fashion allowing a particular end-user or group of end-users to customize their interface without impacting other users of the same data and user-interface system. Compartmentalization of functions to specific files may also aid in ease of maintenance of customizations. Customization may include an ability to customize what data is shown on a screen and which capabilities are available on each screen for data interaction pertaining to a particular job responsibility. Capabilities to provide these and other customization options to an end-user are disclosed in a non-limiting embodiment of an import export trade transaction storage and retrieval system. | 09-27-2012 |
20120246146 | TWO PHASE METHOD FOR PROCESSING MULTI-WAY JOIN QUERY OVER DATA STREAMS - Provided is a method for processing a multi-way join query comprising: filling matrix-based synopses according to input source stream and generating a result vector evaluating a query equation defined by the matrix multiplication operation of the matrix-based synopses corresponding to nodes of a query walk; and generating a result tuple for the multi-way join query from the matrix-based synopses based on the result vector. | 09-27-2012 |
20120246147 | MODULAR QUERY OPTIMIZER - Computer programs encoded on a computer storage medium provide for a modular query optimizer. In one aspect, a computer program product includes selecting one or more projections from a set of projections for each table in a database query wherein each of the selected projections for the table has leads to an estimated lower execution cost for the query as compared to non-selected projections; generating join orders for the query based on data distribution of one or more of the selected projections among sites in a computer network wherein the join orders reflect different combinations of data distribution operations applied to the output of one or more of the query's joins; and selecting a join order from the join orders based on evaluation of the join orders using a cost model. | 09-27-2012 |
20120278306 | RETRIEVING DATA OBJECTS - Provided are techniques for generating a Graphical User Interface (GUI) based on relationships between tables identified in a data model and displaying the GUI to enable selection of the tables and columns in the tables. Via the GUI, a selection of at least one of the tables and a selection of at least one of the columns in the at least one of the selected tables are received. A statement is generated based on the selected tables and the selected columns. The statement is executed to obtain results. The results are processed to create a data object having a hierarchical structure that indicates the relationships between the tables. | 11-01-2012 |
20120278307 | SYSTEM AND METHOD FOR PROCESSING DATABASE QUERIES - 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. | 11-01-2012 |
20120290559 | JOIN ORDER RESTRICTIONS - A query that is submitted to a database is analyzed so as to determine a join order restriction. The join order restriction is associated with a join between two tables of a plurality of tables of the database that participate in the query. The join order restriction constrains its associated join to be executed prior to another join of the query. At least one join plan is generated, the join plan being constrained by the join order restriction. Different join plans include different join orders. A join plan is selected from among the join plans for execution of the query. | 11-15-2012 |
20120310917 | Accelerated Join Process in Relational Database Management System - Techniques are provided for an accelerated join process in a relational database management system. The disclosed join method partitions a plurality of input records using a hash-based technique to form a plurality of partitioned blocks. The partitioned blocks are sorted to form sorted partitioned blocks. The sorted partitioned blocks are then compressed to form a plurality of compressed blocks of records. The compressed blocks of records are stored for each partition in a storage system. The compressed blocks of records associated with a pair of partitions can then be loaded into a main memory. The loaded compressed blocks of records are then decompressed and the decompressed blocks of records are merged into associated merged partitions. Finally, two of the merged partitions are joined by comparing records from each merged partition. In a multi-threaded implementation, multiple pairs of merged partitions can be joined in parallel. | 12-06-2012 |
20120310918 | UNIQUE JOIN DATA CACHING METHOD - Enterprise systems, methods and computer program products are disclosed for providing caching of data retrieved from joined tables and an inheritance table hierarchy of a database in an enterprise. The computer implemented method comprises creating a queue of cursors of a statement associated with a database; evaluating a cursor of the queue and marking as one of a unique record and an object of an inheritance table; and, if a cursor of the queue is marked as one of a unique record and a unique object, then, storing data associated with one of the unique record and object in a data cache for subsequent retrieval, thus avoiding costly network calls. If the process leaves a cursor unevaluated, the method retrieves data from an enterprise database associated with the statement. The process is implemented on an application object server including a data access layer and a kernel instance. | 12-06-2012 |
20120310919 | APPARATUS AND METHOD OF SEARCHING FOR INSTANCE PATH BASED ON ONTOLOGY SCHEMA - An apparatus and method of searching for an instance path based on an ontology schema are provided. The method of searching for an instance path based on an ontology schema, which is performed by an instance path search apparatus, includes (a) receiving two or more keywords from a user and generating a pair of instances with respect to the keywords, respectively, (b) extracting a pair of classes corresponding to each of the pairs of instances from an ontology instance database, respectively, (c) obtaining an ontology schema path with respect to each of the pairs of classes from an ontology schema path database, respectively, and (d) replacing start and end classes with corresponding first and second instances in each of the ontology schema paths and searching for an instance path connected between the first instance and the second instance, respectively. | 12-06-2012 |
20120317093 | PERFORMING PARALLEL JOINS ON DISTRIBUTED DATABASE DATA - The present invention extends to methods, systems, and computer program products for performing parallel joins on distributed database data. Embodiments of the invention include a phased semi-join reduction strategy using replication and shuffle operations to join a first and a second data source. A filter building phase uses replication and pushes down a “Distinct” (e.g., SQL) operator to produce a list of join keys for the first data source (one side of the join). A shuffle phase for the second data source is modified to join to the key list produced in the first phase as a row filtering mechanism. A join phase then joins the first and second data sources. | 12-13-2012 |
20120317094 | Sideways Information Passing - Methods, systems and program products for query optimization using sideways information passing. In one implementation, a join clause in a query is identified that specifies an outer table of tuples to be joined with an inner table, the outer table having one or more attributes, and each of the attributes of the outer table having values stored in an attribute file that is distinct from attribute files in which the values of other attributes are stored. A plan for the query is created which, when executed, causes selection of a subset of tuples of the outer table to serve as input to the join clause in place of the outer table based on one or more predicates applied to the inner table. | 12-13-2012 |
20120323885 | QUERY OPTIMIZATION TECHNIQUES FOR BUSINESS INTELLIGENCE SYSTEMS - A variety of query optimization techniques are described herein. A first query optimization technique, referred to herein as non-empty transformation, may be applied to queries that specify one or more measures, a dimensional context within which the measure(s) are to be evaluated, and a filter condition specifying that rows with only empty measure values be excluded from a result set. The non-empty transformation technique enables such queries to be rewritten into another format that can be executed more efficiently than the original queries. A second query optimization technique described herein involves restructuring an operator tree representation of a query so as to avoid unnecessary duplicated evaluation of extension columns. A third query optimization technique described herein automatically selects a minimum number of join columns having the lowest cardinality for implementing a join between two tables. | 12-20-2012 |
20120330923 | VALUE-BASED POSITIONING FOR OUTER JOIN QUERIES - Enterprise systems, methods and computer program products are disclosed for providing value-based positioning for outer join database queries in an enterprise resource planning system operating on a specially programmed computer server. The computer implemented method comprises; receiving a query at a server and processing the query for inner join and then evaluating a returned value for Order by direction and whether the current row returns NULL. Depending on forward paging and reverse paging for outer join, the process involves changing an inequality operator depending on the evaluated Order by direction and whether the current row is NULL. The process for inner join and outer join queries is implemented on an application object server including a kernel instance, a query framework and query generation model and a data access layer engine to a database of the enterprise resource planning system. | 12-27-2012 |
20120330924 | METHOD AND SYSTEM FOR QUERYING AN ON DEMAND DATABASE SERVICE - Methods and systems are provided for querying a multi-tenant database. One exemplary method of generating an improved query plan to a database from an input query submitted to an on demand database service over a network involves determining guidance information appropriate to the input query based at least in part on an identity of a source of the input query, determining a database hint for processing the input query based at least in part on the guidance information, and providing the database hint to the database to form the improved query plan, thereby enabling the database to return an improved result responsive to the input query based at least in part upon the database hint. | 12-27-2012 |
20130006961 | DATA DRIVEN NATURAL INTERFACE FOR AUTOMATED RELATIONAL QUERIES - A data driven natural interface is provided for automated relational queries. Multiple datasets are displayed in an easily selectable manner on a surface. Upon detecting selection and movement of a dataset to another surface, the moved data is presented on the other surface. Upon detecting selection and movement of another dataset to the other surface, a join path between the moved datasets is computed, the datasets joined, and results displayed on the other surface. The system continues to join newly selected data with existing data as new datasets are moved to the other surface allowing query results to take shape before the user's eyes, without a need to test or execute the query. | 01-03-2013 |
20130006962 | JOIN TUPLE ASSEMBLY BY PARTIAL SPECIALIZATIONS - Various embodiments of systems and methods for join tuple assembly by partial specializations are described herein. The join tuple assembly by partial specializations is a phase of the method for join query evaluation by semi-join reduction. By using partial specializations of the non-join part of the WHERE clause of a join query and matching sets, the join tuple assembly is organized in a manner that all computations are necessary, none are repeated, and failure to complete a partial join tuple to a full tuple is detected as early as possible. The method can be applied to inner and outer joins, and to arbitrary join graphs and non-join conditions in the WHERE clause. It can also be used outside the context of semi-join reductions. | 01-03-2013 |
20130013584 | DATABASE CONSISTENT SAMPLE DATA EXTRACTION - Various embodiments of systems and methods for database consistent sample data extraction are described herein. The technique uses production data as input and outputs sample data in the same relational schema while preserving the integrity of joins of the different tables in the schema. For a given relational schema, the master tables are found. Then a subset is created by placing selection criteria in a query defining how to sample the data for these master tables. Following the joins, the dependent tables are added to the query automatically. | 01-10-2013 |
20130013585 | HASH JOIN AND HASH AGGREGATION INTEGRATION SYSTEM - A hash integration system includes a hash join module including build and probe inputs. A hash aggregation module may aggregate on the probe input of the hash join module, and a hash table generation module may generate an integrated hash table including a record with values from the build and aggregated probe inputs. The hash join module may join the build and aggregated probe inputs to form a joined output. | 01-10-2013 |
20130013586 | METHOD AND SYSTEM FOR DATA MINING FOR AUTOMATIC QUERY OPTIMIZATION - A database monitor tracks performance statistics and information about the execution of different SQL statements. A query optimizer benefits from these statistics when generating an access plan. In particular, the query optimizer, upon receiving an SQL statement, searches the records of the database monitor for similar SQL statements that have previously been executed. As part of determining the best access plan for the current SQL statement, the query optimizer considers the information retrieved from the database monitor. In this way, the access plan that is generated can automatically be tuned based on empirical performance evidence. | 01-10-2013 |
20130031084 | Multiple dimensioned database architecture - A database management system stores data form a plurality of logical tables as independent copies in different format. In one specific example the system organizes tables into table groups and de-normalizes the table in each table group. It also organizes data in a second format including vertical column containers that store all the data for one attribute, there being one column container for each table and each attribute within that table. The receipt of a query causes the system to develop a query plan that can interact with either or both of the container sets. | 01-31-2013 |
20130054567 | DYNAMIC REORDERING OF OPERATIONS IN A QUERY PLAN - There is provided a computer-implemented method of dynamically reordering operations in a query plan. An exemplary method comprises processing a first set of tuples according to a first operation. The query plan is pipelined and specifies that the first operation generates input for a second operation. The query plan further specifies that the second operation is executed after the first operation. The computer-implemented method further includes determining that the second operation is to precede the first operation based on a specified policy. The computer-implemented method further includes executing the second operation for a second set of tuples before executing the first operation for the second set of tuples. The second operation generates an input for the first operation. The first operation is executed after the second operation. | 02-28-2013 |
20130054568 | Database Query - Mechanisms for performing database queries are provided. With these mechanisms, in response to a query request, a query plan intended for minimum query response time and a query plan intended for minimum query total time for the query request are obtained execution of the minimum query response time query plan and the minimum query total time query plan is started. Before the execution of the minimum query total time query plan reaches a specified point, an initial query result obtained from the execution of the minimum query response time query plan is output. In response to the execution of the minimum query total time query plan reaching the specified point, continuing the execution of the minimum query total time query plan to output remaining query results. | 02-28-2013 |
20130066849 | TAG MANAGEMENT DEVICE, SYSTEM AND RECORDING MEDIUM - A tag management device executes a process including adding, to data received, sort-free identifiers that indentifies receiving order, and are monotonically increasing or monotonically decreasing numbers or character strings arranged in alphabetical order or a combination thereof; storing, sequentially in a first storing unit associated with a tag that is added to the received data, the identifiers added at the adding; storing, sequentially in a second storing unit in an associated manner, the received data and the identifiers added at the adding; and searching, when a storing unit associated with a tag to be searched for is the first storing unit, data associated with the tag to be searched for by joining, using an inner join or an outer join, information stored in the first storing unit and information stored in the second storing unit. | 03-14-2013 |
20130073537 | QUERY PLAN REFORMULATION - 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. | 03-21-2013 |
20130091120 | INTEGRATED FUZZY JOINS IN DATABASE MANAGEMENT SYSTEMS - A fuzzy joins system that is integrated in a database system generates fuzzy joins between records from two datasets. The fuzzy joins system includes a tokenizer to generate tokens for data records and a transformer to find transforms for the tokens. The fuzzy joins system invokes a signature generator, running within a runtime layer of the database system, to generate signatures for data records based on the tokens and their transforms. Subsequently, an equi-join operation joins the records from the two datasets with at least one equal signature. A similarity calculator, running within a runtime layer of the database system, computes a similarity measure using the token information of the joined records. If the similarity measure for any two records is above a threshold, the fuzzy joins system generates a fuzzy join between such two records. | 04-11-2013 |
20130103670 | DYNAMIC SMT IN PARALLEL DATABASE SYSTEMS - A data management system receives a query. A query optimizer determines an access plan for the query. The access plan has a plurality of stages, where each stage may have a different degree of parallelism for processing threads executing the stage. The query optimizer determines a maximum degree of parallelism for the plurality of stages and reserves processor cores based on the maximum degree of parallelism. The data management system schedules threads on the reserved processor cores for a first stage of the access plan. The data management system changes simultaneous multi-threading (SMT) mode for the processor cores when a second stage of the access plan having a different degree of parallelism is executed. | 04-25-2013 |
20130110819 | ACCOMMODATING GAPS IN DATABASE INDEX SCANS | 05-02-2013 |
20130117255 | ACCESSING A DIMENSIONAL DATA MODEL WHEN PROCESSING A QUERY - Techniques are disclosed for accessing a dimensional data model when processing a query. In one embodiment, the query is processed by performing a two-stage zigzag join operation including a zigzag main join and a zigzag back join. The zigzag main join is configured to generate a set of row identifiers of fact records satisfying any local predicates in the query. The zigzag back join is configured to generate query results based on the set of row identifiers. The query results are returned responsive to the query. | 05-09-2013 |
20130124500 | QUERY REWRITE FOR PRE-JOINED TABLES - Various aspects of this disclosure are directed to receiving, by a computing device, a first table join query that may include a first group of table identifiers that identify the two or more tables. The computing device may determine whether the first table join query includes an outer join command. When the first table join query includes the outer join command, the computing device may compare the first group of table identifiers and a second group of table identifiers of one or more pre-joined tables to determine whether each of the first table identifiers matches at least one of the second group of table identifiers. The computing device may further determine whether a predicate associated with each table identifier matches a predicate associated with a matching second table identifier. When each of the predicates match, the computing device may rewrite the first table join query. | 05-16-2013 |
20130124501 | SYSTEM, METHOD AND COMPUTER-READABLE MEDIUM FOR OPTIMIZATION OF MULTIPLE-PARALLEL JOIN OPERATIONS ON SKEWED DATA - Techniques that facilitate management of skewed data during a parallel multiple join operation are provided. Portions of tables involved in the join operation can be distributed among a plurality of processing modules, and each of the processing modules can be provided with a list of skewed values of a join column of a larger table involved in the join operation. Each of the processing modules can scan the rows of first and second tables distributed to the processing modules and compare values of the join columns of both tables with the list of skewed values. One or more of the processing modules can then redistribute the skewed values. | 05-16-2013 |
20130138627 | Quick Find for Data Fields - 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. | 05-30-2013 |
20130138628 | HASH-JOIN IN PARALLEL COMPUTATION ENVIRONMENTS - According to some embodiments, a system and method for a parallel join of relational data tables may be provided by calculating, by a plurality of concurrently executing execution threads, hash values for join columns of a first input table and a second input table; storing the calculated hash values in a set of disjoint thread-local hash maps for each of the first input table and the second input table; merging the set of thread-local hash maps of the first input table, by a second plurality of execution threads operating concurrently, to produce a set of merged hash maps; comparing each entry of the merged hash maps to each entry of the set of thread-local hash maps for the second input table to determine whether there is a match, according to a join type; and generating an output table including matches as determined by the comparing. | 05-30-2013 |
20130151502 | Mixed Join of Row and Column Database Tables in Native Orientation - A mixed join between database column and row tables employs an algorithm that recognizes both row and column store, and is executable upon the data in its native form (row or column) without requiring conversion between orientations. The native mixed join algorithm accesses the column dictionary of the column table for efficient join processing. The native mixed join algorithm may also exploit an inverted index (if present) to search a record (e.g. docid) with a given value. In particular, the native mixed join algorithm looks up a column dictionary for a join condition, while iterating the row table and returning matched records in a pipelined manner. | 06-13-2013 |
20130159280 | Analyzing and Representing Interpersonal Relations - A computer-implemented method for analyzing and representing interpersonal relations includes: receiving, in a computer system, a user input requesting a representation of interpersonal relations regarding a person; executing, based on the user input and in a relational database, a relational-database query that selects relations involving the person, and that selects other persons involved in any of the selected relations, wherein the relational-database query is performed for each of the selected other persons until a maximum number of steps; and providing the representation of interpersonal relations in response to the user input, the representation indicating at least persons selected by the relational-database query. | 06-20-2013 |
20130166534 | Hybrid Database Table Stored as Both Row and Column Store - A hybrid database table is stored as both a row and a column store. One or more techniques may be employed alone or in combination to enhance performance of the hybrid table by regulating access to, and/or the size of, the processing-intensive column store data. For example during an insert operation, the column store data may be searched for a uniqueness violation only after certain filtering and/or boundary conditions have been considered. In another technique, a hybrid table manager may control movement of data to the column store based upon considerations such as frequency of access, or underlying business logic. In still another technique, querying of the hybrid table may result in a search of the column store data only after an initial search of row store data fails to return a result. | 06-27-2013 |
20130166535 | Generic outer join across database borders - Methods and apparatus, including computer program products, are provided for receiving an indication of a defined outer join to enable obtaining a first database table at a first database and a second database table at a second database; sending a first request to the first database to obtain the first database table; sending a second request to the second database to obtain the second database table; receiving, in response to the first and second requests, each of the first and second database tables; performing an outer join on the received first and second database tables, the outer join forming an output database table; and providing the output database table. | 06-27-2013 |
20130173588 | TECHNIQUES FOR UPDATING JOIN INDEXES - Techniques for updating join indexes are provided. A determination is made to update date criteria in a join index query statement. The join index is parsed for current date and current time criteria. The join index is revised based on the location of the current date and current time criteria as they appear in the original join index. The revisions include new criteria that minimize the effort in maintaining and using the join index. | 07-04-2013 |
20130173589 | TECHNIQUES FOR OPTIMIZING OUTER JOINS - Techniques for optimizing outer joins in database operations are provided. In an embodiment, a query having an outer join with a GROUP BY clause is rewritten and expanded to expand a first level partition of that GROUP BY clause to produce a modified query. In another situation, rows associated with processing a query are each row split and then hashed based at least in part on attributes of the outer join predicate. A left outer join is performed and a global aggregation processed to produce a spooled table to process the query. | 07-04-2013 |
20130173590 | OPTIMIZING NESTED DATABASE QUERIES THAT INCLUDE WINDOWING OPERATIONS - A nested database query can be optimized by effectively representing a filtering function or operation (e.g., SQL filtering operation) of its outer sub-query by a qualification or qualify operation (e.g., SQL qualification operation) associated with at least one windowing function of at least one of its inner sub-queries. It will be appreciated that this representation can yield a modified query that would be equivalent (e.g., semantically equivalent) to the original nested query as its execution can produce the same results when optimization rules are applied. | 07-04-2013 |
20130185280 | MULTI-JOIN DATABASE QUERY - A method includes performing a query of a database. The query includes joining a first Domain-Model-sub-class table with a Domain-Model table based on identity attributes present in both the first Domain-Model-sub-class table and Domain-Model table to produce a first joined table. The query further includes joining the first joined table with an access control list (ACL) entry table based on an ACL object identity attribute present in both the first joined table and the ACL entry table to produce a second joined table. The query also includes joining the second joined table with a second Domain-Model-sub-class table based on an ACL security identity present in both the second joined table and the second Domain-Model-sub-class table to produce a third joined table. | 07-18-2013 |
20130185281 | FLEXIBLE DATABASE AND ITERATIVE SPATIAL SEARCH PROCESS - A flexible database and iterative spatial search process is described. In an embodiment, a flexible database server is described which takes input queries in the form of XML strings describing a search specification and parses them using a stored procedure. Searching is performed by generating a temporary table for each term in the search specification and then comparing the temporary tables to pre-existing tables within the database to identify datasets that meet the search specification. An application is also described which generates the XML string in response to user input and which displays the results to a user. The application provides a user interface which enables users to select attributes of results, such as the spatial data associated with a dataset, to include in a second search specification and to trigger this new search. | 07-18-2013 |
20130185282 | CLIENT AND DATABASE PROBLEM DETERMINATION AND MONITORING - Provided are techniques for collecting client information for client applications running on a client computer, wherein the client information includes a client application identifier for each client application that issues queries to a database along with text of each of the queries that the client application issues; collecting database monitoring information that includes text of each query issued against the database and performance information for each query; combining the client information and the database monitoring information based on the text of the queries to obtain combined information that provides the client application identifier and the performance information for each of the queries; and identifying a problem query and at least one client application that has issued the problem query using the combined information. | 07-18-2013 |
20130198164 | Executing CASE Expressions Containing Subqueries - Methods and apparatus, including computer program products, implementing and using techniques for executing a query in a computer to retrieve data from a relational database stored on a data storage device. A query is received that contains a CASE expression having one or more subqueries. A query execution plan is generated. The query execution plan uses a parameterized union all operator to keep the semantics of the CASE expression, and a nested loop join operator to drive data across the section of the query execution plan that executes the CASE expression without performing any join operations. The generated query execution plan is executed in the computer to retrieve data from the relational database. | 08-01-2013 |
20130198165 | GENERATING STATISTICAL VIEWS IN A DATABASE SYSTEM - Techniques are disclosed for generating statistical views in a database system. In one embodiment, a request is received to execute a database workload. One or more constraints pertaining to executing the database workload is retrieved. The database workload is evaluated to generate multiple statistical view candidates. The statistical view candidates are refined based on the one or more constraints. One or more statistical views are then generated based on the refined statistical view candidates. | 08-01-2013 |
20130218866 | MULTIMODAL GRAPH MODELING AND COMPUTATION FOR SEARCH PROCESSES - Architecture that includes a multimodal graph modeling and computation system employed in a search framework. The framework utilizes entities to diversify and explore the results page. The multimodal graph modeling paradigm can include web modeling by way of a click graph, a web graph, a social graph, a geospatial graph, and an entity graph, for example. These graphs are then joined based on common properties such as links, clicks, and document entities. Computation can then be performed over the joined graphs to generate a related entity list and a related page list. These lists are then processed by a recommendation engine to provide recommendations to the user. | 08-22-2013 |
20130226901 | PROCESSING ABSTRACT DERIVED ENTITIES DEFINED IN A DATA ABSTRACTION MODEL - A method, apparatus and article of manufacture for utilizing an abstract derived entity are disclosed. An abstract derived entity is a data object present in an abstract data model that may be referenced by other entities in the abstract data model as though it were a relational table present in a physical data source. In one embodiment, an abstract data model provides data access independent of the manner in which the data is physically represented in a set of physical data sources. In addition, an abstract derived entity may be used to provide aggregate data joined with other non-aggregate data. Aggregate data values are calculated from the column of a relational table, or other sets of input data. In one embodiment, an abstract derived entity may describe a describe relational table comprising a set of aggregate data used to form a column of the relational table joined to other columns formed from the sets of input data specified by the abstract derived entity. The resulting abstract derived table may be queried as though it were an actual relational table stored in a physical data source. | 08-29-2013 |
20130226902 | SYSTEM AND PROGRAM FOR JOINING SOURCE TABLE ROWS WITH TARGET TABLE ROWS - A data processing system, and an article of manufacturing, join rows associated with a source table column with rows associated with a target table column. A source node and a target node contain the source and target tables, respectively. A reduced representation of selected rows associated with the source table column is generated, as is a representation of the target table column. A filtering module filters the generated reduced representation of selected rows associated with the source table column through the generated representation of the target table column, the filtered generated reduced representation of selected rows identifying source table rows that do not have to be joined with the target table. The rows associated with the source table column minus the filtered generated reduced representation of selected rows are joined to the rows associated with the target table column. | 08-29-2013 |
20130232133 | SYSTEMS AND METHODS FOR PERFORMING A NESTED JOIN OPERATION - Systems and methods are provided for performing a nested join operation. Partitioning key values are computed for an outer data source using a partitioning key function used to partition an inner table. A join process is established for each of a plurality of partitions of the inner table (at | 09-05-2013 |
20130238596 | METHOD TO DETECT REFERENCE DATA TABLES IN ETL PROCESSES - A method, system and computer program product for identifying reference data tables in an Extract-Transform-Load (ETL) process, by identifying, by operation of one or more computer processors, at least a first reference data operator in the process, wherein the first reference data operator references one or more tables and evaluating at least a first table referenced by the reference data operator to determine whether the first table is a reference data table by assigning a score to the first table, wherein the score is indicative of the likelihood that the first table is a reference data table and wherein a reference data table contains a set of values that describes other data. | 09-12-2013 |
20130254183 | SEMANTIC DISCOVERY AND MAPPING BETWEEN DATA SOURCES - An apparatus and method are described for the discovery of semantics, relationships and mappings between data in different software applications, databases, files, reports, messages, or systems. In one aspect, semantics and relationships and mappings are identified between a first and a second data source. A binding condition is discovered between portions of data in the first and the second data source. The binding condition is used to discover correlations between portions of data in the first and the second data source. The binding condition and the correlations are used to discover a transformation function between portions of data in the first and the second data source. | 09-26-2013 |
20130262433 | Filtering a Distributed Join - Methods, program products, and systems for filtering a distributed join are described. A computing device can receive a database join request to join a first table stored on a first system and a second table stored on a second system to create a related data set. The join request can include a filtering condition for filtering the related data set. The system can divide the filtering condition into a first sub-condition and a second sub-condition, and send the first sub-condition and a second sub-condition to the first system and second system, respectively. The first system and second system can then perform filtering locally, and send filtered intermediate result to the computing device. | 10-03-2013 |
20130275407 | ADAPTIVE PROCESSING OF TOP-K QUERIES IN NESTED-STRUCTURE ARBITRARY MARKUP LANGUAGE SUCH AS XML - A method of adaptively evaluating a top-k query involves ( | 10-17-2013 |
20130282694 | METHOD AND COMPUTER PROGRAM FOR EVALUATING DATABASE QUERIES INVOLVING RELATIONAL AND HIERARCHICAL DATA - A method and apparatus for resolving conjunctive queries, comprising relational predicates and external predicates, such as XML predicates. The method and apparatus obtain results from a relational engine or from an external engine, and then use the obtained results as input for the other engine, so as to optimize the activity of the other engine. The process may repeat further times, with the results obtained by the other engine being input to the first engine. The method and apparatus further disclose handling value, being isomorphic hierarchical sub-trees. | 10-24-2013 |
20130290293 | Calculating Count Distinct Using Vertical Unions - A query statement is received that specifies a count distinct. Thereafter, a data flow graph that comprises a plurality of nodes for executing the query is generated. The nodes provide aggregation operations, sorting of results on join attributes and vertically appending columns of count distinct results with intermediate results from at least one of the aggregation operations. Thereafter, execution of the query is initiated using the data flow graph. Related apparatus, systems, techniques and articles are also described. | 10-31-2013 |
20130290294 | EVALUATION BY NESTED QUERIES - A system, method, and non-transitory computer readable medium are disclosed herein to optimize nested queries. At least one field is associated with each row of data evaluated by at least one nested query. A value is assigned to the at least one field so as to indicate whether each row of data satisfies the at least one nested query. The at least one field associated with each row of data is evaluated to determine satisfaction of the at least one nested query. | 10-31-2013 |
20130290295 | MAINTAINING FAULT DOMAINS IN A DISTRIBUTED DATABASE - In at least some examples, a system includes a distributed database and control logic to enable updates and queries to the distributed database. The control logic applies a plurality of identifiers to the updates and queries to maintain distinct fault domains in the distributed database. | 10-31-2013 |
20130311442 | System, Method, and Data Structure for Automatically Generating Database Queries which are Data Model Independent and Cardinality Independent - Systems and methods are provided for performing a database query. After receiving an identification of data item components and associations between the data item components, wherein the data item components include a measure and a category, a query generation system creates and executes a database query that comprises one or more Uqueries, wherein each Uquery comprises a Mx segment subquery and a U0 segment subquery. The Mx segment subquery is associated with a table that contains the measure, a table that contains columns for a calculated measure, or a correlated table, and the U0 segment subquery is associated with a table that contains the category, a table that contains columns for a calculated category, a dependent measure table, or a dependent filter table. The query generation system can generate a virtual results table by aggregating Uquery results from one Uquery with Uquery results from another Uquery. | 11-21-2013 |
20130311443 | METHOD AND SYSTEM FOR COMBINING DATA OBJECTS - Systems and methods for combining data objects are provided. A computer system may analyze each of the data objects, identify at least one possible combination operation between the data objects, and present the identified combination operation to a user interface. The identified combination operation may include a union or a join operation. The computer system may further determine a combination grade associated with the identified combination operation and present the combination grade to the user interface. Subsequently, the computer system may receive a selection of a particular presented combination operation via the user interface and execute the particular combination operation between the data objects. | 11-21-2013 |
20130311444 | Efficient Top-Down Hierarchical Join On A Hierarchically Clustered Data Stream - An apparatus for conducting a hierarchical join on a hierarchically clustered data stream is disclosed. The apparatus may include a memory storing query conditions that each determine whether a Structured Query Language query is suitable for performing a non-buffering read operation on a hierarchical data storage. A processor in communication with the memory may be configured to receive a Structured Query Language (“SQL”) query from a client device and evaluate the SQL query for one or more of the query conditions stored in the memory. When the processor determines that the SQL query satisfies one or more of the query conditions, the processor may then perform a non-buffering read operation on the hierarchical data storage to obtain a hierarchically clustered data stream. The hierarchically clustered data stream may be evaluated to obtain a plurality of record results, which may be transmitted to the client device. | 11-21-2013 |
20130311445 | JOIN PROCESSING DEVICE, DATA MANAGEMENT DEVICE, AND STRING SIMILARITY JOIN SYSTEM - Provided is a join processing device that performs a similarity join process to plural tuples using an edit distance threshold value τ (positive integer). The join processing device includes a join processing unit that excludes, from a target of edit distance calculation, a pair of tuples that do not have any common character in an end portion ranging from a head character or a tail character to a (τ+1)th character in a join key string in each of the tuples. | 11-21-2013 |
20130318067 | HARDWARE-ACCELERATED RELATIONAL JOINS - Techniques are provided for hardware-accelerated relational joins. A first table comprising one or more rows is processed through a hardware accelerator. At least one join column in at least one of the one or more rows of the first table is hashed to set at least one bit in at least one bit vector. A second table comprising one or more rows is processed through a hardware accelerator. At least one join column in at least one of the one or more rows of the second table is hashed to generate at least one hash value. At least one bit vector is probed using the at least one hash value. A joined row is constructed responsive to the probing step. The row-construction step is performed in the hardware accelerator. | 11-28-2013 |
20130332449 | GENERATING DATA PROCESSING CODE FROM A DIRECTED ACYCLIC GRAPH - The present invention provides a computer-implemented code generation system that generates data processing code from a directed acyclic graph (DAG). The generated code is both declarative and procedural, and can be run in a relational database or in a Map Reduce implementation using Apache Pig. Each node of the DAG specifies operations performed on tabular data that can be stored in a delimited plain text file, a spreadsheet, or a relational database. | 12-12-2013 |
20130346389 | TECHNIQUES FOR PROCESSING GROUP MEMBERSHIP DATA IN A MULTI-TENANT DATABASE SYSTEM - In accordance with embodiments, there are provided techniques for processing group membership data in a multi-tenant database system. These techniques for processing group membership data in a multi-tenant database system may enable embodiments to provide great flexibility to a tenant of the architecture to select the content that may be perceived by the tenant users while allowing the owner of the architecture control over the content. | 12-26-2013 |
20140006379 | EFFICIENT PARTITIONED JOINS IN A DATABASE WITH COLUMN-MAJOR LAYOUT | 01-02-2014 |
20140006380 | EFFICIENT PARTITIONED JOINS IN A DATABASE WITH COLUMN-MAJOR LAYOUT | 01-02-2014 |
20140012835 | GENERATING STATISTICAL VIEWS IN A DATABASE SYSTEM - Techniques are disclosed for generating statistical views in a database system. In one embodiment, a request is received to execute a database workload. One or more constraints pertaining to executing the database workload is retrieved. The database workload is evaluated to generate multiple statistical view candidates. The statistical view candidates are refined based on the one or more constraints. One or more statistical views are then generated based on the refined statistical view candidates. | 01-09-2014 |
20140032526 | SYSTEMS AND METHODS FOR RELINKING DATA ITEMS - In one example embodiment, a method is implemented to relink a data item. The method includes identifying that a data item, referenced by a referencing document, is absent from a data item location for the data item indicated by the referencing document. User preference data, indicating a designated relink location to search for absent data items, is accessed. The relink location is searched for the absent data items. Another example embodiment may include a method to relink a current data item to a replacement data item location by accessing user preference data and searching a relink location for a replacement data item in accordance with the relink location indicated by the user preference data. | 01-30-2014 |
20140067789 | OPTIMIZATION TECHNIQUE OF GENERALIZED DISJUNCTIVE SEMI/ANTI JOIN - A method, apparatus, and stored instructions are provided for transforming a query representation by unnesting a predicate condition that is based on whether or not a result exists for a subquery of the predicate condition. An initial query representation is received. The initial query representation represents an initial query that includes an EXISTS-equivalent predicate or a NOT-EXISTS-equivalent predicate and at least one other predicate in a disjunction. The initial query representation is transformed into a semantically equivalent transformed query representation that represents a transformed query. The transformed query includes, instead of the EXISTS-equivalent predicate or a NOT-EXISTS-equivalent predicate, a join operator that references the data object. The transformed query representation, when used for execution, causes the at least one other predicate to be applied separately from a join operation caused by the join operator such that execution of the initial representation is semantically equivalent to execution of the transformed representation. | 03-06-2014 |
20140067790 | TECHNIQUES FOR CONSTRUCTING MINIMUM SUPERSETS OF TEST DATA FROM RELATIONAL DATABASES - A computer-implemented method is provided for constructing a minimum superset of data that complies with referential completeness as well as other specified data relationships. Given extraction criteria for the data, an iterative process analyzes the database for records to be included in the minimal superset. The iterative process includes: selecting a given table from a listing of tables implicated by the extraction criteria; identifying tables in the relational database having either a parent or a child relationship with the given table; evaluating concurrently and asynchronously each of the identified tables; and repeating these steps for each of the tables in the listing of tables. | 03-06-2014 |
20140067791 | Automatic Denormalization For Analytic Query Processing In Large-Scale Clusters - A system and method for improving performance of join operations is disclosed. The method in one embodiment includes building a graph of vertices and edges, which represent the tables and join conditions for a particular database schema. The method then traverses the graph to find a set of candidate join operations. The method further includes selecting from the set of subset of join operations that makes the best use of a given amount of memory, which means finding a collection of denormalizations which when residing in memory provide the most benefit and the least cost for the given amount of memory. The method then deploys the denormalizations so that current queries in a query processing system can use them instead of actually performing the joins. | 03-06-2014 |
20140074818 | MULTIPLICATION-BASED METHOD FOR STITCHING RESULTS OF PREDICATE EVALUATION IN COLUMN STORES - A system joins predicate evaluated column bitmaps having varying lengths. The system includes a column unifier for querying column values with a predicate and generating an indicator bit for each of the column values that is then joined with the respective column value. The system also includes a bitmap generator for creating a column-major linear bitmap from the column values and indicator bits. The column unifier also determines an offset between adjacent indicator bits. The system also includes a converter for multiplying the column-major linear bitmap with a multiplier to shift the indicator bits into consecutive positions in the linear bitmap. | 03-13-2014 |
20140089291 | System and Method for Processing Database Queries - 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. | 03-27-2014 |
20140089292 | LEAPFROG TREE-JOIN - A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S | 03-27-2014 |
20140095469 | OPTIMIZATION OF DATABASE QUERY - Described herein is a technology for facilitating optimization of database queries is described herein. In some implementations, a first query is received. At least one scenario for optimization is automatically recognized by detecting specific syntax in the query. A second query is then automatically generated by re-writing the first query using a pre-defined operation corresponding to the recognized scenario. | 04-03-2014 |
20140095470 | DATABASE QUERY IN A SHARE-NOTHING DATABASE ARCHITECTURE - Data query in a share-nothing database includes obtaining a query request and generating an optimized access plan with respect to the query request. The query request relates to external data stored in an external data source and contains a definition for expected distribution of the external data. The data query also includes obtaining data distribution information related to the expected distribution based on the optimized access plan, transmitting the data distribution information to the external data source so that the external data source splits and returns the external data in accordance with the data distribution information, and executing query-related processing of the split external data in accordance with the optimized access plan. | 04-03-2014 |
20140095471 | JOIN OPERATIONS FOR CONTINUOUS QUERIES OVER ARCHIVED VIEWS - A continuous query may be received, the continuous query being identified based at least in part on an archived view. The archived view may be created and/or identified based at least in part on a join query related to two or more archived relations associated with an application, at least one of the two or more archived relations being identified as a dimension relation. A query plan for the continuous query may be generated. A join operator in the query plan may be identified based at least in part on the dimension relation. A state of an operator corresponding to the dimension relation may be initialized. It may be identified if the state of the operator identifies an event that detects a change to the dimension relation. The continuous query may be re-started based at least in part on the event that detects the change to the dimension relation. | 04-03-2014 |
20140095472 | ADAPTIVE QUERY OPTIMIZATION - Techniques for processing queries are provided. In one approach, an execution plan for a query includes multiple sub-plans, one or more of which are selected at runtime while one or more other sub-plans are not executed during execution of the execution plan. In another approach, data about misestimate is generated and stored persistently for subsequent queries. In another approach, statistics for a database object are generated automatically and efficiently while the database object is created or data items are added thereto. In another approach, a hybrid histogram is created that includes a feature of frequency histograms and a feature of height-balanced histograms. In another approach, computer jobs are executed in such a way to avoid deadlock. In another approach, changes to a database object trigger a hard parse of a query even though an execution plan already exists for the query. | 04-03-2014 |
20140101129 | HIGH PERFORMANCE SECURE DATA ACCESS IN A PARALLEL PROCESSING SYSTEM - A mechanism is provided for secure data access in a parallel processing system. A database having two tables is provided. A subset of the tables' primary key attributes is considered sensitive. A first user is authorized to access the primary key's sensitive attribute in an unmasked format, while a second user is authorized to access same data in a masked format. Two security tables are generated having a plurality of entries mapping the values of the primary key attribute in the unmasked format to the values of the primary key attribute in the masked format. A security view is generated joining the two security tables. The security view grants the first user access to the values of the primary key's sensitive attribute in the unmasked format only and grants the second user access to the values of the primary key's sensitive attribute in the masked format only. | 04-10-2014 |
20140101130 | JOIN TYPE FOR OPTIMIZING DATABASE QUERIES - A query complier analyzes a query to identify a correlated scalar subquery. The query complier transforms the query having the correlated scalar subquery into a query of AGGREGATION INNER/OUTER JOIN or MAX1ROW INNER/OUTER JOIN depending on a result type of the correlated scalar subquery. The AGGREGATION INNER/OUTER JOIN performs JOIN on the rows of the correlated scalar subquery with the rows of a main query and AGGREGATE on the joined rows and returns a result of the joined rows of the main query and aggregation value thereof. The MAX1ROW INNER/OUTER JOIN performs JOIN on the rows of the correlated scalar subquery with the rows of a main query, raises Error when the number of joined rows of the subquery is two or more and returns a result of the row of the main query and the joined row of the subquery. | 04-10-2014 |
20140136511 | DISCOVERY AND USE OF NAVIGATIONAL RELATIONSHIPS IN TABULAR DATA - Detection and use of relationships in tabular data is enhanced. A foreign-key-based relationship between two tables in memory is automatically discovered by a module. A view over table data is computationally augmented by adding an expandable hierarchical column. The expandable hierarchical column includes second table data that is related to rows of a first table by the discovered foreign-key-based relationship. A naming scheme for the added column is described. Sometimes the augmentation places an AddJoinColumn operator in a query expression tree; sometimes the tree is rewritten by moving a query operator or replacing a specified pattern of operators by a flat Join operation between two tables. Column expansion may be followed by reshaping data into a flat table, by getting a homogeneous query, by performing a join, or other operations. | 05-15-2014 |
20140149388 | METHOD AND SYSTEM FOR ESTIMATING THE SIZE OF A JOINED TABLE - A method, system, and/or computer program product estimate a cardinality of a joined table (T) obtained by joining at least a first data column (R) and a second data column (S), where R and S each comprise attribute values. A first density distribution function f(x) describes a frequency of the attribute values of R. A second density distribution function (g(x)) describes the frequency of the attribute values of S. A first information on values in R is based on a sample of values of R. A second information on values in S is based on a sample of values of S. One or more processors then estimate a cardinality of a joined table (T) based on the first and second density distribution function (f(x), g(x)) and the first and second information on values. | 05-29-2014 |
20140156634 | UNIFICATION OF SEARCH AND ANALYTICS - A system includes reception of a request conforming to a modeled query and join filter criteria, the request comprising a first subrequest associated with a search attribute view and a second subrequest associated with an analytical view, definition of a join between the search attribute view and the analytical view based on one or more view attributes of the search attribute view, and filtering of a result set associated with the first subrequest based on the join and on the join filter criteria. | 06-05-2014 |
20140156635 | OPTIMIZING AN ORDER OF EXECUTION OF MULTIPLE JOIN OPERATIONS - A computer-implemented method, system, and/or computer program product optimizes an order of execution of column join operations. A first partitioning of the first data column splits the first data column into first subsets of rows. A second partitioning of the second data column splits the second data column into a second subsets of rows. A first value frequency information indicates a frequency of attribute values within a subset of rows of the first data column processed. A second value frequency information indicates a frequency of attribute values within a subset of rows of the second data column. Cardinalities of sub-tables derived by a respective joining of the subsets of rows of the first and second data columns are estimated, based on the first and second value frequency information. An order of execution of multiple join operations is then optimized based on the estimated cardinalities of the sub-tables. | 06-05-2014 |
20140164353 | OPTIMIZING PARALLEL QUERIES USING INTERESTING DISTRIBUTIONS - The present invention extends to methods, systems, and computer program products for optimizing parallel queries using interesting distributions. For each logical operator in an SQL server MEMO, in a top down manner from a root operator to the leaf operators, interesting distributions for the operators can be identified based on the properties of the operators. Identified interesting distributions can be propagated down to lower operators by annotating the lower operators with the interesting distributions. Thus, a SQL server MEMO can be annotated with interesting distributions propagated top down from root to leaf logical operators to generate an annotated SQL server MEMO. Parallel query plans can then be generated from the annotated SQL server MEMO in a bottom up manner from leaf operators to a root operator. Annotated interesting properties can be used to prune operators, thereby facilitating a more tractable search space for a parallel query plan. | 06-12-2014 |
20140181073 | METHOD AND SYSTEM FOR GENERATING OPTIMAL MEMBERSHIP-CHECK QUERIES - A method and system of transforming a query at a web server are provided. An abstract syntax tree representing the query can be traversed from the top down, for each node in the abstract syntax tree: labeling the node as being in a conjunct position when the node's parent is a WHERE node; labeling the node as being not in a conjunct position when the node's parent is an OR node; and labeling the node identically to the node's parent node when the node's parent is an AND node. Then any IN node in the abstract syntax tree can be transformed to an INNER JOIN node when the IN node is labeled as being in a conjunct position. The abstract syntax tree can be converted into a Structured Query Language (SQL) query, which can then be passed to a database for processing. | 06-26-2014 |
20140181074 | ESTIMATING NUMBER OF ITERATIONS OR SELF JOINS REQUIRED TO EVALUATE ITERATIVE OR RECURSIVE DATABASE QUERIES - The number of iterations or self joins required to execute a recursive database query can be estimated. It will be appreciated that this estimation can be used to plan the execution of the recursive query and can be made in various ways and for various applications. By way of example, an estimated number of iterations or self joins required to execute a recursive database query (e.g., 12) can be used as a basis to determine or plan an optimal execution plan. For example, given an estimated twelve (12) iterations, an execution plan can be determined for executing at least the first three (3) iterations or for executing every there (3) iterations, whereas for an estimated twenty (21) iterations required to complete a recursive database query, an execution plan can be determined for the first five (5) or six (6) iterations, and so on. | 06-26-2014 |
20140181075 | TECHNIQUES FOR QUERY STATISTICS INHERITANCE - Techniques for query statistics inheritance are provided. Statistics for a database are used to determine selectivity estimates for sparse joins and tables being joined together within a given query. These statistics are inherited up to the given query along with the selectivity estimates and provided to a database optimizer to use when developing query plans and selecting an optimal query plan for the given query. | 06-26-2014 |
20140181076 | TECHNIQUES FOR JOIN PROCESSING ON COLUMN PARTITIONED TABLES - Techniques for processing joins on column partitioned tables are provided. A join operation having a column partitioned table within a query is decomposed into a two-step process. The first process performs the join condition on the column portioned table with optional filtering conditions and a non-column partitioned table and spools the resulting columns to a spooled table. The spooled table is then rowid joined back to the column partitioned table to acquire remaining columns not present in the spooled table. Both the first and second steps can be separately resolved for costs when determining a query execution plan. | 06-26-2014 |
20140181077 | TECHNIQUES FOR THREE-STEP JOIN PROCESSING ON COLUMN PARTITIONED TABLES - Techniques for processing joins on column partitioned tables are provided. A query includes a first-Column Partition (CP) table joined with a second-CP table. The query is decomposed into a three-step process and rewritten and processed. | 06-26-2014 |
20140214794 | JOIN OPERATION PARTITIONING - Partitioned join operations are performed between a first database object and a second database object by determining an agent group for an agent in response to the agent receiving rows of the second database object to process; partitioning the rows to determine a target hash table for each row and adding the partitioned rows to work to be performed by the agent group; and distributing the work for the group to agents of the group by assigning to a single agent all the rows associated with a particular hash table to perform a join operation on the assigned rows. Each partition is assigned a first counter value indicating an upper bound of a task id range that is most recently assigned to an agent in the agent group for processing, and a second counter value indicating the highest task id that has been processed for that partition. | 07-31-2014 |
20140214795 | DYNAMICALLY DETERMINING JOIN ORDER - A weight is determined for each of a plurality of join predicates for a join between one or more first database objects and one or more second database objects based on a join selectivity for each of the plurality of join predicates. The plurality of join predicates are sorted based on the determined weights. The join operation is performed joining the one or more first database objects with the one or more second database objects in accordance with an order of the sorted plurality of join predicates. | 07-31-2014 |
20140214796 | EFFICIENT JOIN WITH ONE OR MORE LARGE DIMENSION TABLES - Embodiments of the invention relate to processing queries that utilize fact and/or dimension tables. In one aspect, a pre-join filtering phase precedes a star join. The necessary conditions for the pre-join filtering are considered for a given SQL query, including an estimated size of the hash table exceeding a threshold and presence of a local predicate either on the fact table or one or more dimension tables that is not a large dimension table. Once the necessary conditions are satisfied, the execution of the query exploits the pre-join filtering to build a pre-join output filter from columns of a reduced fact table that joins with each large dimension table. Thereafter, all the dimension tables and the fact table are joined in a star join while exploiting each pre-join filter. Accordingly, the order of when joins occur is changed in order to reduce the size of the fact table and to work from the fact table to reduce the size of large dimension tables. | 07-31-2014 |
20140222778 | Data Storage and Query Method - A data storage and query method supporting an agile development and horizontal scaling, in a field of computer applications, includes steps of: transforming data into a 2-tuple (Key, MiniTable) and identifying any MiniTable (having a data set removed) with a unique Key, wherein the MiniTable includes multiple data columns; a structure of each data column is limited by a pre-defined mode; and the data columns are sorted according to a primary key defined by the mode. The data storage and query method obtains a capability of the horizontal scaling via removing dependency among the data sets, and a capability of the agile development via supporting an analogous SQL grammar by saving dependency among the data within the data sets. The data storage and query method can be applied to a data management system which supports the horizontal scaling of big data and the agile development of short development lifecycles. | 08-07-2014 |
20140280019 | SYSTEMS AND METHODS FOR MANAGING DATA IN RELATIONAL DATABASE MANAGEMENT SYSTEM - A mechanism for managing data in relational database management systems (RDBMS). The method includes receiving a structured query language (SQL) query to be executed on a relational database management system (RDBMS). The RDBMS includes a schema of tables divided into a plurality of partitions and the SQL query includes an operation of data to be executed on the RDBMS. The method also includes determining whether the SQL query is a valid SQL | 09-18-2014 |
20140280020 | System and Method for Distributed SQL Join Processing in Shared-Nothing Relational Database Clusters Using Self Directed Data Streams - System and method embodiments are provided for improving the performance of query processing in a massively parallel processing (MPP) database system by pushing down join query processing to data nodes recursively. An embodiment method includes receiving, at a coordinator process, a join query associated with a plurality of tables of the MPP database system, generating, at the coordinator process, an execution plan tree for the join query, and processing, at each of a plurality of data nodes communicating with the coordinator process, the execution plan tree to obtain join query results. The method further includes, upon detecting a next join operator below a top join operator in the execution plan tree at each of the data nodes, forwarding to the other data nodes a sub-tree for the next join operator, and receiving, at each of the data nodes from the other data nodes, sub-tree processing results. | 09-18-2014 |
20140280021 | System and Method for Distributed SQL Join Processing in Shared-Nothing Relational Database Clusters Using Stationary Tables - System and method embodiments are provided for improving the performance of query processing in a massively parallel processing (MPP) database system by selecting one or more stationary tables for processing the query plan. In an embodiment method, a join query associated with a plurality of tables of the MPP database system is received at a coordinator process. Stationary tables are then selected from the tables according to table partition keys in the join query. The stationary tables are indicated and the join query are sent to a plurality of data nodes communicating with the coordinator process. At each of the data nodes, an execution plan for the join query is generated. Each of the data nodes then executes the execution plan to obtain query results without sharing information of the stationary tables between the data nodes. | 09-18-2014 |
20140280022 | SMALL TABLE REPLICATION FOR PARALLELIZED JOIN OPERATIONS - A method, system, and computer program product for planning relational database joins in systems with multiple parallel computational units. The computer implemented method compiles an execution plan for dissemination to a plurality of execution units where the plan combines a smaller left-side table with a portion of a larger right-side object to reduce system overhead. Upon receiving a request for a join operation comprising left-side table data and right-side table data where the left-side table data is much smaller than the right-side table data, then the method compiles a plan to apportion an entirety of the left-side table data and only a portion of the right-side object to a plurality of computational units. The method continues by sending distribution instructions to respective computational units where the distribution instructions include retrieval of the entirety of the left-side table data with the retrieval of only a portion of the right-side object. | 09-18-2014 |
20140280023 | ADAPTIVE SELECTION OF A DISTRIBUTION METHOD DURING EXECUTION OF PARALLEL JOIN OPERATIONS - A method, system, and computer program product for high-performance database systems. The method commences by estimating, during a compile phase, a statically-calculated system cost of performing parallel join operations over two relations, then selecting, during the compile phase, a first distribution method to perform the parallel join operations. Instructions (e.g., table partitioning) are communicated to two or more execution units for execution of the parallel join operations, and during execution, various measurements are taken pertaining to the performance of a first portion of the parallel join operations using the selected first distribution method. Then, responsive to the measurements a second distribution method is selected and corresponding instructions are communicated to the two or more execution units. The parallel join operations continue, now using the second distribution method. | 09-18-2014 |
20140280024 | JOINING LARGE DATABASE TABLES - Techniques to process a query and perform a join of tables that are distributed across nodes of a network. The join can be performed by analyzing a Where clause. An active flag structure can have flag values that identify table entries satisfying criteria of the Where clause. Keys of surviving entries of a first table can be used to generate a request for a second table to be joined. The request can be for second flags for the second table when the Where clause has criteria for the second table. A response can be used to update the first flags to change a first flag to False. After updating, data can be retrieved for first flags that are True. Requests can use identifiers associated with the first table that identify a location for sending the request, e.g., using RDMA or MPI. | 09-18-2014 |
20140280025 | METHODS AND SYSTEMS FOR JOINING INDEXES FOR QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE - 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. An improved query is then generated using the query syntax, wherein the improved query is based at least in part upon the original query and a result of a join between a first number of rows associated with the first index and a second number of rows associated with the second index. | 09-18-2014 |
20140280026 | Method and Structure for Managing Multiple Electronic Forms and Their Records Using a Static Database - A relational database for storing data used to populate form records fields, wherein a database table structure stores both fixed and variable form content, for multiple form types by creating tables to store the fixed form content and variable form content. Also described is a method for structuring a relational database, the data content of which is used to populate form fields in forms; the forms structured as fixed data content interspersed with form fields for receipt and display of variable data content; the variable data content derived from primary tables in said relational database; said method comprising creating one or more reference tables which store information about said primary tables thereby to permit tracking of changes to said form fields. | 09-18-2014 |
20140317085 | MULTI-PLATFORM OPTIMIZATION - The execution of the one or more database queries can be optimized by using a multi-platform cost model that take into account the respective cost of execution in each one of the multiple execution platforms. The respective costs of the execution can, for example, include cost associated with one or more operators for executing the one or more database queries in each one of the multiple execution platforms and/or the costs of exchanging data between the multiple execution platforms. | 10-23-2014 |
20140324820 | Remote Knowledge Server Apparatus and Method Thereof - An apparatus and method for processing an ontological query for data from any of a plurality of different databases on a network coupled to a computer that includes loading a ontological data model comprising a plurality of logical models based on data from the plurality of different databases, compiling the ontological query and optimizing 48 the compiled ontological query according to join and combination rules based on the logical models and describing meta-properties of the data and meta-relationships based on the meta-properties between the data from the plurality of different databases, and processing logical operations on the compiled ontological query. | 10-30-2014 |
20140337314 | HASH JOIN USING COLLABORATIVE PARALLEL FILTERING IN INTELLIGENT STORAGE WITH OFFLOADED BLOOM FILTERS - Processing resources at a storage system for a database server are utilized to perform aspects of a join operation that would conventionally be performed by the database server. When requesting a range of data units from a storage system, the database server includes join metadata describing aspects of the join operation for which the data is being requested. The join metadata may be, for instance, a bloom filter. The storage system reads the requested data from disk as normal. However, prior to sending the requested data back to the storage system, the storage system analyzes the raw data based on the join metadata, removing a certain amount of data that is guaranteed to be irrelevant to the join operation. The storage system then returns filtered data to the database server. The database system thereby avoids the unnecessary transfer of certain data between the storage system and the database server. | 11-13-2014 |
20140344245 | Calculation Engine with Optimized Multi-Part Querying - A database server receives a multi-part query from a remote application server. The multi-part query specifies a calculation scenario defining a data flow model that includes a plurality of calculation nodes that include a main section of nodes and two or more branches of nodes. Each calculation node defines one or more operations to execute on the database server. Thereafter, the database server instantiates the specified calculation scenario and additionally executes the operations defined by the calculation nodes of the main section of the instantiated calculation scenario a single time and executes the operations defined by the calculation nodes of the branches to result in respective responsive data sets corresponding to each branch. The responsive data sets are then provided by the database server to the application server. Related apparatus, systems, techniques and articles are also described. | 11-20-2014 |
20140365464 | Calculation Scenarios with Semantic Nodes - A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that each specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify the query for operations requiring special handling. Related apparatus, systems, methods, and articles are also described. | 12-11-2014 |
20140365465 | Optimization of Business Warehouse Filters on Complex Calculation Models - A query associated with a calculation scenario comprising a plurality of calculation nodes can be received by a calculation engine. The calculation scenario is instantiated and the query is transformed into a convex hull filter based on the at least one multiple selection condition that can be executed at any of the calculation nodes. The instantiated calculation scenario and the convex hull filter are executed to provide a result set. Related apparatus, systems, methods, and articles are also described. | 12-11-2014 |
20140372406 | METHOD AND APPARATUS FOR IMPLEMENTING DYNAMIC DATABASE TRAVERSAL - A method, apparatus and computer program product are therefore provided for implementing requests for data using independent data objects. In this regard, the method, apparatus and computer program may receive a request for set of data. The request may include an identifier for the particular set of data. The method may further determine a structure of the set of data using an attribute table associated with one or more data objects, and generate a query using the determined structure of the set of data. The generated query may be executed to retrieve a set of data responsive to the request. The retrieved data may be used along with the determined structure to provide a response to the request. | 12-18-2014 |
20140372407 | JOIN OPERATION PARTITIONING - Partitioned join operations are performed between a first database object and a second database object by determining an agent group for an agent in response to the agent receiving rows of the second database object to process; partitioning the rows to determine a target hash table for each row and adding the partitioned rows to work to be performed by the agent group; and distributing the work for the group to agents of the group by assigning to a single agent all the rows associated with a particular hash table to perform a join operation on the assigned rows. Each partition is assigned a first counter value indicating an upper bound of a task id range that is most recently assigned to an agent in the agent group for processing, and a second counter value indicating the highest task id that has been processed for that partition. | 12-18-2014 |
20140379692 | SKEW-AWARE STORAGE AND QUERY EXECUTION ON DISTRIBUTED DATABASE SYSTEMS - Distributing rows of data in a distributed table distributed across a plurality of nodes. A method includes identifying skewed rows of a first table to be distributed in a distributed database system. The skewed rows include a common data value in a column such that the skewed rows are skewed, according to a predetermined skew factor, with respect to other rows in the first table not having the common data value. Non-skewed rows of the first table that are not skewed according to the skew factor are identified. The skewed rows of the first table are distributed across nodes in a non-deterministic fashion. The non-skewed rows of the first table are distributed across nodes in a deterministic fashion. The rows of the first table distributed across the nodes, whether distributed in a deterministic fashion or non-deterministic fashion, are stored in a single table at each of the nodes. | 12-25-2014 |
20150032721 | SYSTEM AND METHOD FOR REPORT TO REPORT GENERATION - In an example embodiment a sender report containing multiple rows and/or columns of information drawn from a data table may be displayed to a user of a machine. A user may select a portion of the displayed information. A sender adaptor may extract report-to-report selection criteria from the selected information. A receiver adaptor may identify other data tables where information related to the report-to-report selection criteria resides. If such information resides in multiple data tables, the receiver adaptor may join the multiple data tables into one or more data tables. The receiver adaptor may convert the report-to-report selection criteria into selection criteria for the identified data table(s) or joined data table(s). The selection criteria may be passed to a generic receiver report adapted to retrieve any information from any data table(s). The generic receiver report may retrieve information according to the selection criteria and display the information to the user. | 01-29-2015 |
20150066898 | FLOW PIPE TOTALS - A computing device can automatically generate a flow diagram showing statuses that objects in a system can possess, and the possible transitions between these statuses. Using snapshots of database data, the device can determine how the statuses of these objects have changed over time. The device can analyze the data to suggest which database fields likely represent object status. The device can render the flow diagram to illustrate system states at different selected times. Each rendered flow diagram can indicate, for the selected time point, the quantity of objects that possessed each status at that time, and, for a selected time interval, the quantity of objects that changed from each status to each other status during that time interval. The statuses can be represented in the flow diagram as status bubbles having sizes that are based on the quantities of objects have those bubble's statuses at the selected time point. | 03-05-2015 |
20150074082 | Hybrid Database Table Stored as Both Row and Column Store - A hybrid database table is stored as both a row and a column store. One or more techniques may be employed alone or in combination to enhance performance of the hybrid table by regulating access to, and/or the size of, the processing-intensive column store data. For example during an insert operation, the column store data may be searched for a uniqueness violation only after certain filtering and/or boundary conditions have been considered. In another technique, a hybrid table manager may control movement of data to the column store based upon considerations such as frequency of access, or underlying business logic. In still another technique, querying of the hybrid table may result in a search of the column store data only after an initial search of row store data fails to return a result. | 03-12-2015 |
20150088856 | INFERRING DIMENSIONAL METADATA FROM CONTENT OF A QUERY - Methods, computer systems, and stored instructions are described herein for inferring dimensional metadata from content of a query that references tables. A server analyzes the content of the query to determine which table(s) of the referenced tables could be fact tables and/or which table(s) of the referenced tables could be dimension tables. The server transforms the query to a transformed query that operates on a candidate fact table and candidate dimension table(s) of the referenced tables other than the candidate fact table. The transformed query, when executed, processes at least some data from dimension(s) using the candidate dimension table(s) before processing at least some data from the candidate fact table. Alternatively or additionally, the server generates an execution plan that operates on the candidate fact table and the candidate dimension table(s). The execution plan, when performed, processes data from dimension(s) using the candidate dimension table(s) before processing data from the candidate fact table. | 03-26-2015 |
20150095307 | TRANSPARENT ACCESS TO MULTI-TEMPERATURE DATA - A system, a method, and a computer program product for providing transparent access to multi-temperature data are disclosed. A query for accessing data is received. The query includes at least one selection parameter for retrieval of data. The data is stored in a plurality of partitions of a database system. Each partition has a maximum data value per column, a minimum data value per column, and a predetermined date associated with the data contained in the partition. A determination is made whether at least one selection parameter is greater than the minimum data value per column and less than the maximum data value per column. The queried data is retrieved from the partition using the predetermined date associated with the data contained in the partition. | 04-02-2015 |
20150120697 | SYSTEM AND METHOD FOR ANALYSIS OF A DATABASE PROXY - A system and method for processing a database query may include determining a set of tables referenced in a query; representing the set of tables by vertices of a graph; and, if the graph is incomplete, then determining the query is associated with a shard conflict. A system and method may determine a query is not associated with a shard conflict if, and only if, the graph is complete. | 04-30-2015 |
20150120698 | USING OBJECT AWARENESS FOR A JOIN PRUNING MECHANISM - The invention relates to a computer system and a corresponding method and a corresponding computer-readable medium according to the invention. The computer system is suitable for determining the result of a join. The computer system may be distributed system. The computer system comprises: a processing unit; a database coupled to the processing unit, the database comprising: a first table (R), and a second table (S), each of the first and second table being partitioned into at least two partitions, namely a respective first (R | 04-30-2015 |
20150142773 | Optimizing Database Queries Having Hierarchy Filters - A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes and that includes at least one hierarchy filter. Each hierarchy filter is a filter of at least one hierarchy table. Each calculation node defines one or more operations to execute on the database server. Thereafter, the database server instantiates the calculation scenario. The instantiating includes optimizing the calculation scenario by transforming at least one hierarchy filter and pushing down the at least one transformed hierarchy filter to a lower calculation node. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server can subsequently provide the data set to the application server. | 05-21-2015 |
20150142774 | Join Optimization in a Database - A database server receives a query from a remote application server that is associated with a calculation scenario. The calculation scenario defines a data flow model that includes one or more calculation nodes that each define one or more operations to execute on the database server. The database server can be a column-oriented database and at least one of the calculation nodes comprises at least one join operation. Thereafter, the database server instantiates the calculation scenario so that it is optimized by removing one or more join operations and associated branches within the calculation scenario. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server then provides the data set to the application server. | 05-21-2015 |
20150142775 | JOIN TYPE FOR OPTIMIZING DATABASE QUERIES - A query complier analyzes a query to identify a correlated scalar subquery. The query complier transforms the query having the correlated scalar subquery into a query of AGGREGATION INNER/OUTER JOIN or MAX1ROW INNER/OUTER JOIN depending on a result type of the correlated scalar subquery. The AGGREGATION INNER/OUTER JOIN performs JOIN on the rows of the correlated scalar subquery with the rows of a main query and AGGREGATE on the joined rows and returns a result of the joined rows of the main query and aggregation value thereof. The MAX1ROW INNER/OUTER JOIN performs JOIN on the rows of the correlated scalar subquery with the rows of a main query, raises Error when the number of joined rows of the subquery is two or more and returns a result of the row of the main query and the joined row of the subquery. | 05-21-2015 |
20150149434 | Visionary Query Processing in Hadoop Utilizing Opportunistic Views - Systems and methods are disclosed for query processing in a big data analytics platform by enumerating plans for a current query using a processor; building a dominance graph for the current query; for each plan, determining a regret value and a score for the plan based on the regret value and cost; and selecting query plans in an online fashion for query processing in big data analytics platforms where intermediate results are materialized and can be reused later. | 05-28-2015 |
20150149435 | Limiting Plan Choices For Database Queries Using Plan Constraints - A database system allows users to specify plan constraint specification that limit choices of execution plans considered by an optimizer of the database system for optimizing database queries. The plan constraint specification specifies attributes of execution plans. The plan constraint specification may identify tables/intermediate results that the plan constraint is applicable to using table names or aliases. The database system applies the plan constraint specification to database queries that match the tables/aliases specified in the plan constraint specification. The database system limits the choice of execution plans evaluated for a database query to execution plans satisfying the attributes specified in an applicable plan constraint specification. The plan constraint specification may specify distribution of a table, a join order for tables, the join mechanism, cardinality of a table or intermediate result, and so on. | 05-28-2015 |
20150149436 | Rewrite Constraints For Database Queries - A database system rewrites database queries based on rewrite constraints specification. The rewrite constraints specification provides directives to the database system to generate temporary tables for storing intermediate results of database queries and rewrite the corresponding database queries in terms of the temporary tables. The subqueries for matching the rewrite constraints specification may be specified in various ways. For example, the rewrite constraints specification may identify the subqueries by using one or more aliases. The rewrite constraints specification may specify a list of tables such that all database queries that join the database tables specified in the rewrite constraints specification are determined to match. The optimizer is able to optimize the rewritten database queries better by getting a better estimate for the statistics describing the temporary tables. | 05-28-2015 |
20150149437 | Method and System for Optimizing Reduce-Side Join Operation in a Map-Reduce Framework - The present invention provides a system and method for optimizing reduce-side join operation in a map-reduce framework. The system and method executing one or more map operations on the second data structure, grouping the data tuples to a single region of the second data structure, providing the grouped data to a single reducer and, selecting one of scan approach and a look-up approach by one or more reducers based on region key count value and pre-determined conditions of the user. | 05-28-2015 |
20150302058 | DATABASE SYSTEM WITH HIGHLY DENORMALIZED DATABASE STRUCTURE - A database system converts a multi-table relational database into a wide table incorporating all of the information of the relational database tables and converts queries for the relational database system into a form applicable to the wide table. Dictionary compression and/or columnar store allow faster query processing despite a substantially larger size of the wide table. | 10-22-2015 |
20150324426 | OPTIMIZING RELATIONAL DATABASE QUERIES WITH MULTI-TABLE PREDICATE EXPRESSIONS - Responding to relational database queries (for example, SQL queries) in a new way. More specifically, qualifying queries are written (for example, written by a human individual) in a way so that a join operation precedes a row limiting operation. Notwithstanding the fact that the join operation precedes the row limiting operation, when responding to the query, machine logic (for example, software) performs the row limiting operation before the join operation. This can improve time and processing efficiency. | 11-12-2015 |
20150331911 | Intelligent Unmasking in an In-Memory Database - Database data is unmasked in order to facilitate its efficient handling by a database engine. In response to a request for data of a masked table including a masked element, an engine identifies a mask interval, and then performs a first join with unmasked elements sharing a common key. The table resulting from this first join is then grouped according to a highest level location of the mask. A second join is then performed between the results of this grouping and the mask interval, to produce a corresponding unmasked table including a plurality of unmasked elements corresponding to the masked element. Unmasking according to embodiments may be particularly useful in leveraging processing power of an in-memory database engine, allowing it to efficiently perform batch processing of requests for masked data received from software of an overlying application layer. | 11-19-2015 |
20150331912 | GHOST TABLE JOINS IN REMOTE SYSTEMS - A system includes reception of a client query including a JOIN between a local database table of a first computing system and a remote table of a second computing system, transmission of an instruction to the second computing system to define a new table in the second computing system, the new table associated with a storage handler for retrieving data of the local database table, generation of a remote query of the second computing system, the remote query including a second JOIN between the new table and the remote table, transmission of the remote query to the second computing system, and reception of results of the remote query from the second computing system. | 11-19-2015 |
20150339349 | OUTER-JOINED AND CROSS-JOINED TABLE ELIMINATION FOR DUPLICATE-INSIGNIFICANT QUERIES - A method and apparatus for outer-joined and/or cross-joined table elimination for duplicate-insignificant queries is provided. A query block of a query specifies a join between a first table and a second table. The join is one of an outer join and a cross join. A first determination is made that the query block contains no references to the second table to be processed after the join. A second determination is made that the query block is duplicate-insignificant. In response to making the first determination and the second determination, the query block is transformed into a transformed query, where the second table is eliminated from a corresponding query block in the transformed query. | 11-26-2015 |
20150339350 | DATA-PARTITIONED SECONDARY INDEX (DPSI) PARTITION LEVEL JOIN - Provided are techniques for a Data-Partitioned Secondary Index (DPSI) partition level join. While using a Data-Partitioned Secondary Index (DPSI) to perform a join of an outer table and an inner table, a different task from multiple tasks is assigned to each partition of the inner table. With each task, a join is performed of the outer table and the assigned partition of the inner table using the DPSI to generate results. The results from each different task are merged. | 11-26-2015 |
20150347514 | Equi-Joins Between Split Tables - A join operation between split data tables includes providing value IDs. For each of the value IDs, a unique global ID may be associated with the value ID when the actual value represented by the value ID occurs among actual values comprising the second attribute of the second partition. For each identified unique global ID, the identified unique global ID may be paired with a document ID of a data record contained in a second partition stored at the second server in which the actual value in the data record is represented by the value ID associated with the identified unique global ID. | 12-03-2015 |
20150356141 | EXTENDING RELATIONAL ALGEBRA FOR DATA MANAGEMENT - Methods are provided for improving the ability to apply modeling techniques similar to relational algebra to an expanded number of workflows. By allowing a relational algebra type modeling technique to be applied to an expanded number of workflows, an increased number of data processing workflows can be more readily improved, such as by automatic modification of the sequence of tasks in a workflow, to reduce the execution costs for a workflow. The relational algebra type modeling technique can also allow for identification of portions of data processing workflows or queries that share a common input and output. | 12-10-2015 |
20150363466 | DYNAMIC QUERY OPTIMIZATION WITH PILOT RUNS - In one embodiment, a computer-implemented method includes selecting one or more sub-expressions of a query during compile time. One or more pilot runs are performed by one or more computer processors. The one or more pilot runs include a pilot run associated with each of one or more of the selected sub-expressions, and each pilot run includes at least partial execution of the associated selected sub-expression. The pilot runs are performed during execution time. Statistics are collected on the one or more pilot runs during performance of the one or more pilot runs. The query is optimized based at least in part on the statistics collected during the one or more pilot runs, where the optimization includes basing cardinality and cost estimates on the statistics collected during the pilot runs. | 12-17-2015 |
20150363476 | LINKING DOCUMENTS WITH ENTITIES, ACTIONS AND APPLICATIONS - Individuals often perform search queries with the intent of performing a particular action based on the search results. In an embodiment, mentions are identified in a document and candidate entities for the mention are identified. Confidence scores for mention-entity pairs are determined based on relationships between candidate entities, and entities are selected based on the scores. Selected entities are ranked indicating their relevance to a topic of the document. Actions associated with the selected entities are identified. Based on an intent of a search query that returned the document in search results, relevant actions are selected and links are presented within the search results to applications that perform the actions. | 12-17-2015 |
20150379085 | RULE-BASED JOINING OF FOREIGN TO PRIMARY KEY - Linking of a child table to a parent table in a database system. For a given parent table row, an expression associated with the particular row is identified. The expression may be a semantic expression that comprises something different than or more than an equals expression or a contains expression. The expression might also take as input a field of the parent table other than the primary key of the parent table. For each of multiple (and potentially all) rows of a child table, the expression is evaluated against a foreign key of the corresponding row of the child table. If the foreign key matches the expression, an association is created, and perhaps saved, between the foreign key and the particular row of the parent table. The expressions may differ even down to the granularity of a single row in the parent table, thereby enabling perhaps custom per-row expressions. | 12-31-2015 |
20160004746 | EFFICIENT QUERY OPTIMIZATION FOR SELECTIVE USE OF STRUCTURE ELEMENTS - The disclosure generally describes computer-implemented methods, software, and systems for generating and executing queries. A query is received. A set of structure elements associated with the query is determined, wherein the structure elements are used for accessing, in a database, data tuples associated with the set of structure elements. Optionally, the set of structure elements is reduced for accessing data tuples to the structure elements selected. Contributing structure elements are added to the reduced set to not produce objects in the result set but for creating associated objects. Contributing structure elements are handled in an optimized way to keep the data set on which the query result set is calculated as small as possible. This is done by using the smallest set of characteristics in the group-by clause for retrieving the data set to calculate the requested set of structure elements. A result set of the query is provided. | 01-07-2016 |
20160004747 | JOIN QUERY EXECUTION METHOD AND DEVICE, AND STORAGE MEDIUM - A join query execution method and device include a processor and storage medium. An external data source connected to a data management system by a table function is searched, regarding and joining processing against a join query regarding a search result of the table function and a table managed by the data management system, the joining processing is executed on the search result by a first joining method; a join query execution device determines whether the first joining method is appropriate, by using information acquired by search processing on the external data source; and when it is determined that the first joining method is not appropriate, the join query execution device recognizes a speed of a second joining method to be higher than that of the first joining method and switches the joining method for the joining processing to the second joining method. | 01-07-2016 |
20160019264 | MULTIPLICATION-BASED METHOD FOR STITCHING RESULTS OF PREDICATE EVALUATION IN COLUMN STORES - A system joins predicate evaluated column bitmaps having varying lengths. The system includes a column unifier for querying column values with a predicate and generating an indicator bit for each of the column values that is then joined with the respective column value. The system also includes a bitmap generator for creating a column-major linear bitmap from the column values and indicator bits. The column unifier also determines an offset between adjacent indicator bits. The system also includes a converter for multiplying the column-major linear bitmap with a multiplier to shift the indicator bits into consecutive positions in the linear bitmap. | 01-21-2016 |
20160026667 | MEMORY-AWARE JOINS BASED IN A DATABASE CLUSTER - Techniques are described herein for distributing data from one or more partitioned tables across the volatile memories of a cluster. In memory copies of data from partitioned tables are grouped based on the data falling within the same partition criteria. These groups are used for assigning data from corresponding partitions to the same node when distributing data from partitioned tables across the volatile memories of a multi-node cluster. When a query requires a join between rows of partitioned tables, the work for the join query is divided into work granules that correspond to partition-wise join operations. Those partition-wise join operations are assigned to nodes by a query coordinator based on the partition-to-node mapping located in the node of the query coordinator. | 01-28-2016 |
20160034531 | EFFICIENT JOIN-FILTERS FOR PARALLEL PROCESSING - According to one embodiment of the present invention, a method of transferring filters for operations in a distributed system comprises generating at each source node a first filter of a first size. The first filter indicates elements of objects that need not be processed for an operation. Each source node generates one more second filters of a second size less than the first size. Each generated second filter is based on a prior generated filter with each location representing a plurality of locations from the prior generated filter. A second filter is transferred from each source node to each of destination node. The elements of the objects to remove for the operation are determined based on the transferred second filters. Embodiments of the present invention further include a system and computer program product for transferring filters in a distributed system in substantially the same manners described above. | 02-04-2016 |
20160042036 | LEAPFROG TREE-JOIN - A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S | 02-11-2016 |
20160055205 | AUTOMATED CREATION OF JOIN GRAPHS FOR UNRELATED DATA SETS AMONG RELATIONAL DATABASES - A computer system processes a plurality of unrelated database tables to create a join graph where each node in the join graph represents a table. The nodes in the join graph are connected by weighted, directed edges, where each directed edge represents a join from a first column in a first table to a second column in a second table and where the weight of the directed edge represents a predicted level of success in performing the join. The edge weights can be based on a likelihood of finding a value from the first column in the second column. A user selects a subset of the tables, and the system creates a join tree with recommended joins between the tables selected by the user. The recommended joins are used to create a structured query language statement which is executed to return a result to the user. | 02-25-2016 |
20160055206 | Executing Database Queries Using Multiple Processors - A system and a method are disclosed for efficiently executing database queries using a computing device that includes a central processing unit (CPU) and a processing unit based on single instruction multiple thread (SIMT) architecture, for example, a GPU. A query engine determines a target processing unit to execute a database query based on factors including the type and amount of data processed by the query, the complexity of the query, and the current load on the processing units. An intermediate executable representation generator generates an intermediate executable representation for executing a query on a database virtual machine. If the query engine determines that the database query should be executed on an SIMT based processing unit, a native code generator generates native code from the intermediate executable representation. The native code is optimized for execution using a particular processing unit. | 02-25-2016 |
20160055207 | Processing Multi-Way Theta Join Queries Involving Arithmetic Operators on Mapreduce - Methods, systems, and computer program products for processing multi-way theta join queries involving arithmetic operators on MapReduce are provided herein. A method includes converting (i) a multi-way theta join query into a multi-way interval join query, and (ii) one or more items of data associated with the multi-way theta join query to one or more items of interval data; executing the multi-way interval join query on the one or more items of interval data via MapReduce to generate an output, wherein the output comprises a set of multiple responses to the multi-way interval join query; and processing the output to generate a solution to the multi-way theta join query, wherein said processing comprises discarding each response from the set that does not satisfy the multi-way theta join query. | 02-25-2016 |
20160055208 | FEEDBACK MECHANISM PROVIDING ROW-LEVEL FILTERING EARLIER IN A PLAN - According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query. | 02-25-2016 |
20160063030 | QUERY INTEGRATION ACROSS DATABASES AND FILE SYSTEMS - Query integration across databases and file systems is disclosed. An example method may include streaming data managed by a first database file system for a query. The method may also include streaming data managed by a second database file system for the query. The method may also include joining the streaming data managed by the first database file system with the streaming data managed by the second database file system. | 03-03-2016 |
20160078089 | METHOD AND SYSTEM FOR ADAPTIVELY BUILDING A COLUMN STORE DATABASE FROM A TEMPORAL ROW STORE DATABASE BASED ON QUERY DEMANDS - A method for dynamically building a column store database from a row store database. The method includes establishing the row store database for storing data, wherein each row includes a plurality of attributes, and wherein data in row store database is current to a temporal point in time. The method includes establishing the column store database including data structured to satisfy received analytic queries. The method includes beginning from an initial state of the column store database, for each subsequently received analytic query, importing a targeted amount of data from a corresponding temporal state of the row store database into the column store database to satisfy the corresponding subsequently received analytic query. | 03-17-2016 |
20160098451 | LIMITING SCANS OF LOOSELY ORDERED AND/OR GROUPED RELATIONS IN A DATABASE - Data within a database object are accessed based on a query with a predicate including a plurality of conditional expressions. Elements of the database object are stored among a plurality of different storage regions along with range values for element values within each storage region. Each conditional expression of the query predicate is applied to the range values for each storage region to produce evaluation results of that conditional expression for each storage region. The evaluation result of each conditional expression for a corresponding storage region is combined to produce aggregated results for each of the storage regions, where the aggregated result for a corresponding storage region indicates results of a tri-state evaluation (e.g., true/false or unknown) of the conditional expressions for that storage region. One or more corresponding individual storage regions are scanned based on the aggregated results for those storage regions when the tri-state evaluation is unknown. | 04-07-2016 |
20160103877 | JOINING DATA ACROSS A PARALLEL DATABASE AND A DISTRIBUTED PROCESSING SYSTEM - Embodiments relate to joining data across a parallel database and a distributed processing system. Aspects include receiving a query on data stored in parallel database T and data stored in distributed processing system L, applying local query predicates and projection to data T to create T′, and applying local query predicates and projection to L to create L′. Based on determining that a size of L′ is less than a size of T′ and that the size of L′ is less than a first threshold, transmitting L′ to the parallel database and executing a join between T′ and L′. Based on determining that a number of the nodes distributed processing system n multiplied by the size of T′ is less than the size of L′ and that the size of T′ is less than a second threshold; transmitting T′ to the distributed processing system and executing a join between T′ and L′. | 04-14-2016 |
20160103879 | EMBRACING AND EXPLOITING DATA SKEW DURING A JOIN OR GROUPBY - A hybrid approach for performing a join in a database includes: obtaining a distribution of data values in a join column of an inner table; using the distribution, identifying one or more data ranges containing skew; for each data range identified as containing skew, performing, by the processor, the join operation using a skew specific join scheme; and for each data range not identified as containing skew, performing, by the processor, the join operation using a non-skew specific join scheme. One skew specific join scheme involves a compact array table, a highly populated array that represents the range of values that the inner table join column contains. One non-skew specific join scheme involves a compact hash table, an optimized hash table that allows high load factors with a small memory overhead. In combining multiple join techniques, joins may be performed more efficiently for skewed and non-skewed data. | 04-14-2016 |
20160103880 | EMBRACING AND EXPLOITING DATA SKEW DURING A JOIN OR GROUPBY - A hybrid approach for performing a join in a database includes: obtaining a distribution of data values in a join column of an inner table; using the distribution, identifying one or more data ranges containing skew; for each data range identified as containing skew, performing, by the processor, the join operation using a skew specific join scheme; and for each data range not identified as containing skew, performing, by the processor, the join operation using a non-skew specific join scheme. One skew specific join scheme involves a compact array table, a highly populated array that represents the range of values that the inner table join column contains. One non-skew specific join scheme involves a compact hash table, an optimized hash table that allows high load factors with a small memory overhead. In combining multiple join techniques, joins may be performed more efficiently for skewed and non-skewed data. | 04-14-2016 |
20160110418 | PERFORMING SEQUENCE ANALYSIS AS A RELATIONAL JOIN - A usage model and the underlying technology used to provide sequence analysis as part of a relational database system. Included components include the semantic and syntactic integration of the sequence analysis with an existing query language, the storage methods for the sequence data, and the design of a multipart execution scheme that runs the sequence analysis as part of a potentially larger database join, especially using parallel execution techniques. | 04-21-2016 |
20160132556 | VIEWABLE SUGGESTIONS FOR FEDERATION ENGINE - Methods, systems, and computer program products for converting a query to a canonical query; inserting the query and the canonical query into a database; searching one or more viewable sets stored in the database to determine whether the canonical query is similar to one or more canonical queries associated with the one or more viewable sets; and upon determining a similar canonical query, returning a first view suggestion associated with a first viewable set of the one or more viewable sets that includes the similar canonical query. | 05-12-2016 |
20160140166 | PROCESSING QUERIES CONTAINING A UNION-TYPE OPERATION - Among other things, a method of generating a computer program based on an SQL query includes receiving a SQL query, including a reference to a first data set stored at a first data source, and including a reference to a second data set stored at a second data source different from the first data source, determining that the SQL query includes two or more commands, the commands including a first union-type operation, and a first aggregation operation, and determining that the SQL query describes that the first union-type operation shall be applied to at least a portion of data from the first data set, and applied to at least a portion of data from the second data set, determining that the SQL query describes that the first aggregation operation shall be applied to data resulting from the first union-type operation, and generating the computer program. | 05-19-2016 |
20160154838 | AVOID DOUBLE COUNTING OF MAPPED DATABASE DATA | 06-02-2016 |
20160162548 | QUERY OPTIMIZATION WITH ZONE MAP SELECTIVITY MODELING - According to one embodiment of the present invention, a system for processes a query for accessing data within one or more database objects stores an element of a database object among a plurality of different storage regions. Each storage region is associated with first and second range values indicating a value range for element values within that storage region. The system examines the first and second range values for the storage regions of each database object element and determines an effectiveness value representing a degree of overlap between the storage regions of that database object element. The system determines a selectivity model for the storage regions for each database object utilizing the effectiveness value, determines a query plan based on the selectivity model, and executes the query plan. Embodiments of the present invention further include a method and computer program product for processing a query in substantially the same manners. | 06-09-2016 |
20160171002 | MERGING DATABASE OPERATIONS FOR SERIALIZABLE TRANSACTION EXECUTION | 06-16-2016 |
20160171049 | COMPARING JOIN VALUES IN DATABASE SYSTEMS | 06-16-2016 |
20160171050 | Distributed Analytical Search Utilizing Semantic Analysis of Natural Language | 06-16-2016 |
20160179883 | GRAPH PROCESSING IN DATABASE | 06-23-2016 |
20160179886 | REMOTE NESTED JOIN BETWEEN PRIMARY ACCESS MODULE PROCESSORS (AMPS) | 06-23-2016 |
20160179890 | METHODS AND A SYSTEM FOR HYBRID LARGE JOIN QUERY OPTIMIZATION | 06-23-2016 |
20160179894 | EFFICIENT DETERMINATION OF JOIN PATHS VIA CARDINALITY ESTIMATION | 06-23-2016 |
20160196302 | TECHNOLOGY FOR JOIN PROCESSING | 07-07-2016 |
20160196306 | TECHNOLOGY FOR JOIN PROCESSING | 07-07-2016 |
20160203150 | SYSTEMS AND METHODS FOR MANAGING SHARED CONTENT BASED ON SHARING PROFILES | 07-14-2016 |
20160253383 | MANAGEMENT-INFORMATION ACQUIRING PROGRAM, MANAGEMENT INFORMATION ACQUIRING METHOD, AND MANAGEMENT INFORMATION ACQUIRING APPARATUS | 09-01-2016 |
20160378829 | ONE-PASS JOIN SIZE ESTIMATION WITH CORRELATED SAMPLING - A system performs database management. The system receives a request for a query of a plurality of tables under a join condition on an attribute and determines a uniform mapping that maps a domain of the attribute into a set of numbers, where the domain of the attribute includes all attribute values taken by the attribute in the tables. Then, for a row in a table, the system includes the row into a synopsis of the table if the row includes an attribute value that is mapped by the uniform mapping to a number less than an inclusion probability associated with the table. The system obtains a plurality of synopsis for the tables by repeating the including for all rows in the table and for all tables, and determines, based on the plurality of synopsis, an estimate join size of the tables under the join condition. | 12-29-2016 |
20170235794 | DYNAMIC JOIN PROCESSING USING REAL TIME MERGED NOTIFICATION LISTENER | 08-17-2017 |
20190147101 | TECHNIQUES FOR TIME INTERSECTION | 05-16-2019 |