Introduction
Performant Views on Event Based Data
The projection service is responsible for providing a view (projection) of the data in your event stream that is optimized for reading. By defining a simple GraphQl-like schema, you can define how events generate the current state of your data. The Projection Service will analyze the events and create APIs for the projection you described using that GraphQl schema.
By using projections you get a read optimized view of your event based data.
Schema Definition
Define projections by a GraphQL schema file. Most usecases won't need migration logic to enhance or change the projection. A detailed explanation on how to define such a schema can be found in the schema documentation.
References
Reference data from other projections or CRUD data.
Views
Views are projections that are based on other projections. They can be used for advanced reporting tasks that need to aggregate a lot of data.
GDPR
The Projection service uses the GDPR logic of the Streams service.
Make your projections GDPR-compliant by using the @gdpr
directive in your schema.
Tenancy
The service supports multi-tenancy, allowing you to isolate data between tenants. Therefore every request must specify the id of the tenant being used.