Patent application number | Description | Published |
20090144235 | METHOD FOR AUTOMATED DESIGN OF RANGE PARTITIONED TABLES FOR RELATIONAL DATABASES - A workload specification, detailing specific queries and a frequency of execution of each of the queries, and a set of partitions, are obtained for the database, as inputs. A number of candidate tables are identified for the database, the tables having a plurality of attributes. A chosen attribute is allocated for each of the tables, to obtain a set of tables and a set of appropriate partitions for each of the tables. | 06-04-2009 |
20090144303 | SYSTEM AND COMPUTER PROGRAM PRODUCT FOR AUTOMATED DESIGN OF RANGE PARTITIONED TABLES FOR RELATIONAL DATABASES - A workload specification, detailing specific queries and a frequency of execution of each of the queries, and a set of partitions, are obtained for the database, as inputs. A number of candidate tables are identified for the database, the tables having a plurality of attributes. A chosen attribute is allocated for each of the tables, to obtain a set of tables and a set of appropriate partitions for each of the tables. | 06-04-2009 |
20140032851 | RANDOMIZED PAGE WEIGHTS FOR OPTIMIZING BUFFER POOL PAGE REUSE - In general, the disclosure is directed to techniques for choosing which pages to evict from the buffer pool to make room for caching additional pages in the context of a database table scan. A buffer pool is maintained in memory. A fraction of pages of a table to persist in the buffer pool are determined. A random number is generated as a decimal value of 0 to 1 for each page of the table cached in the buffer pool. If the random number generated for a page is less than the fraction, the page is persisted in the buffer pool. If the random number generated for a page is greater than the fraction, the page is included as a candidate for eviction from the buffer pool. | 01-30-2014 |
20140032852 | RANDOMIZED PAGE WEIGHTS FOR OPTIMIZING BUFFER POOL PAGE REUSE - In general, the disclosure is directed to techniques for choosing which pages to evict from the buffer pool to make room for caching additional pages in the context of a database table scan. A buffer pool is maintained in memory. A fraction of pages of a table to persist in the buffer pool are determined. A random number is generated as a decimal value of 0 to 1 for each page of the table cached in the buffer pool. If the random number generated for a page is less than the fraction, the page is persisted in the buffer pool. If the random number generated for a page is greater than the fraction, the page is included as a candidate for eviction from the buffer pool. | 01-30-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 |
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 |
20140280372 | PARTITIONING DATA FOR PARALLEL PROCESSING - According to one embodiment of the present invention, a system partitions data for parallel processing and comprises one or more computer systems with at least one processor. The system partitions data of a data object into a plurality of data partitions within a data structure based on a plurality of keys. The data structure includes a plurality of dimensions and each key is associated with a corresponding different dimension of the data structure. Portions of the data structure representing different data partitions are assigned to the computer systems for parallel processing, and the assigned data structure portions are processed in parallel to perform an operation. Embodiments of the present invention further include a method and computer program product for partitioning data for parallel processing in substantially the same manner described above. | 09-18-2014 |
20140372411 | ON-THE-FLY ENCODING METHOD FOR EFFICIENT GROUPING AND AGGREGATION - Embodiments include a method and computer program product for encoding data while it is being processed as part of a query is provided. The method includes receiving a query request and determining a set of values associated with data to be encoded for completing the query request. The method also includes encoding those values such that any subsequent processing operations can be performed on the encoded values to complete the requested query. After performing the subsequent processing operations to complete the requested query, each value is decoded back to its original value. | 12-18-2014 |
20140372470 | ON-THE-FLY ENCODING METHOD FOR EFFICIENT GROUPING AND AGGREGATION - Embodiments include a system for encoding data while it is being processed. The system includes a processor, an encoder and a decoder. The processor is configured to process a query request by determining a set of values. The encoder is configured for encoding the set of values, such that a subsequent processing operation can be performed on the encoded values. The processor performs the subsequent processing operations. The decoder is configured for decoding each value back to its value prior to being encoded upon completion of the processor completing the requested query. | 12-18-2014 |
20140379985 | MULTI-LEVEL AGGREGATION TECHNIQUES FOR MEMORY HIERARCHIES - Embodiments include method, system, and computer program product for providing aggregation hierarchy that is related memory hierarchies. In one embodiment, the method includes determining capacity of a first level memory of a memory hierarchy for processing data relating to completion of an aggregation process and generating a per thread local look-up table in said first level memory upon determining said capacity. Upon the first level memory reaching capacity, a plurality of per thread partitions to store remaining data to complete the aggregation process in a second level memory of the memory hierarchy is generated such that each of said per-thread partitions includes an identical amount of data portion on each thread. The method also includes storing the per thread partitions in said second level memory and providing a single global look up table for each of the identical data portions. | 12-25-2014 |
20150032780 | PARTITIONING DATA FOR PARALLEL PROCESSING - According to one embodiment of the present invention, a system partitions data for parallel processing and comprises one or more computer systems with at least one processor. The system partitions data of a data object into a plurality of data partitions within a data structure based on a plurality of keys. The data structure includes a plurality of dimensions and each key is associated with a corresponding different dimension of the data structure. Portions of the data structure representing different data partitions are assigned to the computer systems for parallel processing, and the assigned data structure portions are processed in parallel to perform an operation. Embodiments of the present invention further include a method and computer program product for partitioning data for parallel processing in substantially the same manner described above. | 01-29-2015 |