Tuesday, March 20, 2012

Advantages/Disadvantages to using more than one database

I have a content site where everything is currently in one SQL Server
DB. As I add features to the site, for example message boards and
blogging, does it make sense to put those features in a separate
database? What would I lose and gain in doing so? Thanks so much.

ErikErik Lautier (lautier@.gmail.com) writes:

Quote:

Originally Posted by

I have a content site where everything is currently in one SQL Server
DB. As I add features to the site, for example message boards and
blogging, does it make sense to put those features in a separate
database? What would I lose and gain in doing so? Thanks so much.


It's difficult to say without knowing more about the business as such.
But assuming that you have common concepts like users, and you may want
to have links between different entities, a single database makes life
simpler. Cross-databases references are messy.

But if the message board and the blogs are entirely unrelated, separate
databases may be a better idea.

One advantage of separate databases, is that if the message-board database
crashes, the blog database may still be available.

--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx|||Erland Sommarskog wrote:

Quote:

Originally Posted by

Erik Lautier (lautier@.gmail.com) writes:

Quote:

Originally Posted by

I have a content site where everything is currently in one SQL Server
DB. As I add features to the site, for example message boards and
blogging, does it make sense to put those features in a separate
database? What would I lose and gain in doing so? Thanks so much.


>
It's difficult to say without knowing more about the business as such.
But assuming that you have common concepts like users, and you may want
to have links between different entities, a single database makes life
simpler. Cross-databases references are messy.
>
But if the message board and the blogs are entirely unrelated, separate
databases may be a better idea.
>
One advantage of separate databases, is that if the message-board database
crashes, the blog database may still be available.


Thanks Erland...what if the message board and blog were to sit in
subdomains - is that a stronger argument for using a different
database? My concern is that if the traffic builds, I wouldn't want
activity in one area to slow down other areas of the site; but I don't
want to sacrifice simplicity either. From the sound of it, there's no
hard and fast rule about this...I'm just trying to plan in the event I
get the traffic going. Easier to fix now than later. :)

Erik

Quote:

Originally Posted by

--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
>
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx

|||Erik Lautier (lautier@.gmail.com) writes:

Quote:

Originally Posted by

Thanks Erland...what if the message board and blog were to sit in
subdomains - is that a stronger argument for using a different
database? My concern is that if the traffic builds, I wouldn't want
activity in one area to slow down other areas of the site; but I don't
want to sacrifice simplicity either. From the sound of it, there's no
hard and fast rule about this...I'm just trying to plan in the event I
get the traffic going. Easier to fix now than later. :)


Subdomains? You mean like blogs.lautier.com, messageboard.lautier.com etc?
I can't see that that has anything to do with it.

If you are nervous that the bloggers would slow down the message board,
then the same or the different database does not matter, as long as they
are on the same server. And that would be an argument for different
databases: if you go for different databases from the start, it will be
simple to move the databases between servers.

But then the databases would be entirely independent. Things like storing
users and their profiles should probably be in a separate database, and
the middle tier would be responsible to pass that information to the
databases.
--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx

No comments:

Post a Comment