G06F16/24547

COST-BASED QUERY OPTIMIZATION FOR UNTYPED FIELDS IN DATABASE SYSTEMS

A document-oriented database system generates an optimal query execution plan for database queries on an untyped field included in a collection of documents. Each untyped field is configured to store one or more scalar data values. The system generates histograms for scalar data values stored in untyped fields. Responsive to receiving a query statement for fetching or updating data value stored in one of the untyped fields, the system assigns a cost to each operator associated with the query statement based on the histogram, compares the costs assigned to the operators, and generates a query execution plan based on the comparison, and query the database using the query execution plan.

GRAPH-BASED QUERY ENGINE FOR AN EXTENSIBILITY PLATFORM

In one embodiment, a method comprises: accessing information from an extensibility platform configured to monitor observability data from a monitored computer network topology; receiving a query regarding the information, the query formatted according to a unified query language for the extensibility platform; determining which specific requested data from the information to return in response to the query based on a fetch block within the query; determining one or more bounding blocks within the query that establish one or more boundaries on the query, wherein one of the one or more bounding blocks comprises a topology boundary block to define a specific topology of the monitored computer network topology, wherein the specific topology identifies one or more entities within the monitored computer network topology to which the query is specifically directed; and returning results of the query as defined by the requested data to return and limited to the specific topology.

SEARCHABLE ENCRYPTION SYSTEM

A registration device (400) generates ciphertext data using a new data key, generates an encrypted keyword using a new keyword key, and registers a set of the ciphertext data and the encrypted keyword. A search operation device (500) restores an old data key from the new data key, restores an old keyword key from the new keyword key, and generates a new search query and an old search query, using the new keyword key and the old keyword key, respectively. A data management device (600) finds an encrypted keyword that matches one of the new search query and the old search query, and outputs an encrypted search result including ciphertext data corresponding to the encrypted keyword that has been found. The search operation device decrypts a plaintext from the ciphertext data included in the encrypted search result, using one of the new data key and the old data key.

FAILOVER CONFIGURATION USING REPLICATION GROUP OBJECTS

A method includes generating at a source account of a database system user, a replication group object (RGO). The RGO includes a manifest identifying one or more data object types and one or more databases. A replication of data objects of the one or more data object types is performed from the one or more databases to a target account of the database system user. The replication of the data objects is performed as a unit. The RGO is replicated as a failover group object (FGO) within the target account of the database system user. A network failure is detected at the source account of the database system user. The target account of the database system user is promoted as a new source account based on the detecting of the network failure.

ADAPTIVE MODEL TRANSFORMATION IN MULTI-TENANT ENVIRONMENT
20230289344 · 2023-09-14 ·

A query processing method includes receiving a query from a requestor. The query is directed to a first data model specifying multiple base data fields. The method includes determining a set of extension bindings for the first data model based on the query. Each binding specifies an extension to the first data model from a set of model extensions and specifies one of the base data fields of the first data model as a node at which the extension is added. The method includes generating a data object from base data values and extension data values according to an extended data model. The extended data model is defined by the first data model extended by, for each binding of the set, adding data fields from the specified extension to the first data model at the specified node. The method includes returning the data object to the requestor.

Parallel processing of data

A data parallel pipeline may specify multiple parallel data objects that contain multiple elements and multiple parallel operations that operate on the parallel data objects. Based on the data parallel pipeline, a dataflow graph of deferred parallel data objects and deferred parallel operations corresponding to the data parallel pipeline may be generated and one or more graph transformations may be applied to the dataflow graph to generate a revised dataflow graph that includes one or more of the deferred parallel data objects and deferred, combined parallel data operations. The deferred, combined parallel operations may be executed to produce materialized parallel data objects corresponding to the deferred parallel data objects.

Processing database queries using format conversion
11755575 · 2023-09-12 · ·

Devices, methods and systems for processing database queries formatted differently than the database storage model being queried are disclosed. Processing database queries independent of the storage model of the queried database may be performed by receiving a query for one or more data items stored in a database, determining whether to use at least one query operator that uses data having a format different from the storage model format of at least one of one or more data items stored in the database and converting the format of the data used by the at least one query operator to a format that matches the storage model format of at least one of one or more data items stored in the database. Related systems, methods, and articles of manufacture are also described.

Multifactor authentication at a data source

A method and system for performing authentication are described. The method and system include receiving, from a client, a communication for a data source at a wrapper. The wrapper includes a dispatcher and a service. The dispatcher receives the communication and is data agnostic. The communication is provided from the dispatcher to the service. The service determines whether the client is authorized to access the data source utilizing multi-factor authentication.

Replication group objects configuration in a network-based database system

Provided herein are systems and methods for configuring replication group objects. A system includes at least one hardware processor coupled to memory and configured to decode a replication request received from a client device of a data provider. The replication request indicates a plurality of account objects for replication. The plurality of account objects associated with a corresponding plurality of account object types. A replication group object is generated based on the replication request. The replication group object includes a manifest. The manifest lists the plurality of account objects. The replication of the plurality of account objects is performed from a source account of the data provider into at least one target account. The replication is based on the manifest of the replication group object.

DISPERSING DATA AND PARITY ACROSS A SET OF SEGMENTS STORED VIA A COMPUTING SYSTEM
20230185802 · 2023-06-15 · ·

A computing system is operable to generate a plurality of lines of coding blocks that includes a plurality of data blocks and a plurality of parity blocks. Each of the plurality of lines of coding blocks includes a corresponding subset of data blocks a corresponding subset of parity blocks. A set of segments of a segment group are generated to collectively include the plurality of lines of coding blocks. Different coding blocks of each of the plurality of lines of coding blocks are included within different ones of the set of segments, and the plurality of parity blocks are dispersed across all of the set of segments. The set of segments are stored via a plurality of nodes sets, where different segments of the set of segments are stored via memory resources of different node sets of the plurality of node sets.