We currently have 3 similar, but slightly different applications that use the same data. We load the (same) data into each application that uses it. The applications are similar and use the same technology (Ruby on Rails) but were developed by different programmers.

In consolidating this data, our management seem the benefit to using the same tools (gems, modules, etc) but does not seem aware of many other reasons why we should consolidate things centrally.

I've worked in several different organizations including one position in Data Warehousing so the centralization of data seems like a no-brainer to me.

The life-cycle of the data is the following year for the current paying customer, but then also longer term as we get the data from the various organizations that have it, over the years, and we'll want to compare one org and one year to others.

However I want to put together a list of all the reasons to centralize (or not) this set of data. So far I have:

  • reduce duplication of effort. When we implement a function we currently may have to do it in two places, increasing both the effort to implement the function in two places and also the cost of writing it twice.

  • Quality of data. Creating two data set that have similar but different contents will lead to discrepencies between the two that will grow over time, reducing the value of the data.

I am looking for a list of other reasons, particularly those that relate to the overall cost.

  • You say "similar" data. Do you mean "similar" or "the same"?
    – user26452
    Feb 26, 2013 at 21:28
  • 1
    Actually, the best strategy depends very much on the "life cycle" of your data. Who creates is, how often is it changed, who changes it, is the data somehow "optimized" to the way it is used in any of the 3 applications? In the current form, however, I think your question is far too broad to give you a useful answer.
    – Doc Brown
    Feb 26, 2013 at 22:28
  • Updates with info on same/similar (it's the same) and also info on life-cycle. Feb 26, 2013 at 22:46
  • Do you have any insight into how/why the data become duplicated in the first place? By accident or design?
    – mike30
    Feb 27, 2013 at 16:17
  • Initially it was thought that not much data would be shared. After some development and usage it became more apparent that the uch of the data woud be shared but unfortunatelu at that point there wrer two apps - one maintained inernaly and the other externaly by consultants and the two groups work separately. Clearly they need to work closer but that is not the main question right now. Feb 27, 2013 at 18:45

1 Answer 1


Ok, you said you are looking for pros and cons for centralizing the data, and gave yourself some pros. Here are some things when not to centralize may be the better option:

  • the data in place does change so seldom that the it simply does not pay to change your existing applications. Say, changing your applications needs 1 month development effort altogether for those three applications. But the data just changes once a year, is provided from outside, and the effort to provide it or enter it in all those 3 applications is one day. So your "return-of-invest" point is ~30 years in the future.

  • you can create an easy way to maintain the data just in one place and transform it automatically from that place to the place where the 3 applications access that data

  • the three applications must be kept strictly decoupled, so each of them can run without the other, without using data which belongs to one of the other (or belongs to a fourth one). This may have technical reasons (for example, fail safety) or legal reasons (for example, licensing issues).

  • the three applications need the data in different versions / in a different state of up-to-dateness

If none of those things applies, centralizing the data is probably the better option, especially when the data is changed often, can be changed directly through your 3 applications, and the 3 applications need the data in the same state.

  • +1 for the 'cons' which the OP could use as additional arguments 'pro' ;-)
    – Jan Doggen
    Mar 1, 2013 at 10:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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