The problem lays in the requirement of low latency reads along with strong distributed persistency.
TBD.
Thoughts
- Caching might be implemented as a plugin that memoizes N last reads (in memory or in database like Redis)
Multiple databases
Following approach will significantly improve read speeds for the cost of slower writes and first reads (cold start). Also, not found requests would become slower, can be sped up by explicitly setting package as nonexistent for the Fast database.
Overview


