title: backend db setup for an app with geographically diverse users
body: <p>The in-house developed software where I work connects directly to a mysql server here in our office via our devexpress orm (XPO). Performance is great.</p>
  
  <p>We're opening another office... cross country. Performance: not so great. The requirement is that the software be as responsive in both offices as it is in this office and that the data from one office be available to the other 'in real time'. </p>
  
  <p>Something of this scale is totally new to me. I'm not averse to bringing in a consultant who's done something like this before, but I'd like to get a good picture of the options first. I'm sure that this is a common situation.</p>
  
  <p>Is replication a good idea? Is it fast enough? stable enough?</p>
  
  <p>Are there development patterns that tackle this kind of situation if replication won't work? </p>
  
  <p>Heck, I'm not even sure how to tag this, so if someone knows better... please, feel free to re-tag</p>
  
  <p>EDIT > Details about the data</p>
  
  <p>I guess, compared to some enterprise software, we're not moving lots of data. The software manages customer accounts, appointments etc. and each user works on about 2-5 separate accounts/minute (50 users currently, 200-400 after planned expansion), updating data each time. </p>
  
  <p>The real-time aspect comes into play when someone in office A creates an appointment for someone in office B who, ideally, needs to be able to view its details near immediately (&lt;2 mins). That said, each record usually only gets mutated a maximum of 5 times a day. But that's only what I suspect; I don't actually have any usage statistics on me.</p>