# US 12,216,642 B2 · System and method for performing online archiving operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,216,642 B2
- Document ID: US12216642B2
- Status: Granted
- Kind: B2
- Application number: 17/341,896
- Filed: 2021-06-08
- Published: 2021-12-09
- Granted: 2025-02-04
- Earliest claimed: 2020-06-08
- Assignees: MongoDB, Inc.
- Applicants: MongoDB, Inc.
- Inventors: Abdullah Alkhatib; Robert Liles; Pia Kochar
- Web page: https://patentgrep.com/patent/US12216642B2

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/113: {Details of archiving (lifecycle management in storage systems G06F3/0649; point-in-time backing up or restoration of persistent data G06F11/1446)}
- G06F 16/2471: {Distributed queries}
- G06F 16/25: Integrating or interfacing systems involving database management systems
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/2372: {Updates performed during offline database operations}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to at least one aspect, a distributed database system is provided. In some implementations, the distributed system comprises an online database, an archive database, and a data processing entity adapted to receive a query of a single logical database, the single logical database being stored across the online database and offline database. In some examples, the data processing entity archives data from the online database to the offline database responsive to one or more archive rules.

## Claims

### Claim 1

A distributed system comprising:
at least one hardware processor operatively connected to a memory, the at least one hardware processor when executing configured to:
manage a single logical database arranged as a replica set comprising:
a primary source of data stored across an online database and an offline database managed by a primary node of the replica set, wherein the primary node provides a point of access to both the online and offline databases; and
a secondary source of data storing archive copies of the data stored in the primary source, the secondary source being managed by a plurality of secondary nodes of the replica set; and
a data processing entity, executed by the at least one hardware processor, adapted to receive a query of a single logical database;
wherein the at least one hardware processor is configured to:
monitor the online and the offline databases;
determine at least one archive rule is met based on evaluation of at least a subset of data stored within the online database;
transition, automatically, the subset of the data in the online database from the online database to the offline database by removing the subset of the data from the online database and adding the subset of the data to the offline database, and wherein the query is a single unified query that accesses and returns matching results from both of the online and offline databases for a respective query.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the online database comprises a data lake architecture adapted to store a plurality of unstructured data entities.

### Claim 3 (depends on 1)

The system according to claim 1, wherein the data processing entity is configured to manage execution of the single unified query while the subset of data is undergoing the automatic transition between the online and offline database based on assigning a status to the data undergoing automatic transition.

### Claim 4 (depends on 1)

The system according to claim 1, wherein the online database is stored within a cluster of nodes having at least a portion of the data stored according to a document based model and unstructured data architecture.

### Claim 5 (depends on 1)

The system according to claim 1, wherein the offline database is stored within cloud-based storage entities stored according to at least a second data format.

### Claim 6 (depends on 1)

The system according to claim 1, further comprising a processing entity configured to:
create read-only views of storage comprising collections spanning the online database and the offline database;
identify one or more queries consisting of read requests; and
execute the unified query against the read-only views in response to identifying the one or more queries consisting of the read requests.

### Claim 7 (depends on 1)

The system according to claim 1, wherein the data processing entity includes an archive management entity adapted to:
receive a query from one or more systems and to distribute the query to one or more systems associated with the online database and offline database;
evaluate a status associated with the subset of data as part of distribution of the query within the online and offline databases;
determine at least a portion of the subset of data is hosted in the offline database and is subject to a write request; and
update the status associated with at least the portion of the subset of data based on the received query and write request.

### Claim 8 (depends on 1)

The system according to claim 1, further comprising a memory configured to store one or more archive rules that control archiving of data from the online database to the offline database.

### Claim 9 (depends on 8)

The system according to claim 8, wherein the data processing entity is configured to:
perform archiving operations in real time while performing database operations across the online database and offline database; and manage execution of the single unified query on data stored in the online database under a first format and transitioned data originally in the first format currently stored in the offline database under a second data format; and
select a target collection from a plurality of offline versions having a common namespace in the offline database based on having an active status associated with the data stored in the target collection.

### Claim 10 (depends on 8)

The system according to claim 8, wherein at least one of the one or more archive rules is configured to archive data based on a date field.

### Claim 11 (depends on 8)

The system according to claim 8, wherein at least one of the one or more archive rules is configured to archive data based on a non-date field, the one or more archive rules including parameters defined on respective partitions having respective namespaces that include the non-date field as part of the namespace.

### Claim 12 (depends on 8)

The system according to claim 8, wherein at least one of the one or more archive rules is configurable by a user.

### Claim 13 (depends on 8)

The system according to claim 8, wherein at least one of the one or more archive rules is configured to archive data based on a plurality of data fields.

### Claim 14 (depends on 1)

The system according to claim 1, wherein the offline database includes at least one partition defined by a namespace, the at least one partition including archive data determined by one or more data fields, and wherein a respective one of the at least one partition is specified and accessed based on the namespace and the one or more data fields.

### Claim 15 (depends on 1)

The system according to claim 1, wherein the single unified query accesses and returns matching results from both of the online and offline databases by accessing and returning a single view of a union of both of the online and offline databases.

### Claim 16

A method comprising:
managing a single logical database represented by a namespace arranged as a replica set comprising:
a primary source of data stored across an online database and an offline database managed by a primary node of the replica set; and
a secondary source of data storing archive copies of the data stored in the primary sources, the secondary source being managed by a plurality of secondary nodes of the replica set;
providing, using the primary node, a single integration point for performing one or more data operations on elements of the online and offline database wherein the single integration point connects a first application to the single logical database;
monitoring the online and offline databases;
determining at least one archive rule is met based on evaluation of at least a subset of data stored within the online database; and
transitioning, automatically, the subset of data in the online database from the online database to the offline database by removing the subset of the data from the online database and adding the subset of the data to the offline database; and
executing a single unified query on the data being stored across the online and offline databases received from the application via the single integration point wherein the single unified query accesses and returns matching results from both of the online and offline databases for a respective query.

### Claim 17 (depends on 16)

The method according to claim 16, further comprising processing, by a database management entity, a write request that updates a data element located in offline storage, and determining if conditions for a transition of the data element from the offline storage to online storage are met.

### Claim 18 (depends on 17)

The method according to claim 17, wherein the act of processing the write request includes unarchiving the data element to online storage.

### Claim 19

A method comprising:
maintaining a single logical databased arranged as a replica set comprising:
a primary source of data stored across an online database and; maintaining an offline database managed by a primary node of the replica set, the primary node providing a point of access to both the online and offline databases; and
a secondary source of data storing archive copies of the data stored in the primary source, the secondary source being managed by a plurality of secondary nodes of the replica set;
providing a data processing entity adapted to receive a query of the single logical database;
monitoring the online and offline databases;
determining at least one archive rule is met based on evaluation of at least a subset of data stored within the online database;
transitioning, automatically, the subset of data in the online database from the online database to the offline database by removing the subset of the data from the online database and adding the subset of the data to the offline database; and
executing the query as a single unified query that accesses and returns matching results from both of the online and offline databases for a respective query.

### Claim 20 (depends on 19)

The method according to claim 19, wherein the online database comprises at least a first data format including a document based model storing unstructured data, a second data format stored under a data lake architecture adapted to store a plurality of unstructured data entities, and a third data format of the offline database.
