Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

What I am asking is would it be more secure if I had a customer table in one database server and the transactional data in another database server? This way if the database is compromised they are only getting one piece of the pie? What kind of service hit would this take on the application?

Just a thought on design.

share|improve this question
1  
The only way to properly answer this is to do a proper threat/vulnerability assessment and to know which risk you are trying to mitigate with seperating the data across instances. For example, there is no point in doing this, if a threat can access serverB using the same vulnerability as accessing server A... –  Edward Dortland Jan 2 at 9:38
add comment

1 Answer

up vote 0 down vote accepted

Not knowing what system you are using I can only make a couple of general observations. If you have multiple tables in a database then the administrator of the database will have access to all of them but otherwise you can control the table level security. If you have multiple databases on a server then the administrator of the server will have access to all of them but otherwise you can control the security as you desire. The best reason to split the data up between servers is to limit the access of an administrator on the server.

At least in MS SQL Server (the DB I know the most about) you can locate tables across multiple databases on the same instance with no performance issues. Once you are dealing with multiple instances on the same server you have a distributed transaction and may or may not take a performance hit. If the instances are on separate servers in the same location then you add in performance degradation caused by the LAN. And of course if you have servers in different locations you are dealing with WAN performance.

share|improve this answer
    
While the performance cost may be neglegible, splitting up the database affects the availability. Separating the database onto two servers doubles the risk of an unscheduled downtime. This needs to be weighed against the potential benefits. –  Twinkles Jan 2 at 9:50
    
thanks, its what I kinda thought, but I wanted to make sure from the experts. And yes it was MS SQL. –  Rob Jan 2 at 21:49
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.