Databases design decision - Mobile & Web This may be a question a little broad but... I'm currently having the following dilemma:

Having a web application (already deployed) and a new mobile app, I'm currently working on the mobile app database of the server side and my question is... Do you think it is better to have separate databases for the web &amp; app, or is it better to integrate them in a single one?

I can think of pros &amp; cons for every approach. For example, a single DB is easier to update and mantain. However, keeping them separated gives every app some sort of independence, allowing you to, for example, change the DBMS of any of them, if you need to...

I know it's a bit difficult to respond without knowing the databases design, context, etc. but what is your general thought? and what do the "big companies" usually do?

EDIT: Also, for example, if we wanted to scale up the mobile app in the future and migrate it to another server... would it be harder in any of the previous scenarios?
You can consider the web and mobile as just delivery interfaces to the functionality/services for your application. With this regard the backend functionality (server side - processing etc), should be the same for both interfaces, so yes they should have the same database. 

You may want to add data to identify the sources of data addition or changes or traffic, but essentially its the same app. 

UPDATE:
Think of a mobile app just like a separate UI to be supported, I am not going to exhaust the possibilities but look at potential list of possible interfaces below:


Web Application - available 
Mobile App - is this HTML 5 web app, Android or
IOS? each may require its own 'different infrastructure'
Desktop app - for a subset, administration, operations 
Web Services (REST, SOAP) - for machine to machine communication which does not have a definite UI per se, but may be provided to 3rd parties to develop their own apps (even the 3 UIs above can be considered as such) 


The way to think about it is that there is one application with a single database which is being accessed through multiple channels, whether from the same server or different servers