principlesqlMajor
Pros/Cons of using multiple databases vs using a single database
Viewed 0 times
databasesdatabaseprossingleusingmultiplecons
Problem
I was working on a new project which has the requirement to use 7 databases, arguing that performance, stability, optimization are more easily implemented.
While I don't agree, I'm having trouble collecting good arguments to use a single database (splitting the tables into logical domains).
One argument I have so far is data integrity (I can't use foreign keys between databases).
What are good pros/cons for using a single or multiple databases?
[summary so far]
Arguments against multiple databases:
-
Losing data integrity (can't use foreign keys over databases)
-
Losing restore integrity
-
Gaining complexity (db users/roles)
-
Small odds server/database will go down
Solutions:
-
Use schemas to separate domains.
-
POC: Use dummy data to prove the point in 7/1 db's execution plans
While I don't agree, I'm having trouble collecting good arguments to use a single database (splitting the tables into logical domains).
One argument I have so far is data integrity (I can't use foreign keys between databases).
What are good pros/cons for using a single or multiple databases?
[summary so far]
Arguments against multiple databases:
-
Losing data integrity (can't use foreign keys over databases)
-
Losing restore integrity
-
Gaining complexity (db users/roles)
-
Small odds server/database will go down
Solutions:
-
Use schemas to separate domains.
-
POC: Use dummy data to prove the point in 7/1 db's execution plans
Solution
None of performance, stability, optimization are true. Does anyone have a solid argument or reference article why these would be true?
Resources are not allocated to a database: the SQL Server Instance balances resources so it makes no difference
You lose:
You gain complexity:
Options:
Resources are not allocated to a database: the SQL Server Instance balances resources so it makes no difference
You lose:
- data integrity
- restore integrity (data in DB7 will be later then DB1)
You gain complexity:
- security (users, roles etc) have to be in all databases
- you'll have some data that doesn't fit into 1 database nicely
Options:
- splitting a database onto separate disks can be done with filegroups
- use schemas to logically separate data (based on other answer)
Context
StackExchange Database Administrators Q#11670, answer score: 26
Revisions (0)
No revisions yet.