G06F16/24562

VIRTUAL DATABASE TABLES WITH UPDATABLE LOGICAL TABLE POINTERS

Techniques and solutions are described for implementing virtual table schemas. A virtual table schema includes a logical pointer that is used to target a table that includes data and is defined according to the virtual table schema. Values assigned to the logical pointer can be used to target tables at different locations, such as in-memory storage or in dynamic storage of a database management system. The dynamic storage includes an in-memory buffer cache and persistent storage. The logical pointer can be updated to point to the in-memory storage or the dynamic storage, including based on use statistics. Similarly, a table having data for the virtual table can be transitioned between the in-memory buffer cache and the persistent storage, including based on use statistics for the virtual table. A value for the logical pointer can be updated when the table is transferred between the in-memory buffer cache and the dynamic storage.

Virtual database tables with updatable logical table pointers

Techniques and solutions are described for implementing virtual table schemas. A virtual table schema includes a logical pointer that is used to target a table that includes data and is defined according to the virtual table schema. Values assigned to the logical pointer can be used to target tables at different locations, such as in-memory storage or in dynamic storage of a database management system. The dynamic storage includes an in-memory buffer cache and persistent storage. The logical pointer can be updated to point to the in-memory storage or the dynamic storage, including based on use statistics. Similarly, a table having data for the virtual table can be transitioned between the in-memory buffer cache and the persistent storage, including based on use statistics for the virtual table. A value for the logical pointer can be updated when the table is transferred between the in-memory buffer cache and the dynamic storage.

Systems and methods for fuzzy search without full text
11386101 · 2022-07-12 · ·

Systems, methods, and computer-readable media for fuzzy-searches on encrypted messages include maintaining, in an indexer, a dictionary of words appearing in a message history. Upon receiving a query including at least one search term, a fuzzy search of the dictionary using the at least one search term is performed to determine one or more fuzzy-matching words in the dictionary, and one or more search tokens are generated from the one or more fuzzy-matching words, the one or more search tokens including encrypted versions of the one or more fuzzy-matching words. The one or more search tokens are provided to a search service for searching a database of encrypted messages of the message history, where the at least one search term may not have an exact match with any of the words in the dictionary.

Combined filtering and indexing for read-only data sets
11409747 · 2022-08-09 · ·

The present disclosure provides a method for executing a query in a database, the method comprising receiving the query that comprises a query key; searching a data structure of the database to determine whether the query key includes a portion that corresponds to an entry in the database, wherein the data structure comprises a first sequence of values comprising information that indicates whether the database comprises data that corresponds to a portion of a key, and a second sequence of values comprising pointers pointing to data that corresponds to the key; in response to the query key including a portion that corresponds to an entry in the database, determining a location of a value in the first sequence, wherein the value corresponds to the portion of the query key; and determining a pointer in the second sequence of values according to the location, wherein the pointer points to data that corresponds to the query key.

Recommendation model generation and use in a hybrid multi-cloud database environment

A unified access layer (UAL) and scalable query engine receive queries from various interfaces and executes the queries with respect to non-heterogeneous data management and analytic computing platforms that are sources of record for data they store. Query performance is monitored and used to generate a query performance model. The query performance model may be used to generate alternatives for queries of users or groups of users or to generate policies for achieving a target performance. Performance may be improved by monitoring queries and retrieving catalog data for databases referenced and generating a recommendation model according to them. Duplicative or overlapping sources may be identified based on the monitoring and transformations to improve accuracy and security may be suggested. A recommendation model may be generated based on analysis of queries received through the UAL. Transformations may be performed according to the recommendation model in order to improve performance.

Efficient file renames using B-tree based persistence for file system name spaces

Embodiments for optimizing file lookups after a file or directory rename operation. Files are defined using inode, dirent, and hash entries, and the name space of the files are stored in a B−Tree using file system conventions in which the inode, dirent, and hash values are referenced by the directory first followed by the inode number, as in a first data structure denoted [directory:inode]. Upon a rename of a file, the old inode, dirent, and hash entries are deleted, and a reference is created to the old name using the inode number first followed by the old directory, as in a second data structure denoted [inode:old_directory], and this reference is used as a forward link to the new file under the new directory name.

PARALLEL HANDLING OF A TREE DATA STRUCTURE FOR MULTIPLE SYSTEM PROCESSES
20220066820 · 2022-03-03 ·

The technology describes scanning tree data structures (trees) for multiple processes, at least partly in parallel. A service scans a tree from a beginning tree element to an ending tree element on behalf of a process; while scanning, another process can join in the scan at an intermediate tree element location (e.g., a key). For the subsequent process, the service scans the tree based on the intermediate location to the tree end, thereby visiting tree elements in parallel until the tree end, then continuing from the tree beginning element to the intermediate location for the subsequent process. The service basically completes a full carousel-type revolution for each process. One or more other processes can join an ongoing scan at any time, facilitating further parallel tree element visits, while still obtaining a full scan of the entire set of tree elements. The service handles changing tree versions during the scanning.

Storing messages of a message queue

Provided is a data storage system for a computer network adapted to store a message. The data storage system includes a data storage unit and a processing unit. The processing unit stores message data of the message across one or more data elements of a data list entry of an auxiliary list in the data storage unit. The processing unit further stores an indexing pointer of the message across one or more indexing elements of an indexing list entry of an indexing list in the data storage unit. The indexing pointer is adapted to point to the data list entry. The indexing list entry further includes an indexing control element containing control information associated with the indexing list entry. The data list entry further includes control information associated with the data list entry.

COMBINED FILTERING AND INDEXING FOR READ-ONLY DATA SETS
20210294807 · 2021-09-23 ·

The present disclosure provides a method for executing a query in a database, the method comprising receiving the query that comprises a query key; searching a data structure of the database to determine whether the query key includes a portion that corresponds to an entry in the database, wherein the data structure comprises a first sequence of values comprising information that indicates whether the database comprises data that corresponds to a portion of a key, and a second sequence of values comprising pointers pointing to data that corresponds to the key; in response to the query key including a portion that corresponds to an entry in the database, determining a location of a value in the first sequence, wherein the value corresponds to the portion of the query key; and determining a pointer in the second sequence of values according to the location, wherein the pointer points to data that corresponds to the query key.

Trees and graphs in flash memory

Systems and methods for managing content in a flash memory. Data structures such as trees and graphs are implemented in a flash memory. Nodes or field nodes such as pointers or invalidation bits are updated using an overwrite operation where possible or by invalidating certain fields and temporarily storing changes in an in-memory table.