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

    Autonomously partitioning database tables

    公开(公告)号:US11531704B2

    公开(公告)日:2022-12-20

    申请号:US16948303

    申请日:2020-09-11

    Abstract: What is disclosed is an improved approach to perform automatic partitioning, without requiring any expertise on the part of the user. A three stage processing pipeline is provided to generate candidate partition schemes, to evaluate the candidate using real table structures that are empty, and to then implement a selected scheme with production data for evaluation. In addition, an improved approach is described to perform automatic interval partitioning, where the inventive concept implements interval partitioning that does not impose these implicit constraints on the partition key column.

    ASYNCHRONOUS GLOBAL INDEX MAINTENANCE DURING PARTITION MAINTENANCE
    6.
    发明申请
    ASYNCHRONOUS GLOBAL INDEX MAINTENANCE DURING PARTITION MAINTENANCE 有权
    在分区维护期间的异步全局索引维护

    公开(公告)号:US20150278327A1

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

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

    DROPPING AN INDEX WITHOUT BLOCKING LOCKS
    7.
    发明申请
    DROPPING AN INDEX WITHOUT BLOCKING LOCKS 审中-公开
    在没有锁定锁定的情况下拖放索引

    公开(公告)号:US20150278275A1

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

    申请号:US14231416

    申请日:2014-03-31

    CPC classification number: G06F9/466 G06F16/22 G06F16/2308

    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.

    Abstract translation: 提供了处理“破坏性”数据库语句的技术。 破坏性数据库语句在处理时会导致要更改数据库对象的元数据。 这样的数据库语句的示例包括删除索引,将列设置为未使用的列,并删除列上的约束。 当收到这样的语句时,会对数据库对象的元数据进行更改。 这样的元数据改变可能涉及将索引设置为不可用,禁用约束或使游标无效。 元数据更改后,首次确定。 然后,确定在第一次挂起的一个或多个数据库事务已经提交。 在这些数据库事务已经提交之后,执行一个或多个操作,例如删除索引或删除约束。

    Moving data between partitions
    8.
    发明授权

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

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

    Create table for exchange
    10.
    发明授权

    公开(公告)号:US10657116B2

    公开(公告)日:2020-05-19

    申请号:US15228831

    申请日:2016-08-04

    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.

Patent Agency Ranking