After working with Orca, it becomes very natural to want to retrospect the internal results produced by Orca algorithms, within Orca.
Now the question is how you do it:
- Build bindings in each SDK to the selected data store (currently just psql) and query direct from processor
- Use core as the interface to query the results - all the SDKs need to provide is the interface to state what algorithm they want the results from and over what time frame.
1 might be more efficient as it avoids the latency of having to go through core (minimal), but does not scale well if many algorithms need the same kind of data from the database.
2 scales database load better as we can bake in to core a cache mechanism (this was the intention with redis), but it pushes more traffic through the network potentially hitting cloud cost. Not a major issue in my opionion as this is generally low if arranged properly.
After working with Orca, it becomes very natural to want to retrospect the internal results produced by Orca algorithms, within Orca.
Now the question is how you do it:
1 might be more efficient as it avoids the latency of having to go through core (minimal), but does not scale well if many algorithms need the same kind of data from the database.
2 scales database load better as we can bake in to core a cache mechanism (this was the intention with redis), but it pushes more traffic through the network potentially hitting cloud cost. Not a major issue in my opionion as this is generally low if arranged properly.