A Real-World Framework for Calculating Database Latency

Almost all modern applications require storing and accessing data, but choosing the right database to power an application is a difficult task that involves reasoning about a complex set of tradeoffs. Developers typically need to think about the following:

  • The geographic regions where the database will store data and whether the resulting real-world latency profile will allow them to create an application that is quick and responsive.
  • The operational model for the database and the implied total cost of ownership and availability characteristics.
  • The consistency model for the database and whether it meets requirements without pushing complex transaction support to the application.
  • The developer experience for the database and whether it will empower fast and efficient innovation in the future.
  • The scalability of the database and the ability to quickly dial capacity up or down as workloads change over time.

These dimensions are all important, but latency stands apart from the rest because it is the most difficult to reason about and it is often impossible to engineer around. Low latency is also growing in importance as business logic moves to the edge, making the difference between a local and remote API call more jarring and disruptive to users.