Skip to main content

The GDS Way and its content is intended for internal use by the GDS and CO CDIO communities.

Use data stores

When designing your services you may need to use a data store, for example to collect and store data, such as user details, from your app.

Read the Service Manual for more information about choosing technology, development, integration, hosting, testing, security and maintenance.

Storage technology

Data stores use common storage techniques like:

There are data stores for specific situations or those which combine common tools or extend them. For example, PostGIS is a PostgreSQL database supporting spatial and geographic objects.

Example use cases

Depending on your use case, base your data store on the behaviours and performance of each technology. For example:

  • Create shared values
  • Store images and metadata
  • Relational data

Create shared values

If you need to create a set of shared values across the different elements of your data store, choose key-value pairs stored in memory. Key-value pairs provide high performance while scaling large amounts of data.

Store images and metadata

Although you can store images and metadata in different data stores, you should use an object database. Object databases search large data sets of unstructured data and you can combine them with a file-based store.

Relational data

If you have a lot of relational data in a structured form, you should use a relational database because they search, index and manage large volumes of data.

Types of data store

There are 2 distinct classes of data store implementation, known as managed and unmanaged.


Follow GDS Reliability Engineering principles and use fully managed cloud services by default.

Managed services are easier to put in place than unmanaged because they’re usually offered as a service. This means you do not need to manage the underlying data store technology.

Managed services handle complicated aspects of data stores for you like:

  • replication and backups
  • operating system updates
  • update and patches to the data store software


With an unmanaged service, it’s your responsibility to install and manage the:

  • data store software
  • underlying or associated technologies

Use an unmanaged data store if a managed service would be more complicated to put in place and maintain. For example, with an unmanaged service you could store all aspects of the data store using real or virtual machines which you’ll need to manage.

This page was last reviewed on 16 November 2021. It needs to be reviewed again on 16 May 2022 by the page owner #gds-way .
This page was set to be reviewed before 16 May 2022 by the page owner #gds-way. This might mean the content is out of date.