Method and apparatus for implementing segmented arrays in a database
    1.
    发明授权
    Method and apparatus for implementing segmented arrays in a database 失效
    在数据库中实现分段数组的方法和装置

    公开(公告)号:US5845296A

    公开(公告)日:1998-12-01

    申请号:US677771

    申请日:1996-07-10

    IPC分类号: G06F12/02 G06F17/30

    摘要: A method and apparatus for implementing segmented arrays in a database system. According to one embodiment of the invention, rather than allocating a contiguous block of memory for each array, the memory for storing at least selected arrays is broken into smaller pieces of memory referred to herein as memory segments. When the memory for an array is broken into memory segments, the array is referred to herein as a "segmented array." Each memory segment associated with a segmented array is divided into one or more memory areas, each of which represent an element of that array. The memory segments associated with a segmented array need not be contiguous. According to another aspect of the invention, the number of segments allocated for a segmented array can be increased or decreased during execution. According to yet another aspect of the invention, only some of the memory segments required to store a segmented array are initially allocated. The remainder of the memory segments required to store the array are allocated on an as needed basis. According to another aspect of the invention, database systems may implement all or only some arrays as segmented arrays. In a database system that supports both segmented and contiguous arrays, whether the memory for a particular array is segmented or contiguous can depend on any number of factors.

    摘要翻译: 一种用于在数据库系统中实现分段数组的方法和装置。 根据本发明的一个实施例,不是为每个阵列分配连续的存储块,而是用于存储至少所选择的阵列的存储器被分解成这里被称为存储器段的更小的存储块。 当阵列的内存被分解成内存段时,阵列在这里被称为“分段阵列”。 与分段阵列相关联的每个存储器段被分成一个或多个存储器区域,每个存储器区域表示该阵列的元件。 与分段数组相关联的内存段不必是连续的。 根据本发明的另一方面,在执行期间可以增加或减少为分段阵列分配的段数。 根据本发明的另一方面,最初仅分配存储分段阵列所需的一些存储器段。 根据需要分配存储阵列所需的其余内存段。 根据本发明的另一方面,数据库系统可以将所有或仅一些阵列实现为分段阵列。 在支持分段和连续阵列的数据库系统中,特定阵列的内存是否被分段或连续可以取决于任何数量的因素。

    Hybrid shared nothing/shared disk database system
    3.
    发明授权
    Hybrid shared nothing/shared disk database system 有权
    混合共享/共享磁盘数据库系统

    公开(公告)号:US06321238B1

    公开(公告)日:2001-11-20

    申请号:US09222577

    申请日:1998-12-28

    IPC分类号: G06F1730

    摘要: A database or some portion thereof is partitioned into ownership groups. Each ownership group is assigned one or more database servers as owners of the ownership group. The database servers that are assigned as owners of an ownership group are treated as the owners of all data items that belong to the ownership group. That is, they are allowed to directly access the data items within the ownership group, while other database servers are not allowed to directly access those data items. Accordingly, a database system is provided which includes one or more persistent storage devices having a database stored thereon, and a plurality of database servers executing on a plurality of nodes. Each node has direct access to the persistent storage devices. At least a portion of the database is partitioned into a plurality of ownership groups. Each ownership group is assigned an owner set. Only processes that are executing on database servers that are members of the owner set of an ownership group are allowed to directly access data within the ownership group. Each ownership group is designated as either a shared nothing ownership group or a shared disk ownership group. Each shared nothing ownership group is assigned an owner from among the database servers. Only the owner of each shared nothing ownership group is allowed to directly access data within the shared nothing ownership group. Each of the database servers is allowed to directly access data within ownership groups that are designated as shared disk ownership groups.

    摘要翻译: 数据库或其一部分被划分为所有权组。 每个所有权组被分配一个或多个数据库服务器作为所有权组的所有者。 分配为所有者组的所有者的数据库服务器将被视为属于所有权组的所有数据项的所有者。 也就是说,它们被允许直接访问所有权组内的数据项,而其他数据库服务器不允许直接访问这些数据项。 因此,提供了一种数据库系统,其包括一个或多个具有存储在其上的数据库的持久存储设备,以及在多个节点上执行的多个数据库服务器。 每个节点都可以直接访问持久存储设备。 数据库的至少一部分被分割成多个所有权组。 每个所有权组都被分配一个所有者集。 只有在作为所有权组的所有者集的成员的数据库服务器上执行的进程才允许直接访问所有权组内的数据。 每个所有权组被指定为无共享的所有权组或共享磁盘所有权组。 每个共享的无所有权组从数据库服务器中分配一个所有者。 只有每个共享无所有权组的所有者才能直接访问共享无所有权组内的数据。 允许每个数据库服务器直接访问被指定为共享磁盘所有权组的所有权组内的数据。

    Managing partitioned cache
    4.
    发明授权
    Managing partitioned cache 有权
    管理分区缓存

    公开(公告)号:US06470423B1

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

    申请号:US10032243

    申请日:2001-12-21

    IPC分类号: G06F1200

    CPC分类号: G06F12/121 G06F12/0866

    摘要: Described herein are approaches for partitioning a buffer cache for dynamically selecting buffers in the buffer cache to store data items, such as data blocks in a DBMS. The selection is based on data access and/or usage patterns. A buffer cache includes multiple buffer pools. A buffer pool is selected from among the multiple buffer pools to store a data item. The selection of a buffer pool is based on various factors, including the likelihood that storing the data item will produce future cache hits, and properties of buffer pools that vary between the buffer pools. Properties of a buffer pool include not only how the buffer pools are organized, both logically and physically, but also how the buffer pool is managed. Examples of a buffer pool property include buffer pool size, size of a buffer in the buffer pool, and the replacement strategy used for a buffer pool (e.g. LRU).

    摘要翻译: 这里描述了用于分割缓冲器高速缓存用于动态选择缓冲器高速缓存中的缓冲器以存储数据项(诸如DBMS中的数据块)的方法。 该选择是基于数据访问和/或使用模式。 缓冲区缓存包括多个缓冲池。 从多个缓冲池中选择缓冲池以存储数据项。 缓冲池的选择基于各种因素,包括存储数据项的可能性将产生未来的缓存命中,以及在缓冲池之间变化的缓冲池的属性。 缓冲池的属性不仅包括缓冲池在逻辑和物理上的组织方式,还包括缓冲池的管理方式。 缓冲池属性的示例包括缓冲池大小,缓冲池中缓冲区的大小以及用于缓冲池(例如LRU)的替换策略。

    Managing partitioned cache
    5.
    发明授权
    Managing partitioned cache 失效
    管理分区缓存

    公开(公告)号:US06370619B1

    公开(公告)日:2002-04-09

    申请号:US09102735

    申请日:1998-06-22

    IPC分类号: G06F1200

    CPC分类号: G06F12/121 G06F12/0866

    摘要: The present invention provides a method and apparatus for partitioning a buffer cache for dynamically mapping data blocks with a particular replacement strategy based on the associated table's access and/or usage patterns. According to the method, a buffer cache in a computer system is managed by dividing the buffer cache into multiple buffer pools. In managing the buffer cache, when a data item is requested, it is first determined whether the requested data item is stored in a buffer within the buffer cache. If the requested data item is not stored in a buffer in the buffer cache, then a particular buffer pool in the buffer cache is dynamically selected for storing the requested data item. Once the particular buffer pool is selected, the requested data item is stored into a buffer in the particular buffer pool.

    摘要翻译: 本发明提供了一种用于分割缓冲器高速缓存的方法和装置,用于基于相关联的表的访问和/或使用模式,用特定替换策略动态地映射数据块。 根据该方法,通过将缓冲器高速缓存分成多个缓冲池来管理计算机系统中的缓冲区高速缓存。 在管理缓冲区高速缓存时,当请求数据项时,首先确定所请求的数据项是否存储在缓冲区高速缓存中的缓冲区中。 如果请求的数据项没有存储在缓冲区缓冲区中的缓冲区中,则动态地选择缓冲区高速缓存中的特定缓冲池来存储所请求的数据项。 一旦选择了特定的缓冲池,请求的数据项被存储在特定缓冲池中的缓冲区中。

    Batch processing of updates to indexes
    6.
    发明授权
    Batch processing of updates to indexes 失效
    批量处理索引的更新

    公开(公告)号:US6026406A

    公开(公告)日:2000-02-15

    申请号:US855544

    申请日:1997-06-04

    IPC分类号: G06F11/14 G06F17/30

    摘要: A method and apparatus for batch processing of updates to indexes is provided. A plurality of index update records are generated that identify a plurality of index update operations to be made to an index. The plurality of index entry records are sorted and then applied, in an order that corresponds to the sort order, in batches to their respective indexes. As a result of performing batch processing of updates to indexes, the number of disk I/Os will be greatly reduced, freeing database system resources to perform other tasks. The overall efficiency of index maintenance is also improved, as is the recovery of the database system after a failure, resultant from an ordering of the index maintenance operations and a partial ordering of the persistent redo log file.

    摘要翻译: 提供了一种批量处理索引更新的方法和装置。 生成多个索引更新记录,其识别要对索引进行的多个索引更新操作。 将多个索引条目记录按照与排序顺序对应的顺序分批并按其各自的索引分批应用。 作为对索引进行更新的批处理的结果,磁盘I / O的数量将大大减少,释放数据库系统资源以执行其他任务。 索引维护的整体效率也得到提高,故障后数据库系统的恢复也是由于索引维护操作的排序和持续重做日志文件的部分排序而导致的。

    Mean time to recover (MTTR) advisory
    8.
    发明授权
    Mean time to recover (MTTR) advisory 有权
    平均恢复时间(MTTR)咨询

    公开(公告)号:US07020599B1

    公开(公告)日:2006-03-28

    申请号:US10017337

    申请日:2001-12-13

    IPC分类号: G06F9/45

    摘要: A method for simulating different MTTR settings includes determining a simulated MTTR setting and providing a simulated checkpoint queue. The simulated checkpoint queue is associated with the simulated MTTR setting and is an ordered list of one or more elements. Each element represents a buffer, and the ordered list has a head and a tail. The method also includes providing a simulated write counter associated with the simulated MTTR setting. The method further includes, in response to detecting a change to a first buffer, checking if the first buffer is represented in the simulated checkpoint queue. If the first buffer is not represented in the simulated checkpoint queue, an element that represents the first buffer is linked to the tail of the simulated checkpoint queue. An MTTR advisory system includes a memory, one or more processors coupled to the memory, a simulated MTTR setting, a simulated checkpoint queue, and a simulated write counter. The simulated MTTR setting is maintained in the memory. The simulated checkpoint queue is maintained in the memory and associated with the simulated MTTR setting. The simulated write counter is also maintained in the memory, and is associated with the simulated MTTR setting. The simulated write counter provides a count of the number of times an element is removed from the simulated checkpoint queue, wherein the element is removed from the simulated checkpoint queue in response to a write out of a buffer from volatile memory and storing in nonvolatile memory.

    摘要翻译: 用于模拟不同MTTR设置的方法包括确定模拟MTTR设置并提供模拟检查点队列。 模拟的检查点队列与模拟的MTTR设置相关联,并且是一个或多个元素的有序列表。 每个元素表示一个缓冲区,有序列表有一个头和尾。 该方法还包括提供与模拟的MTTR设置相关联的模拟写入计数器。 该方法还包括响应于检测到对第一缓冲器的改变,检查在模拟检查点队列中是否表示第一缓冲器。 如果模拟检查点队列中没有表示第一个缓冲区,则表示第一个缓冲区的元素链接到模拟检查点队列的尾部。 MTTR咨询系统包括存储器,耦合到存储器的一个或多个处理器,模拟MTTR设置,模拟检查点队列和模拟写入计数器。 模拟的MTTR设置保留在内存中。 模拟检查点队列保存在存储器中并与模拟的MTTR设置相关联。 模拟写计数器也保存在存储器中,并与模拟的MTTR设置相关联。 仿真写入计数器提供从模拟检查点队列中删除元素的次数的计数,其中响应于从易失性存储器写入缓冲器并存储在非易失性存储器中,将元件从模拟检查点队列中移除。

    Multi-phase locking for partition maintenance operations
    10.
    发明授权
    Multi-phase locking for partition maintenance operations 有权
    多相锁定用于分区维护操作

    公开(公告)号:US06370529B1

    公开(公告)日:2002-04-09

    申请号:US09481743

    申请日:2000-01-11

    IPC分类号: G06F1730

    摘要: A method and apparatus for multi-phase locking for partition maintenance operations is provided. In the first phase, a shared data dictionary lock is acquired on a body of metadata in a data dictionary. Next, the data dictionary is read and a list of affected partitions is generated. In the second phase, an intent exclusive data lock is acquired on the affected table. Next, an exclusive data lock is acquired on the affected partitions of the affected table. The shared data dictionary lock on the data dictionary is released and a physical attribute of the data of the affected partitions is changed. In the third phase, an exclusive data dictionary lock is acquired on the data dictionary. The metadata associated with the affected partitions in the data dictionary is updated and the exclusive data locks on the affected partitions and the intent exclusive data lock on the affected table are released. Finally, the exclusive data dictionary lock on the data dictionary is released. As a result of performing multi-phase locking for partition maintenance operations, the scope of resources locked is reduced and the efficiency of the partition maintenance operations, from a concurrency point of view, is increased.

    摘要翻译: 提供了用于分区维护操作的多相锁定的方法和装置。 在第一阶段,在数据字典中的元数据体上获取共享数据字典锁。 接下来,读取数据字典并生成受影响的分区的列表。 在第二阶段,在受影响的表上获取意向排他数据锁定。 接下来,在受影响的表的受影响的分区上获取独占数据锁。 释放数据字典上的共享数据字典锁定,并更改受影响的分区的数据的物理属性。 在第三阶段,在数据字典上获取独占数据字典锁。 与数据字典中的受影响的分区相关联的元数据被更新,排他性数据锁定在受影响的分区上,并且释放受影响的表上的意图排他数据锁定。 最后,数据字典上的专有数据字典锁定被释放。 作为对分区维护操作进行多相锁定的结果,锁定的资源的范围被减少,并且从并发的观点来看,分区维护操作的效率增加。