Features
- Does not require any change to the source data model(s) (e.g. no need to add a
last_updated
column)
- Multi-source, with ability to merge or aggregate data, and optionally set merge/aggregation constraints
- Able to handle several data types, with link (foreign keys) between them, and to enforce integrity constraints
- Able to transform data with Jinja filters in configuration files: no need to edit some Python code
- Clean error handling, to avoid synchronization problems, and an optional mechanism of error auto remediation
- Offer a trashbin on clients for removed data
- Insensitive to unavailability and errors on each link (source, message bus, target)
- Easy to extend by design. All following items are implemented as plugins (list of existing plugins):
- Datasources
- Attribute filters (data filters)
- Clients (targets)
- Messagebus
- Changes to the datamodel are easy and safe to integrate and propagate, whether on the server or on the clients