Projection Storer
Projection Storer is one of the Fast Data components, which it acts as an entrypoint to the system. Its role is to ingest change events coming from the origin system (System of Record) and process them by cleaning, filtering, validating and eventually storing them as raw data for the system.
The service consumes Kafka messages as ingestion events and for each input change event produces as output the corresponding projection record update event.
Projection Storer service generates projection record update events that adopt the v2.0.0
schema, which differ slightly
from the events generated by the Real-Time Updater service, which uses the v1.0.0
schema. Nonetheless, both event schemas are
supported, recognized and handled correctly by downstream components.
Comparison with Real-Time Updater
Projection Storer features partially overlap with the ones of Real-Time Updater service. In fact,
Projection Storer implements a comparable processing logic for consuming ingestion events, storing projection records and notifying
changes via projection record update events.
When Fast Data is configured adopting Event-Driven architecture, the Projection Storer can be employed as a drop-in
replacement of Real-Time Updater service.
Nonetheless, when compared to the Real-Time Updater, Projection Storer offers an overhauled and simpler configuration experience and an increased processing throughput.
Below is provided a brief comparison table between the two services:
Features | Projection Storer | Real-Time Updater |
---|---|---|
architectures | Event-Driven | Standard, Event-Driven |
supported consumers | Kafka* | Kafka* |
supported producers | Kafka* | Kafka* |
supported storage systems | MongoDB | MongoDB |
projection filtering/casting/validation | ✔ | ✔ |
consumer and producer independence | ✔ | ❌ |
strategy execution | ❌ | ✔ |
projections updates generation | ✔ | ✔ |
hard/soft delete | ✔ | ✔ |
predefined message adapter | db2 , golden-gate , debezium | db2 , golden-gate , debezium |
custom message adapter | ✔ | ✔ |
predefined cast functions | ✔ | ✔ |
custom cast functions | ✔ | ✔ |
* Fast Data can be plugged to any Event Streaming Platform that support Kafka Protocols. For example, it is also compatible with Azure Event Hubs for Apache Kafka.
Projection Storer Configurations
To learn more about Projection Storer configuration, it is possible to read the details in the following page.
Furthermore, it is also available a migration guide,
which explains how to update Fast Data configurations, so that a Projection Storer can replace an existing Real-Time Updater.