Table of contents

The GDS Way and its content is intended for internal use by the GDS community.

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, 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.

Managed

GDS recommends using a managed service like Amazon Web Services (AWS).

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

Unmanaged

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 solution 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 21 November 2018. It needs to be reviewed again on 21 May 2019 by the page owner #gds-way .
This page was set to be reviewed before 21 May 2019 by the page owner #gds-way. This might mean the content is out of date.