This session was about brainstorming for possible options on how this can be achieved.
Alternatives are following:
1) ViewModel database – aggregate database should have its own copy of data
2) Merge services together & denormalize underlying data – maybe nothing else uses the underlying services and they can be merged
3) Parallelisation – grab source data for aggregation in parallel (this option only applies if the aggregation is parallelizable)
A) in proc (TPL, async-await, etc)
B) queues
4) Caching – cache on different levels
5) Db performance tuning – we sometimes forget the trivial solution to add additional indexing on tables involved
Tooling suggestion:
– zipkin: to trace where time is spent