Product

Datasets

Datasets separate your content from your schema, so you can experiment freely without ever touching production.

0%

Isolated from production until you switch

0

Schema, shared across every dataset

0s

Typical time to clone a dataset

0+

Projects running multiple datasets

Data, decoupled

Your schema doesn't change, your content does

A dataset is a full copy of your content — separate from your schema, and separate from any branch — that you can point any environment at. Clone one from the Dashboard in a click, then run a locale, a staging environment, or a demo dataset side by side with production, on the same models.

  • Clone a dataset from the Dashboard in seconds, at any size
  • Switch datasets per-environment, per-request
  • Schema stays shared, content stays isolated
terminal
$ cairn dataset list
  production   4,213 docs
  staging      4,213 docs
  demo-eu        892 docs

Swap at request time

Point your API at a different dataset in one call

Datasets are selected per-request, so a single deployment can serve production content, a staging dataset, or a locale-specific one — without redeploying or maintaining separate environments.

  • Select a dataset with a single query parameter
  • No redeploy required to switch environments
  • Access control scoped per dataset
fetch.ts
const posts = await cairn
  .dataset('staging')
  .collection('posts')
  .find()

Common uses

One schema, as many datasets as you need

Locales

Keep translated content in its own dataset while sharing the same underlying schema.

Experiments

Trial new content in an isolated dataset before it ever reaches production.

Environments

Give every environment, from local dev to staging, its own dataset to work against.

Try datasets on your next branch

Clone a dataset and see how it fits into your workflow.