Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working on a project involving one database , but the customer's needs have evolved, so he needs to manage multiple projects. I tried to work with adding an id for each project, which gave me more complex queries all over the application, and I need to perform a replicate per project , but the the replicates would be heavy for a one database containing multiple projects.

In this application I'm using multiple arcpy geoprocessing scripts, so if I will opt for multiple databases the SDE database would be a parameter.

But multiple databases would be easier to backup and to archive.

I tried to make a picture about the context of the question:


Is there any risk in adopting multiple geodatabases in one application?

Any advice or experiences are welcome.

share|improve this question
What is your meaning of application (a project, specific software, or custom built application for a project)? – artwork21 Mar 29 '13 at 15:50
in this context application is custom software – geogeek Mar 29 '13 at 16:32
Looks like your picture didn't make it into the question. – BradHards Mar 30 '13 at 3:07
up vote 1 down vote accepted

I've seen an implementation based on multiple databases for a single application (indeed the application is deployed N-times) and at this very time they are moving the other way around due to customer`s needs evolution, exactly as you described :)

Their new requirements that made this design decision a problem to them are basically:

  • Create an integrated view for upper management (dashboard) that mix all existent databases;
  • TCO of their production environment (monitoring, database migration, deploy, etc.);

There are a number of pros and cons very well commented over the internet. For a general approach take a look at this article:

For a more scientific material I recommend to take a look at Multi-Tenant Architecture: (the theory will help you to decide but not give you a single answer since one can make a multi-tenant solution based on a single database or on multiple database:) (another very good article:

I would use a single database and would use some advanced technique to inject the tenant code and keep the app as simple as possible. Performance issues could be addressed very easily at the database level with indexes, partitioning, sharding and so on.

share|improve this answer

Your Answer


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.