sageserpent-open / plutonium

CQRS providing bitemporal object modelling for Java POJOs and Scala too.
MIT License
5 stars 0 forks source link

Split the querying API off from the revision API. #67

Open sageserpent-open opened 4 years ago

sageserpent-open commented 4 years ago

This is related to #59. It is becoming clear that there is no need for anything in the implementation's backend storage other than 'BlobStorage' to provide queries - so why not make life easier for clients who just want to make queries by hiving off the query API into a standalone piece that doesn't require all of the baggage in 'World' and its attendant memory footprint and storage woes that are making the goal of near-linear performance a problem.

It has been shown that the blob storage implementation does scale linearly (or at worst linear * logarithmic), so this would yield a performance benefit for the likely situation where many queries are made by an application, but few (or no) revisions.

It would also allow things such as batched revisions in a session.