John Reiser, Dmitri Lapanik, Gašper Ažman
QU Service:
- large static ram requirements
- small dynamic memory and CPU requirements per query
- massive QPS on single machine
-> optimize for small fleet of machines with lots of memory
Collators and Blenders:
- Moderate static memory requirements
- Large dynamic memory requirements
- load balancing, connection juggling
-> More available memory per collator -> more concurrent requests -> cheaper fleet
QU Service:
- software changes all the time
- data changes all the time
- changes are generally very safe, because they are basically update data from builds that are vetted already, or easily testable business logic
- can move to continuous deployment
Collators:
- software changes all the time
- data changes every day (relevance data deployments)
- will be hard to move to continuous deployment, even if we get continuous integration.
Collator
QU Service
Partitions
RSAS & other clients
time
The rest of the clients may continue using previous path
Collator
QU Service
Partitions
RSAS
time
previous path
Whitepapers still pending. Specifying what exactly needs to be done is TBD, and can be part of this discussion.
- metadata
- attribute store type madness uncovered by Russ Brown
- we're mixing business logic and core services left and right (transformers should be a library, for instance)
- query context is just too complex
- pro(p)ffers
Uses too much memory:
Is too complicated:
Proposed solutions:
We need to tease it apart at least in such a way that we can know what are inputs and what are outputs to particular phases, and enforce that. Only then will we be able to move towards a sane dataflow representation of our computation.