May 28, 2012 at 3:11 pm
A Client has a huge Windows Application running on a Database. This client wants you to develop an "Express" version of this application, including only, let's say, 20% of its features. This Express version must be a Web Application, opened on the WWW. You have 2 choices:
Use the same Database to develop the web application
Create a new database to the web application, including only the necessary tables and objects and use some synchronization mechanism to keep the databases up to date.
The client prefers the 2nd option, because:
Security: If they have a separated Database for the web app, they will not "expose" the huge Windows App Database on the internet.
Performance: The windows application has some huge process that they run at night and "lock" the database for a couple of minutes. So, creating a separated DB would ensure better performance to the web application.
I prefer the 1st option, because:
Integrity: If we have different databases, we won't be able to create Foreign Keys between them.
Avoid Sync: If we have different databases, we would have to create a synchronization mechanism, which is very prone to failures.
Maintenance: Maintenance will be easier if we have only one database. No change will need to be replicated.
Can you help me decide which way to follow, and why?
May 29, 2012 at 6:13 am
Development should never take place on your production environment end of
May 29, 2012 at 6:31 am
I would say a separate database makes sense.
This is not too different from the standard scenario where you maintain a separate reporting database off of an OLTP system.
I would create the second database and then use replication to handle the synchronization issues, that way both the security and performance issues are fairly addressed and you don't have to work too hard to keep the parts that need to by synched handled.
Dave
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply