Patent application number | Description | Published |
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 |
20120011133 | Interdistinct Operator - A computer-implemented system and method for performing distinct operations on multiple tables of shared memory of parallel computing environments are disclosed. A distinct operation is executed on each table of a plurality of tables, each distinct operation eliminating duplicate data from each table, the executing creating a hierarchy of table pairs and distinct results, the distinct results comprising a reduced row set for each table. Duplicates on each reduced row set are detected to complete the distinct operation on the plurality of tables. | 01-12-2012 |
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 |
20130159265 | Parallel Uniqueness Checks for Partitioned Tables - An insertion of a record into a table that includes a primary key column and a second column that includes a global uniqueness constraint across all of a plurality of data partitions across which the table is split is initiated without checking that a value of the record in the second column is globally unique by contacting other partitions the one partition to which the record is to be added to. The insertion can be processed, at least in part by implementing a write lock on the one partition but without implementing a read lock on the other partitions. The write lock on the one partition can be released after the insertion is completed, after which the validity of the insertion can be verified, for example by examining the other parts and a delta partition corresponding to the table. The insertion can be undone if the insertion was not valid. | 06-20-2013 |
20130159659 | MULTI-LEVEL DATA PARTITIONING - Based on one or more first columns of a table partitioned at a first level over multiple first level partitions, a first partition criteria is evaluated for a data record. Each of the at least first level partitions is further partitioned into a same number of second-level partitions using a same second partitioning method for all first level partitions. One first level partition is identified for storage of the data record, for example by determining the one of the at least two data server processes using the first partition criteria and a first partitioning method that differs from the second partitioning method. Based on one or more second columns of the table, a second partition criteria is evaluated for the data record, and the data record is stored in one of the second-level partitions of the at least two first level partitions. | 06-20-2013 |
20130166589 | SPLIT PROCESSING PATHS FOR A DATABASE CALCULATION ENGINE - A dynamic split node defined within a calculation model can receive data being operated on by a calculation plan generated based on the calculation model. A partition specification can be applied to one or more reference columns in a table containing at least some of the received data. The applying can cause the table to be split such that a plurality of records in the table are partitioned according to the partition specification. A separate processing path can be set for each partition, and execution of the calculation plan can continue using the separate processing paths, each of which can be assigned to a processing node of a plurality of available processing nodes. | 06-27-2013 |
20130166606 | TABLE CREATION FOR PARTITIONED TABLES - A table creation request pertaining to a table in a database maintained on a multi-node data partitioning landscape that comprises a plurality of processing nodes can specify a number of partitions to be generated. At run time, a currently available number of processing nodes in the multi-node data partitioning landscape can be queried, and this currently available number of processing nodes can be compared with the specified number of partitions to be generated for the created table. The table can be generated with the specified number of partitions such that the generated partitions are located across the plurality of partitions according to a load balancing approach if the number of processing nodes equals the number of partitions to be generated or according to other information in the table request if the number of processing nodes does not equal the specified number of partitions. | 06-27-2013 |
20140172794 | Replication Mechanisms for Database Environments - Data replication in a database includes identifying a source database system. The source database includes a main index file and a delta log file. To create a replica, one or more symbolic links to the source database system are generated. The symbolic links identify a path to a physical location of the source database. A replica of the source database is generated based on the symbolic links. The replica includes a copy of the main index file and delta log file. Information associated with the replica and the symbolic links is stored in a recovery log. Replica are provided transparently to most database engine components by re-using partitioning infrastructure. Components “see” replica as tables with a single partition; that partition is a local replica. | 06-19-2014 |
20140258300 | Independent Table Nodes In Parallelized Database Environments - A recipient node of a multi-node data partitioning landscape can receive, directly from a requesting machine without being handled by a master node, a first data request related to a table. A target node of a plurality of processing nodes can be identified to handle the data request. The determining can include the recipient node applying partitioning information to determine a target data partition of the plurality of data partitions to which the data request should be directed and mapping information associating each data partition of the plurality of data partitions with an assigned node of the plurality of processing nodes. The recipient node can redirect the data request to the target node so that the target node can act on the target data partition in response to the data request. | 09-11-2014 |
20140351291 | Table Creation for Partitioned Tables - A table creation request pertaining to a table in a database maintained on a multi-node data partitioning landscape that comprises a plurality of processing nodes can specify a number of partitions to be generated. At run time, a currently available number of processing nodes in the multi-node data partitioning landscape can be queried, and this currently available number of processing nodes can be compared with the specified number of partitions to be generated for the created table. The table can be generated with the specified number of partitions such that the generated partitions are located across the plurality of partitions according to a load balancing approach if the number of processing nodes equals the number of partitions to be generated or according to other information in the table request if the number of processing nodes does not equal the specified number of partitions. | 11-27-2014 |
20150039588 | SPLIT PROCESSING PATHS FOR A DATABASE CALCULATION ENGINE - A dynamic split node defined within a calculation model can receive data being operated on by a calculation plan generated based on the calculation model. A partition specification can be applied to one or more reference columns in a table containing at least some of the received data. The applying can cause the table to be split such that a plurality of records in the table are partitioned according to the partition specification. A separate processing path can be set for each partition, and execution of the calculation plan can continue using the separate processing paths, each of which can be assigned to a processing node of a plurality of available processing nodes. | 02-05-2015 |