January 6, 2014 at 12:53 pm
I’ve spent quite some time brainstorming and researching sharding of a multi-tenant database (for a SAAS application). I have the conceptual design down, and some of the logical and physical, but wasn’t able to find much information on best practices of designing the Meta Database, containing connections and common data for the tenant databases. A simplified model would look like this: several servers, 2 or more shards with identical structure on each server, each shard containing a few databases with data for a subset of the tenants (example: Server 1; shards 1; tenants 1- 500; databases A, B, C with data for tenant 1-500). I’ve attached a simplified model for a single server.
My question is how do I choose the best location for the Meta Database? It is straight forward having 1 Meta Database connecting the shards on only 1 server, but the implementation would be different for multiple servers with multiple shards each, since the Meta Database would need to contain the connection to each tenant.
Your thoughts and any guidelines would be very much appreciated.
Thank you!
V
January 7, 2014 at 9:38 am
I think the solution could be as 'simple' as having a copy of the same Meta DB on each server which would enable the application to obtain the correct connection (and common data) for each tenant, regardless of the location.
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply