Ravi Kothuri - Nashua NH Siva Ravada - Tewksbury MA Jayant Sharma - Nashua NH Jayanta Banerjee - Nashua NH
Assignee:
Oracle Corporation - Redwood Shores CA
International Classification:
G06F 1730
US Classification:
707100, 707 2, 707 4, 707 7, 707102
Abstract:
A system and method for indexing and storing multi-dimensional or multi-attribute data. Data items are recursively sorted in a selected dimension (e. g. , the dimension having the greatest variance) and divided until each subdivision fits into a leaf node having a specified fanout. Intermediate nodes and a root node are constructed to complete the index. Each node of the index is stored in a database as a separate object or record and may include a node identifier of the unique, an identifier of a parent and/or a sibling node and an entry for each child of the node, which may be data items or other nodes. Each record entry for a child includes an associated bounding area encompassing descendant data items. Another database table or module may store information about the index, such as the dimensionality of the data, the index fanout and an identifier of a root of the index.
Buffering A Hierarchical Index Of Multi-Dimensional Data
Ravi Kothuri - Nashua NH Siva Ravada - Tewksbury MA Jayant Sharma - Nashua NH Jayanta Banerjee - Nashua NH Ambuj Singh - Santa Barbara CA
Assignee:
Oracle Corporation - Redwood Shores CA
International Classification:
G06F 1730
US Classification:
707100, 7071041
Abstract:
Methods are provided for buffering nodes of a hierarchical index (e. g. , R-tree, bang file, hB-tree) during operations on multi-dimensional data represented by the index. The methods are particularly suited for query operations, and a different method may be more suitable for one pattern of queries than another. Where queries are distributed in a relatively uniform manner across the domain or dataspace of an index, a node-area buffering method is provided. In this method nodes are cached or buffered in order of their respective areas (e. g. , their minimum bounding areas), and a node having a smaller area will be replaced in cache before a node having a larger area. When, however, queries are not uniformly distributed, then a least frequently accessed buffering technique may be applied. According to this method statistics are maintained concerning the frequency with which individual index nodes are accessed. Those accessed less frequently are replaced in cache before those accessed more frequently.
Relational Database System For Storing Nodes Of A Hierarchical Index Of Multi-Dimensional Data In A First Module And Metadata Regarding The Index In A Second Module
Ravi Kothuri - Nashua NH Siva Ravada - Tewksbury MA Jayant Sharma - Nashua NH Jayanta Banerjee - Nashua NH
Assignee:
Oracle Corporation - Redwood Shores CA
International Classification:
G06F 1730
US Classification:
707100, 707 1, 707 7, 707101, 707103, 7071041
Abstract:
A system and method for indexing and storing multi-dimensional or multi-attribute data. Data items are recursively sorted in a selected dimension (e. g. , the dimension having the greatest variance) and divided until each subdivision fits into a leaf node having a specified fanout. Intermediate nodes and a root node are constructed to complete the index. Each node of the index is stored in a database as a separate object or record and may include a node identifier of the unique, an identifier of a parent and/or a sibling node and an entry for each child of the node, which may be data items or other nodes. Each record entry for a child includes an associated bounding area encompassing descendant data items. Another database table or module may store information about the index, such as the dimensionality of the data, the index fanout and an identifier of a root of the index.
Database Version Control Subsystem And Method For Use With Database Management System
A version control system is described for use in connection with a database management system to facilitate versioning of a database table, the system including a database table and a version control module. The database table comprises a plurality of records, each record including at least one data field for storing user data and at least some of the records including a version control field including version control information. The version control module is configured to, in response to a user query related to the database table and related to a version, generate an augmented query for processing by the data base management system, the augmented query relating to the user query and the version control information. The version control module facilitates association of versions of the database with respective ones of a hierarchy of states and allows conflicts therebetween to be resolved, data to be posted from child states to respective parent states in the hierarchy, and referential constraints between tables to be preserved.
Aravind Yalamanchi - Nashua NH, US Dieter Gawlick - Palo Alto CA, US Jayanta Banerjee - Nashua NH, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 7/00 G06F 17/00
US Classification:
707703, 707704
Abstract:
Techniques are provided for freeing up resources before operations that change the resources have successfully completed. Resources are freed up by committing database transactions that perform portions of operations before the operations themselves have successfully completed. If the operations fail to complete successfully, then “compensation information” is used to remove the effects of the committed changes that were performed as part of the operation. Techniques are also provided for allowing database transactions to update values without retaining exclusive locks on those values. Operational constraints set forth conditions that must be satisfied before an update is allowed to proceed. If an attempt is made to update a particular value that has changes that may be undone, then the database server determines a plurality of “possible result values” for the particular value. If the possible result values satisfy the operational constraint conditions, then the update is allowed to proceed.
Techniques For Implementing Indexes On Columns In Database Tables Whose Values Specify Periods Of Time
Robert Hanckel - Amherst NH, US Jayanta Banerjee - Nashua NH, US Siva Ravada - Nashua NH, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 17/30
US Classification:
707673, 707683, 707746
Abstract:
Techniques for history enabling a table in a database system so that past versions of rows of the history-enabled table are available for temporal querying. The table is history enabled by adding a start time column to the table and creating a history table for the history-enabled table. The history table's rows are copies of rows of the history-enabled table that have changed and include start time and end time fields whose values indicate a period in which the history table's row was in the history-enabled table. Temporal queries are performed on a view which is the union of the history-enabled table and the history table. The temporal queries are speeded up by period of time indexes in which the leaves are grouped based on time period size, identifiers are assigned to the groups, and the keys of the index include the group identifiers.
Database System That Provides For History-Enabled Tables
Jayanta Banerjee - Nashua NH, US Robert Hanckel - Amherst NH, US Siva Ravada - Nashua NH, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G07F 17/30
US Classification:
707684, 707679, 707683
Abstract:
Techniques for history enabling a table in a database system so that past versions of rows of the history-enabled table are available for temporal querying. The table is history enabled by adding a start time column to the table and creating a history table for the history-enabled table. The start time field's value in a row of the history-enabled table indicates when the contents of the row last changed. The rows of the history table are copies of rows of the history-enabled table that have been deleted or updated. The rows include end time fields whose values indicate when the row was updated or deleted. A history table's row thus indicates a period in which the history table's row was in the history-enabled table. Temporal queries are performed on a view which is the union of the history-enabled table and the history table.
Aravind Yalamanchi - Nashua NH, US Jayanta Banerjee - Nashua NH, US Souripriya Das - Nashua NH, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 7/00
US Classification:
707705
Abstract:
Systems, methods, and other embodiments associated with access control for graph data at the instance-level are described. One example method includes accepting data access constraints that are expressed as match and apply pattern pairs to enforce security policies. A user query on graph data with a security policy restricts the returned data to data that the user is authorized to access. For this purpose, a user query that includes query selection criteria corresponding to one or more match pattern criteria based on the resource referenced in the query is rewritten to include security conditions specified in the associated apply pattern to restrict access to the graph data.