Highly selective invalidation of database cursors

    公开(公告)号:US10360209B2

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

    申请号:US15267118

    申请日:2016-09-15

    Abstract: A method commences upon receiving a database language statement pertaining to a database comprising database objects that are accessed by computing processes. The method analyzes the database language statement to form or identify a cursor object that has dependencies on one or more referenced data objects. The cursor object is associated with a set of cursor attributes that are stored in a cursor metadata data structure. By analyzing a subsequently-received database language statement, the method determines one or more operations to operate over at least one of the data objects. Rules are applied to the cursor attributes and/or to the operations and/or to objects referenced in the cursor so as to determine whether or not to invalidate the cursor object. The cursor may be considered at a later time for possible later invalidation or revalidation based on processing of later received database language statements and/or based on a later event.

    MOVING DATA BETWEEN PARTITIONS
    2.
    发明申请

    公开(公告)号:US20180253425A1

    公开(公告)日:2018-09-06

    申请号:US15967207

    申请日:2018-04-30

    CPC classification number: G06F16/214

    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.

    PARTIAL INDEXES FOR PARTITIONED TABLES
    3.
    发明申请
    PARTIAL INDEXES FOR PARTITIONED TABLES 审中-公开
    分段表的部分索引

    公开(公告)号:US20150302035A1

    公开(公告)日:2015-10-22

    申请号:US14255425

    申请日:2014-04-17

    CPC classification number: G06F17/30321 G06F17/30312 G06F17/30613

    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.

    Abstract translation: 提供了创建和使用部分索引的技术。 部分索引是对分区表的一个或多个分区进行索引并且不对分区表的一个或多个其他分区进行索引的索引。 因此,如果分区表的分区很少被使用,则索引可能会对分区表的所有其他分区或至少只对那些被相对频繁地写入或读取的分区进行索引。 另外,在准备将数据加载到分区中时,分区的索引可能被“关闭”,有效地使完整索引成为部分索引。 当数据加载到分区中时,部分索引仍然可用于查询处理。 在将数据加载到分区之后,分区的索引被“打开”,这导致分区中的数据被部分索引索引。

    Moving data between partitions
    4.
    发明授权

    公开(公告)号:US12072854B2

    公开(公告)日:2024-08-27

    申请号:US17125777

    申请日:2020-12-17

    CPC classification number: G06F16/214

    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
    5.
    发明申请

    公开(公告)号:US20200293362A1

    公开(公告)日:2020-09-17

    申请号:US16887980

    申请日:2020-05-29

    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.

    Moving data between partitions
    6.
    发明授权

    公开(公告)号: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
    7.
    发明授权
    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
    9.
    发明授权

    公开(公告)号: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.

Patent Agency Ranking