G06F16/24566

RECURSIVE DATA TRAVERSAL MODEL

One or more embodiments interpret a configuration graph to efficiently and optimally construct requests and fetch data from a datastore. The values of objects of a requested data type are used to generate additional queries for pre-fetching data from the datastore. Specifically, the values are used to query for and retrieve a corresponding subset of objects of another, related data type. Recursively querying for and retrieving objects of related data types based on already retrieved objects builds a data cache of relevant objects. The cached, relevant objects may be useful in subsequent queries that are likely to follow the initial query.

MODIFIED REPRESENTATIONAL STATE TRANSFER (REST) APPLICATION PROGRAMMING INTERFACE (API) INCLUDING A CUSTOMIZED GRAPHQL FRAMEWORK
20200226140 · 2020-07-16 ·

A system including a data center hosting a representational state transfer (REST) server in communication with a client network, wherein the REST server includes a GraphQL schema describing tables and fields of a communicatively coupled database. The REST server is configured to: receive a request that includes a GraphQL query; open a streaming connection to the client network; and output a beginning of a response via the streaming connection. The REST server is also configured to process the GraphQL query based on the GraphQL schema to generate a GraphQL result, and to output the GraphQL result in a body of the response via the streaming connection. The REST server is further configured to output an end of the response via the streaming connection, such that the response is correctly formatted in JavaScript Object Notation (JSON).

Systems and methods for visualizing and manipulating graph databases
10713258 · 2020-07-14 · ·

Systems and methods for visualizing and manipulating graph databases in accordance embodiments of the invention are disclosed. In one embodiment of the invention, a graph database manipulation device includes a processor and a memory configured to store a graph database manipulation application, wherein the graph database manipulation application configures the processor to obtain a graph database including a set of nodes and a set of edges, determine a source node within the set of nodes, locate a set of related nodes based on the source node and the set of edges, recursively locate a set of sub-related nodes based on the set of related nodes and the set of edges, generate a representation of the set of related nodes from the perspective of the source node, and recursively update the generated representation of the set of sub-related nodes from the perspective of the source node and the related nodes.

Parallel execution of queries with a recursive clause

Techniques are described herein for executing queries with a recursive clause using a plurality of processes that execute database operations in parallel. Each process of the plurality of processes either generate or are assigned a segment that is part of a temporary table. For each iteration of the recursive query, work granules are divided up and assigned to each of the plurality of processes. As each respective process produces a portion of a result set for a given iteration, that process appends said portion of the result set to the respective segment that the respective process manages. Each slave process then publishes, to one or more sources, a reference to the newly generated results. During the next iteration, any slave process may access any of the data from the previous iteration.

Parallel filtering of large time series of data for filters having recursive dependencies
10671624 · 2020-06-02 · ·

Filtering apparatus and methods associated with filtering large time series of data are described. A filtering process containing recursive dependencies can be organized as a series of computational tasks, at least some of which can be performed in parallel. Because of parallel execution of some tasks, an amount of time for filtering large time series of data with a filter exhibiting recursive data dependencies can be reduced significantly.

Migrating a pluggable database between database server instances with minimal impact to performance

Embodiments provide a migration instruction that effectuates the migration of a pluggable database from a source database server instance to a destination database server instance. Upon receiving the migration instruction, the migrating pluggable database is opened at the destination instance. Connections are terminated at the source instance at a rate that is determined based on statistics maintained for one or more of: the migrating pluggable database, the source instance, the destination instance, a container database, etc. Furthermore, once the migration instruction is received, a certain amount of time is provided before the source instance flushes the dirty buffers for the migrating pluggable database from the buffer cache of the source instance. The delay in flushing dirty buffers from buffer cache allows the source instance to provide data blocks, of the migrating pluggable database, directly to the destination database server instance from the cache.

Supporting pluggable databases with heterogeneous database character sets in a container database

A pluggable database (PDB) that is encoded using a particular character set (differing character set) may be plugged into a container database (CDB) and queried, even when the CDB in which the particular PDB resides is encoded using a different character set. The DBMS records what character set is used to encode the PDB. Any predicate that may prune results from a PDB that is encoded in a differing character set is converted to the differing character set as needed, such that the predicate may be applied within the PDB to prune results. At times, cross-container views will require data from a PDB that is encoded using a differing character set. The data returned from a recursive query over the PDB is converted to being encoded using the character set of the root database of the CDB.

Automatic reconfiguration of relocated pluggable databases

A database server instance automatically detects configuration issues when a pluggable database (PDB) is plugged into a new destination container database (CDB). The database server instance identifies one or more update templates, within the destination CDB, that, when run over the relocated PDB, will update the configuration of the PDB to conform to the configuration of the destination CDB. Instead of requiring an administrator to initiate update scripts from a DBMS kernel to reconfigure a PDB, the DBMS creates the update templates by recording commands run within PDBs in connection with system updates. These recorded update templates may then be run over relocated PDBs, to configure the PDBs according to the configuration of the destination CDB. Further, the update templates may be pre-recorded update templates, which record commands to perform configuration updates, to PDBs, that have never before been performed within the CDB.

Method and system for optimizing and preventing failure of Sender Policy Framework (SPF) lookups by dynamically generating and returning flattened SPF records
10587561 · 2020-03-10 ·

A method for optimizing and preventing failure of Sender Policy Framework (SPF) lookups by dynamically generating and returning flattened SPF records, recorded on computer-readable medium and capable of execution by a computer, the method comprising the steps of: requesting a regular SPF Record; receiving a SPF Record that includes an entry that points to a Proxy Server; the SPF Proxy server looking up a canonical SPF record optionally containing many included domains; and the SPF Proxy server flattening the canonical record into IP addresses and optionally sub records depending on the length of the flattened response.

System and method for implementing domain based access control on queries of a self-describing data system

A method for implementing access controls for items of data belonging to a self-describing data structure including obtaining a query definition specifying a requested item of data in the self-describing data structure, determining domains associated with the requested item, the domains including a set of items within the self-describing data structure on an execution path of a query executed according to the query definition. For each respective domain associated with the requested item, the method includes determining subdomains associated with the requested item, determining a role of the user for the respective domain, the role is associated with a set of access permissions to items of data within the domain, and generating an output corresponding to whether access to the requested item is granted based on a policy for each of the subdomains associated with the requested item and the role of the user for the domain.