views:

218

answers:

1

I'm considering writing a blog hosting app in ASP.NET MVC. I'm new to .NET, but I'm reasonably competent in the LAMP world. My question concerns horizontal scaling of user data.

Each user with a blog would have something like 6 tables in a database. I'd like to plan for horizontal scaling so that 20% of the users could be on one database server, 20% on another, etc. In the LAMP world, I'd have one "dictionary" table which I'd first query to find out what database server a user was on. Then the app would only talk to that particular database server.

I don't see how to easily shard the database used by SqlMembershipProvider. Any tips?

+2  A: 

You can set up asp.net membership to run on a separate database from the rest of your site. This would allow you to store all user information and possibly other related information on one database while you could separate the rest of the information across as many databases you would need.

This would not split the membership database but it would allow you to split the rest of your site into several databases. It is unlikely that the membership database would be the one hit hardest by your users anyway.

Rune Grimstad
I second this opinion.
Andrei Rinea