We plan to change our multitenant ordering system on the intranet.
All products of the product catalog are retrieved through web services. This back-end architecture can not be replaced. Today, however, we are facing performance problems that should be eliminated with the new solution.
Therefore, we plan to use one caching db per tenant and we have made first tests with RavenDB.
The product catalog is relatively static, and we mainly will read data from the cache.
Only at the intermediate storage of the shopping cart data is also written.
We plan to regenerate each database once per hour, and then replace the existing database with the new one. We hope that this simplifies the update of the caching databases with the new product catalog.
There are, however, doubts whether this is contrary to the architecture of RavenDB. (existing Indexes, References)
Is our approach at all possible?
Has anyone found a good solution in a similar situation?
Thank you for your help
MS007,
Using RavenDB as as persistent view model storage is very common.
But I don’t see why you want to actually refresh the RavenDB databases on an hourly basis. It would be much cheaper to simply refresh the changed data, and you don’t have to worry about what is going on in the system while you are dropping a database and creating a new one.