---
updatedAt: 2026-09-07T11:12:43.000Z
agentTools:
  projectIndex: https://docs.nacelle.com/llms.txt
---

# Introduction

## Nacelle's data model

Nacelle leverages a **canonical commerce data model**. When product and commerce data is transformed in Nacelle, it does so to align with this standardized data structure. The consistency of this structure leads to the following advantages:

1. An increase in *interoperability and abstraction* since this model is a standard
2. An increase in *performance* for indexing because defined fields are predictable
3. An increase in *velocity* because all engineers will speak the same data object language in your composable stack
4. An increase in *productivity* since many different spaces can share code and components
5. A *decrease in maintenance* costs and headaches because queries do not have to be re-written if something changes upstream from transformations (i.e., in the data source)

## Custom and unstructured data

Commerce at scale demands flexibility. Therefore, every object in Nacelle has a key-value store. Any data that does not fit into Nacelle's canonical commerce data model can be dropped into this key-value store, and nacelle promises delivery of this unstructured data.

See the details of the [Metafield object](/docs/metafields)

## Further customization

Since Nacelle's primary APIs are GraphQL, federation or schema stitching can be used to merge your custom GraphQL with Nacelle's. For more information on these approaches, please see [apollographql.com/docs/federation](https://www.apollographql.com/docs/federation/) and [the-guild.dev/graphql/tools/docs/schema-stitching/stitch-combining-schemas](https://the-guild.dev/graphql/tools/docs/schema-stitching/stitch-combining-schemas).

Custom schemas can also be used to improve the GraphQL experience for [Content](/docs/content-data-model) by introducing [Typed Fields](/docs/typed-fields-querying).

## Specific object definitions

> 📘 We use [GraphQL notation](https://graphql.org/learn/schema/) to describe our Canonical Commerce Data Model

The following documentation pages will provide more details on each object found within Nacelle's canonical commerce data model. They include:

* [Product](/docs/product-data-model)
* [Product Content](/docs/product-data-model)
* [Product Collections](/docs/product-data-model)
* [Product Collection Content](/docs/product-data-model)
* [Variants](/docs/variant-data-model)
* [Variant Content](/docs/variant-data-model)
* [Content](/docs/content-data-model)
* [Content Collections](/docs/content-data-model)
* [Price Rules and Price Break](/docs/price-pricerules-price-breaks)
* [Media](/docs/media)
* [Metafields](/docs/metafields)
* [SEO](/docs/seo)
* [Product Options]()

## Filter definitions

* [ContentFilterInput](/docs/input-filters#contentfilterinput)
* [ProductFilterInput](/docs/input-filters#productfilterinput)
* [ProductCollectionFilterInput](/docs/input-filters#productcollectionfilterinput)