All sources and targets
Document Databases

Move documents where they are needed

Document and NoSQL databases hold the data of modern applications. Aestus follows their change streams and feeds, keeps related records in order, and delivers the changes as documents, rows, graph elements or search entries.

Systems

How Aestus reads changes from each system, and how it writes them.

MongoDB and Atlas

As a source: Change streams on replica sets, sharded clusters and Atlas, with an initial load, full documents or changed fields only, and split readers for busy collections.

As a target: One document per record with child rows embedded as arrays, or documents stored as they are; changed fields are applied in place.

Change streamsPre- and post-imagesAtlas
Cosmos DB and DocumentDB

As a source: The MongoDB-compatible change streams, or the native Cosmos DB change feed.

As a target: Documents through the MongoDB-compatible interface.

AzureAWSMongoDB API
Amazon DynamoDB

As a source: DynamoDB Streams with old and new images, or Kinesis Data Streams for longer retention; exports to S3 for the initial load.

As a target: One item per record with children embedded; tables created on demand; every write is conditional on the version.

StreamsConditional writesOn-demand tables
Google Firestore

As a source: Listeners on collections, and exports for the initial load.

As a target: Documents and subcollections.

Google Cloud
Apache Cassandra

As a source: The CDC commit log, read next to every node.

As a target: Tables where each write carries the change's version as its timestamp, so Cassandra itself keeps the newest.

CDCWrite timestampsKeyspaces

Ways to Sync

Between systems of the same kind, and across kinds through a transform.

Document Document

Cluster to cluster

Copy collections between clusters, regions and clouds: Atlas to DocumentDB, DynamoDB to MongoDB, on-premises to Atlas.

Document Relational

Documents to tables

Map collections to parent and child tables with typed columns, for SQL, BI tools and the lakehouse.

Relational Document

Tables to documents

Assemble a row and its child rows into one document, so applications read one document instead of joining tables.

Document Graph

References to relationships

Fields that point to other documents become relationships in Neo4j or Neptune.

Document Vector & Search

Documents to search and AI

Descriptions, tickets and articles are embedded and indexed as they change, with their metadata.

Document Lakehouse

Documents into the lakehouse

Whole documents land as VARIANT in Delta tables, with the fields you query most as typed columns.

Use Cases

Analytics on application data

Report on what happens in your MongoDB or DynamoDB application in SQL, without exporting and without load on production.

Cloud and vendor moves

Move from one document database or cloud to another while the application keeps running.

Read models

Build documents shaped for each screen or API from the system of record, and keep them current.

Regional copies

Keep copies close to users in other regions, or at the edge, without writing replication code.

Integration with core systems

Feed changes from modern applications into the SQL databases of ERP, finance or legacy systems.

AI on live documents

Let assistants and search work on documents as they are now, not on last week's export.

How It Stays Correct

Related records in order

Group collections by a key, such as an item and its stock: changes for one group arrive in order.

Deletes stay deleted

Tombstones stop late changes from bringing back deleted documents.

Full documents when needed

When a change cannot be applied on its own, Aestus reads the current document again instead of guessing.

Documents or changed fields

Send whole documents, or only the fields that changed when the target can apply them.

Other Kinds of Systems

Want to discuss your use case? Write to [email protected].