G06F16/273

EFFICIENT WORKLOAD BALANCING IN REPLICATED DATABASES BASED ON RESULT LAG COMPUTATION
20230222122 · 2023-07-13 · ·

A method for workload balancing is implemented in a computer system including a primary database system and a secondary database system, the secondary database system being configured as a backup system for the primary database system. The method includes compiling a query received from a client application. The query indicates one or more source tables have corresponding replicate tables. The compiling comprises replace the one or more source tables with the corresponding replicate tables. The method can generate a query execution plan based on the compiled query, determine a per-table result lag based on minimum commit times of the corresponding replicate tables, and compare the per-table result lag with a predefined threshold. Responsive to a determination that the per-table result lag exceeds the predefined threshold, the method can recompile the query by falling back to the one or more source tables from the corresponding replicate tables.

Multi-master data replication in a distributed multi-tenant system
11698894 · 2023-07-11 · ·

A multi-master replication system is disclosed. The multi-master replication system allows a large set of peer instances to collaboratively replicate data to each other. According to an example, a change detection thread running on a first server associated with a first instance of multiple instances of a replicated database monitors for changes to any of multiple records within one or more shared tables of the replicated database. Responsive to detection of a change to a record, an item is stored by the change detection thread onto a queue containing information regarding the change. Groups of changes are packaged into multiple chunks, in which each chunk (i) corresponds to a discrete unit of progress for both change detection and transport; (ii) is associated with multiple changed records; (iii) contains metadata about the multiple changed records; and (iv) does not contain data from the one or more shared tables.

Method for replacing a currently operating data replication engine in a bidirectional data replication environment without application downtime and while preserving target database consistency, and by using audit trail tokens that provide a list of active transactions

An automated method is provided for use when replacing a currently operating data replication engine in a first system with a new data replication engine in the first system in a bidirectional data replication environment. The currently operating data replication engine in the first system and the new data replication engine in the first system replicates first database transactions from an audit trail of a first database in the first system to a second database in a second system. The new data replication engine in the first system generating a list of active database transactions in the first system, and sends the list of active database transactions to the new data replication engine in the second system as a first token. The new data replication engine in the second system receives the first token, fetches a transaction event from an audit trail of second database, and replicates the fetched transaction event to the new data replication engine of the first system when the fetched transaction event does not match a transaction on the list in the first token. These steps are repeated during operation of the new data replication engine of the second system. The currently operating data replication engine in the first system is stopped from replicating first database transactions when all of the transactions on the list of active database transactions that were generated have been replicated to the second system.

AUTOMATED PERFORMING OF REPLICATION TASKS IN A MULTIPLE DATABASE SYSTEM
20230214406 · 2023-07-06 ·

Various embodiments for a data management system for managing inferences are described herein. An embodiment operates by detecting a signal to perform a replication task. Parameters corresponding to the replication task are identified. The replication task is configured to at least partially replicate a source data table from a source repository to a target data table in a target repository, based on the parameters. It is determined that a columnar structure of a first column of the source data table including data to be replicated matches a columnar structure of a second column of the target data table where the data is to be replicated to. The replication task is executed responsive to the determination of the matching structures, the replication task including performing one or more arithmetic operations on the data.

System and method for offline capability for mobile devices including asynchronous threads

Systems and methods are described herein that provide a system associated with a CRA application framework with offline capability for mobile devices. In one example embodiment, a network request is received via network communications from a mobile device. The request is identified and multiple processing threads are initiated that separate operations for performing the request. A Self Describing Object (SDO) is generated and is returned in response to a fetch request. This allows the mobile device to input data while offline from a server and to minimize network interactions therebetween.

Component-based synchronization of digital assets

The present disclosure relates to a digital asset synchronization system that provides improved local and remote synchronization of digital assets. In particular, the digital asset synchronization system manages digital assets by separating each digital asset into multiple components stored as a set of distributed individual files. Employing individual components for a digital asset rather than single monolithic file enables the digital asset synchronization system to provide safe concurrent access to the digital asset from multiple applications on the same device and across different devices. In addition, using components for a digital asset provides the digital asset synchronization system with the ability to efficiently store and synchronize multiple versions of the digital asset, both locally and remotely.

Processing delete requests based on change feed of updates

The disclosure herein describes processing deletion requests using sequencing numbers with change feed updates. When a deletion occurs on the source data store, a deletion notification is created in a change feed on the source server. The deletion notification includes a set of deletion record IDs identifying a set of records to be deleted, a tombstone sequence number (TSN) identifying a sequence of the deletion notification within a set of deletion notifications and/or a deletion sequence number (DSN). The DSN is incremented by one each time a new deletion notification is created. A deletion notification can represent deletion of a single record or a set of records. Each deletion notification is assigned a time-to-live (TTL) value. The deletion notification is deleted at expiration of the TTL. The TSN and the DSN entries are used to determine whether any deletion updates have been missed to prevent silent failures.

Capture and replay of user requests for performance analysis

System and methods are described for performance analysis of a cloud computing environment. During a capture mode during a production use of a database system, the system captures user requests to access the cloud computing environment, asynchronously writes the user requests in one or more batches to a first database; and moves the user requests in one or more batches to a second database. During a replay mode during a performance analysis use of the cloud computing environment, the system reads the user requests from the second database and replays the user requests against the cloud computing environment in a first run, collects performance measurements for the first run, makes one or more changes to the cloud computing environment, reads the user requests from the second database and replays the user requests against the cloud computing environment in a second run, collects performance measurements for the second run, and compares performance measurements from the first run to performance measurements from the second run.

Real-time data replication in a multiple availability zone cloud platform

The present disclosure relates to computer-implemented methods, software, and systems for managing data replication. A request associated with storing content of a file is received at a storage service provided by in a multiple availability zone cloud platform. A lock request is sent to an in-memory data grid at a first instance of the storage service to lock the file for accessing. An input stream of the file is received at the persistence interface to be read iteratively in portions. A read portion of the file is iteratively stored in a first file system storage associated with instances of the storage service at a first availability zone. The portions of the file are provided iteratively to a replication executor at the first instance of the storage service to request replication of the content of the file into a second file storage of a second availability zone of the cloud platform.

SYSTEMS AND METHODS FOR REPLICATION TIME ESTIMATION IN A DATA DEDUPLICATION SYSTEM

Systems and methods for of determining a replication time in a deduplicated file system are disclosed. Maximum streams are determined based on a number of allocated streams on a source node and a number of allocated streams on a target node. An available network bandwidth between the source node and the target node is determined. A delta time is estimated based at least on one or more duplicate fingerprints between a logical space unit of the source node and the target node by using at least one source smart filter and at least one target smart filter. The replication time is determined based on the maximum streams, the available network bandwidth between the source and target nodes, the estimated delta time, and a number of unique fingerprints that exist between the logical space unit of the source node and the target node.