...
- Latency in data access (multiple serializations)
- Data transformation (multiple representations)
- Data duplication (multiple representation 'cached' in multiple data stores)
- Data deployment purely a deployment concern.
Option B
Common information model and data lake. (Another extreme)
- High risk of uncontrolled coupling between components
- Difficult life-cycle management, in particular upgrade
- Risk that complex inter-related objects become inconsistent thus breaking the owning µService
- Implies that a single database is shared – data deployment involves understanding use cases
Access to data is either via a service or directly to the data store
...
- A single component is designated owner of the model and data related to it. This is not a common information model.
- Knowledge of the model is always via an interface provided by the µService that owns it.
- Access to data is not possible without knowledge of the model. This is not a data lake.
- Data deployment involves understanding use cases
µServices given access to the model may then query the data store directly, bypassing the owning µService.
...