Moving data between partitions
    11.
    发明授权

    公开(公告)号:US09965497B2

    公开(公告)日:2018-05-08

    申请号:US14289926

    申请日:2014-05-29

    CPC classification number: G06F17/303

    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.

    Asynchronous global index maintenance during partition maintenance
    12.
    发明授权
    Asynchronous global index maintenance during partition maintenance 有权
    分区维护期间的异步全局索引维护

    公开(公告)号:US09489413B2

    公开(公告)日:2016-11-08

    申请号:US14231438

    申请日:2014-03-31

    CPC classification number: G06F17/30339 G06F9/466

    Abstract: Techniques for maintaining a global index in response to a partition being dropped are provided. In response to an instruction to drop a partition, partition identification data that identifies the partition is stored. Index entries, in the global index, that correspond to the dropped partition become “orphaned” entries. Later, an execution plan for a query is processed, where the execution plan targets a global index. During execution of the execution plan, one or more index entries are accessed. For each accessed index entry, the partition identification data is analyzed to determine if the index entry is an orphaned entry. If so, then the index entry is ignored for purposes of the query. Later, the global index may be updated to delete each orphaned entry. Such deletion may occur much later, such as during a time when the database is not queried or updated frequently.

    Abstract translation: 提供了用于维护响应于正在丢弃的分区的全局索引的技术。 响应于删除分区的指令,存储识别分区的分区标识数据。 在全局索引中,对应于删除的分区的索引条目将成为“孤立”条目。 之后,处理查询的执行计划,其中执行计划定位到全局索引。 在执行计划的执行期间,访问一个或多个索引条目。 对于每个访问的索引条目,分析分区标识数据以确定索引条目是否是孤立条目。 如果是这样,则为了查询的目的,忽略索引条目。 之后,可能会更新全局索引以删除每个孤立的条目。 这种删除可能发生得更晚,例如在数据库未被查询或频繁更新的时间内。

    Consistent client-side caching for fine grained invalidations

    公开(公告)号:US11567934B2

    公开(公告)日:2023-01-31

    申请号:US15958517

    申请日:2018-04-20

    Abstract: An approach for implementing function semantic based partition-wise SQL execution and partition pruning in a data processing system is provided. The system receives a query directed to a range-partitioned table and determines if operation key(s) of the query include function(s) over the table partitioning key(s). If so, the system obtains a set of values corresponding to each partition by evaluating the function(s) on a low bound and/or a high bound table partitioning key value corresponding to the partition. The system may then compare the sets of values corresponding to different partitions and determine whether to aggregate results obtained by executing the query over the partitions based on the comparison. The system may also determine whether to prune any partitions from processing based on a set of correlations between the set of values for each partition and predicate(s) of the query including function(s) over the table partitioning key(s).

    Moving data between partitions
    14.
    发明授权

    公开(公告)号:US10970260B2

    公开(公告)日:2021-04-06

    申请号:US15967207

    申请日:2018-04-30

    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.

    Dropping an index without blocking locks

    公开(公告)号:US10698723B2

    公开(公告)日:2020-06-30

    申请号:US14231416

    申请日:2014-03-31

    Abstract: Techniques for processing “destructive” database statements are provided. Destructive database statements, when processed, cause metadata of a database object to be changed. Examples of such database statements include ones that delete an index, that set a column as unused, and that drop a constraint on a column. When such a statement is received, a change is made to metadata of a database object. Such a metadata change may involve setting an index as unusable, disabling a constraint, or invalidating a cursor. After the metadata change, a first time is determined. Then, it is determined when one or more database transactions that were pending at the first time have committed. After those database transaction(s) have committed, one or more operations are performed, such as dropping an index or dropping a constraint.

    CONSISTENT CLIENT-SIDE CACHING FOR FINE GRAINED INVALIDATIONS

    公开(公告)号:US20190325052A1

    公开(公告)日:2019-10-24

    申请号:US15958517

    申请日:2018-04-20

    Abstract: An approach for implementing function semantic based partition-wise SQL execution and partition pruning in a data processing system is provided. The system receives a query directed to a range-partitioned table and determines if operation key(s) of the query include function(s) over the table partitioning key(s). If so, the system obtains a set of values corresponding to each partition by evaluating the function(s) on a low bound and/or a high bound table partitioning key value corresponding to the partition. The system may then compare the sets of values corresponding to different partitions and determine whether to aggregate results obtained by executing the query over the partitions based on the comparison. The system may also determine whether to prune any partitions from processing based on a set of correlations between the set of values for each partition and predicate(s) of the query including function(s) over the table partitioning key(s).

    Partial indexes for partitioned tables

    公开(公告)号:US10282437B2

    公开(公告)日:2019-05-07

    申请号:US14255425

    申请日:2014-04-17

    Abstract: Techniques for creating and using partial indexes are provided. A partial index is an index that indexes one or more partitions of a partitioned table and does not index one or more other partitions of the partitioned table. Thus, if a partition of a partitioned table is rarely used, then an index may index all other partitions of the partitioned table or at least only those partitions that are written to or read from relatively frequently. Also, in preparation for loading data into a partition, indexing for the partition may be “turned off”, effectively making a full index a partial index. While the data is loaded into the partition, the partial index is still available for query processing. After the data is loaded into the partition, indexing for the partition is “turned on”, which causes the data in the partition to be indexed by the partial index.

    CREATE TABLE FOR EXCHANGE
    19.
    发明申请

    公开(公告)号:US20170109386A1

    公开(公告)日:2017-04-20

    申请号:US15228831

    申请日:2016-08-04

    CPC classification number: G06F16/2282 G06F16/24554

    Abstract: Techniques are described herein for creating a new database table for an exchange operation with a table partition of another table. A database management system (DBMS) is configured to receive a query such as “CREATE TABLE new_table FOR EXCHANGE FROM partition_P1”. The DBMS then identifies properties of the source partition (e.g., partition P1) and creates a new database table based on the properties identified. Some of these properties (e.g., hidden columns, data modeling frameworks, and table statistics) may not otherwise be directly accessible by the external entity that sent the query. The newly created table then has all of the necessary properties to be part of the other table if swapped with the source partition in an exchange operation.

    MOVING DATA BETWEEN PARTITIONS
    20.
    发明申请
    MOVING DATA BETWEEN PARTITIONS 有权
    移动分组之间的数据

    公开(公告)号:US20150347401A1

    公开(公告)日:2015-12-03

    申请号:US14289926

    申请日:2014-05-29

    CPC classification number: G06F17/303

    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.

    Abstract translation: 提供了在分区之间移动数据的技术。 可以执行这样的过程,而不需要阻止目标分区的事务被执行的任何锁。 相反,这样的事务可以在执行移动操作时进行。 移动操作涉及将数据从目标分区复制到另一个从(或“不可见”)隐藏到分区尝试读取或写入的那些事务的分区。 在移动操作期间,对分区进行的更改也会反映在日志中。 最终,日志中反映的变化被排除并应用于隐藏的分区。 一旦分区和隐藏的分区被同步,分区的标识被交换,以便将来的事务将针对先前隐藏的分区,而不是以前可视的分区。

Patent Agency Ranking