I need a suggestion on the scenario I have, multiple application sharing same data.

-I have a set of tools which is developed independetly, but there is a set of data they share.
-Its around 7 Applications sharing some of the basic data and few data are specific to the application.
-I also have to maintain a local copy of the central DB and update accordingly.
-Is it a better idea to for independent database per application or having a single application?

I find it is better to go for single database per application since,
-Maintanance becomes easy
-Need not have an extra job of hiding one application data in another.
-Achieve scalability
-Time saving in terms of implementation, need not check for too many things.
-Update logic also becomes easy

Anyhow I am worried about the common data which I would be duplicating in the above case, is there a way to expose common data to all the applications having specific data separate?

I fail to see how maintanance becomes easier if you've got seven databases you're having to manage and work with for each individual application; as well as updating the data becoming easier.

Making sure all of the data is up to sync and not repeated will be your main headache if you are going to use one database per application; and I would personally avoid this trouble by connecting all of your applications to one database. If you are likely to update the database's structure (thus having to rewrite how the seven applications interact with it), then you could make just one application to handle the data exchange to and from the database, and then make the other applications work through that one application; thus making it act like an abstraction layer with flexibility over how the data is managed.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.