January 6, 2014 at 11:26 am
I’ve spent quite some time brainstorming and researching the 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 shards/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 greatly appreciated.
Thank you!
V
January 7, 2014 at 9:39 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.
October 11, 2015 at 4:38 am
I am also looking for a multi-tenant database SaaS solution, as I have multiple clients with shared and different needs.
I am looking for someone who has tried PartitionDB[/url] (http://www.partitiondb.com/[/url])
Very important for me the ability to create FKs between databases, shared database to all tenants, tenant downtime & lock support.
Last week a friend of mine show me how partitiondb works, as I want the benefits of SQL/ACID with the support of multiple databases over multiple linked servers.
Thanks
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply