G06F16/2393

System and method for querying a data repository

The present disclosure relates to methods and systems for querying data in a data repository. According to a first aspect, this disclosure describes a method of querying a database, comprising: receiving, at a computing device, a plurality of keywords; determining, by the computer device, a plurality of datasets relating to the keywords; identifying, by the computer device, metadata for the plurality of datasets indicating a relationship between the datasets by examining an ontology associated with the datasets; providing, by the computer device, one or more suggested database queries in natural language form, the one or more suggested database queries constructed based on the plurality of keywords and the metadata; receiving, by the computing device, a selection of the one or more suggested database queries; and constructing, by the computer device, an object view for the plurality of datasets based on the selected query and the metadata.

SANITIZING DATABASE STRUCTURES FOR TESTING
20230237067 · 2023-07-27 ·

A central database system allows users to access and use data stored in a relational database. In order to ensure that the stored data is not detrimentally impacted and that the security of the stored data is maintained, the central database system generates a sanitized copy of the database. The central database system stores and accesses annotation files associated with data tables of the database and a schema identifying the structure of the database. Based on the schema, for each data table, the central database system validates the annotation file. A copy of the data table is created and sanitized corresponding to the annotation file. The sanitized copies of the data tables are used to generate a sanitized copy of the database. The sanitized copy of the database may then be accessed and used by users of the central database system without impacting the relational database.

INCREMENTAL REFRESH OF A MATERIALIZED VIEW

Systems, methods, and devices for incrementally refreshing a materialized view are disclosed. A method includes generating a materialized view based on a source table. The method includes merging the source table and the materialized view to generate a merged table to identify whether an update has been executed on the source table that is not reflected in the materialized view. The method includes, in response to detecting an update made to the source table that is not reflected in the materialized view, applying the update to the materialized view.

Persisted Data Views Supporting Access Control

Embodiments enforce user access rights to a data view, by initially generating a replication table of the view. The replication table may include all view data to which any user is entitled. This replication table may be generated during a first database session having a first value for a session variable. Next, a data access control structure is applied to the replication table to produce output comprising a subset of the view data for a specific user. This output may be produced during a second database session having a second value for the session variable. By initially generating the view replication table up front, processing resources are conserved in later stages when access control structures are applied to grant view access rights to particular users. Alternative embodiments may implement access control to data views, through the creation and storage of derived views.

Data fetch engine
11709836 · 2023-07-25 · ·

A method, apparatus, system, and computer program code for retrieving data records. A set of static configuration objects is provided, including: a set of resources that describe available data items, and a set of views that express a serialized transformation of resources objects into a response. In response to receiving a data request, a computer system generates a data fetch execution plan from the set of resources and the set of views. The data fetch execution plan is generated using an executor adapted to a particular data store and set of performance requirements. The computer system retrieves the data records according to the data fetch execution plan.

Iterative data processing

Data is processed iteratively by a database system with a first cache storing key-value data which resulted from previous iterations of processing input data and a second cache storing aggregated data which resulted from previous iterations of processing key-value data stored in the first cache. In a current iteration, the database system receives further input data related to the input data of the previous iterations, transforms the further input data into further key-value data and stores the further key-value data in the first cache in addition to the stored key-value data which resulted from previous iterations. The database system further processes the further key-value data and the aggregated data stored in the second cache to form updated aggregated data, and stores the updated aggregated data in the second cache for usage in further iterations. The database system also provides the updated aggregated data to at least one client.

Restricted views to control information access in a database system
11704306 · 2023-07-18 · ·

A restricted view definition is received by a database system. The restricted view definition defines a view over a database table with one or more restrictions on use of the view. The view over the database table is generated based on the restricted view definition. A query directed at the view is received by the database system. The database system determines whether the query directed at the view is permitted based on the one or more restrictions on the use of the view.

UPDATING SHARED AND INDEPENDENT MATERIALIZED VIEWS IN A MULTI-TENANT ENVIRONMENT
20230021006 · 2023-01-19 ·

Shared materialized views are maintained during data changes to the primary data and during creation of new materialized views. Shared data stored for use by shared materialized views is distinguished from data stored by an independent materialized view. A view selector manages data updates to shared materialized views and corresponding mapping table. The view selector directs movement of data between a shared materialized view and an independent materialized view through the lifecycle of the materialized views.

Flexible data ingestion

Systems and techniques are provided for flexible data ingestion. Data including a file including a database table may be received at a computing device. The file may be in a non-standard binary format. The data including the file may be stored unaltered as a source data chunk. A processed data chunk may be generated from the source data chunk by converting the file to a standard binary format and storing the file in the processed data chunk without altering the source data chunk. A materialized data chunk may be generated from the processed data chunk by performing, with a database server engine of the computing device, a database operation on the database table of the file of the processed data chunk and storing the file in the materialized data chunk without altering the processed data chunk. The database table of the file of the materialized data chunk may be made available for querying by the database server engine.

Replicating materialized views across heterogeneous target systems

A materialized view created by a materialized view management platform may be replicated across many different target systems. The materialized view management platform allows users to specify different target systems. To create the materialized view in the different target systems, the materialized view management platform can translate the materialized view into different formats in order to store the materialized view in the different formats. Updates to the different instances of the materialized view are then made to keep the different materialized view formats in the different target systems up-to-date.