[ROOT] / doc / toc / ARCCore / Enum / ARComponents / ARCSync


(Not implemented as of March 2020)

A library providing a basic framework for synchronizing with other data sources (data sources outside of AgoRapide).

Background: One important use of AgoRapide is envisaged to be analyzing of existing databases (with the help of for instance ARCQuery). In order to do the analysis the data has to be converted into the format of AgoRapide (PropertyStream and continously kept synchronized in an efficient manner.

ARCSync is also what you use when you do not want AgoRapide to be your main database.
As long as your main database uses the 'key-value' principle and you can query data from it in chronological order, it is usually quite easy to keep AgoRapide synchronized to it.

Some database especially well suited in this regard are:
- Apache Kafka
- Amazon AWS DynamoDB
- Azure Cosmos DB
AgoRapide integrates quite naturally with these.
Note that using AgoRapide against these databases also reduces egress costs since downstream caching is inbuilt in AgoRapide.
In a typical situation you can have one AgoRapide node subscribing to the key-value stream, with all other nodes connecting to that one.
When the occasional need for an AdHocQuery arises that would be O(n) in AgoRapide you can instead query directly against the main database (which would more probably have a performance of O(1)).
If that query turns out to be permanently needed, then you set up a Subscription for it against CoreDB in order to cache it locally, eliminating the egress cost and ensuring an even speedier response.

ARCSync is not to be confused with the concept of how different AgoRapide based nodes synchronize between themselves (see Subscription. That functionality is built into ARCCore.


Details

Generated 2024-12-22 06:15:54.702 UTC