# Define schema and sync data

## Define schema

Schemas are all about performance. If you aren’t convinced, we wrote an article on [schema vs schemaless](https://www.search.io/blog/schema-vs-schemaless) just to convince you. 😉

You can define your schema in a couple of ways:

1. Manually in our [admin console](https://app.search.io/collection/schema), here: \ <img src="https://3882858970-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVeIbtsTcQaqaNeKzLbbU%2Fuploads%2FrLhltPcuAuHXeD1nsJCe%2Fdefine-schema-and-sync-data.png?alt=media&#x26;token=c422e4aa-bfaf-476d-b6f5-7183b0edea6c" alt="" data-size="original">
2. Via our [API](https://dev.search.io/docs/api/#tag/Schema)
3. By uploading a sample dataset during your collection setup
4. Using one of our [Integrations](https://docs.search.io/documentation/integrations)

{% hint style="info" %}
Note: If you’re using our [Shopify](https://docs.search.io/documentation/integrations/shopify) or another integration, defining your schema will happen automatically for you.
{% endhint %}

For more information on how to define and change a schema, head over to:

{% content-ref url="../../fundamentals/indexing-data/schema" %}
[schema](https://docs.search.io/documentation/fundamentals/indexing-data/schema)
{% endcontent-ref %}

## Sync data

There are a couple of different ways to sync your data with search.io:

1. When creating a collection, you can provide a JSON file, and search.io walks you through a data indexing wizard:

   <img src="https://3882858970-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVeIbtsTcQaqaNeKzLbbU%2Fuploads%2FbIoPnVptMHWtmYi3G5Uo%2Fimage.png?alt=media&#x26;token=63b6fbc5-47de-4733-b309-9b586e73cea6" alt="" data-size="original">
2. Or you can use or [API and client libraries](https://docs.search.io/developer-documentation/fundamentals/api-and-client-libraries) to load and update data.
