I wanted to make sure I’m going about this the right way. I’m designing a multitenant application. Im planning on creating one database per tenant on a single raven instance, but would also like to have one single instance of my codebase (i.e. one deployed mvc webapi instance).
So I’d call some service locator to get the singleton instance of the documentstore, and then pass it a tenant identifier so I can operate against the appropriate session (one session per tenant db).
Provided that each tenant db is relatively small, (in the hundreds of thousands of documents), transaction volume is fairly low (hundreds of users per tenant) ..is it realistic to expect to run more than a handful of tenants on a single server?
I know this is an open ended oranges-to-apples question, but the answer I’m looking for is either
a) yes this is a standard approach for multitenancy using raven and is limited by hardware
or
b) you’re going about it wrong and this will fail after a handful of tenants regardless of memory/compute capacity
thanks in advance
Dave,
This is the standard approach.
You should be able to run a minimum of a few hundreds tenants on a single instance.
We have seen multi tenant servers that have thousands, but that depend a lot on the actual load.