Skip to main content

Chroma Migrate

Schema and data format changes are a necessary evil of evolving software. We take changes seriously and make them infrequently and only when necessary.

Chroma's commitment is whenever schema or data format change, we will provide a seamless and easy-to-use migration tool to move to the new schema/format.

Specifically we will announce schema changes on:

We will aim to provide:

  • a description of the change and the rationale for the change.
  • a CLI migration tool you can run
  • a video walkthrough of using the tool

Migration Log

Migration from >0.4.0 to 0.4.0 - July 17, 2023

We are migrating:

  • metadata store: where metadata is stored
  • index on disk: how indexes are stored on disk

Metadata Store: Previously Chroma used underlying storage engines DuckDB for the in-memory version of Chroma, and Clickhouse for the single-node server version of Chroma. These decisions were made when Chroma was addressing more batch analytical workloads and are no longer the best choice for users. The new metadata store for the in-memory and single-node server version of Chroma will be sqlite. (The distributed version of Chroma (forthcoming), will use a different distributed metadata store.)

Index store: Previously Chroma saved the entire index on every write. This because painfully slow when the collection grew to a reasonable amount of embeddings. The new index store saves only the change and should scale seamlessly!

Here are the 9-possible migration paths, and any notes, if applicable.

From 👇     ➡️     To 👉 Persistent Chroma Local Chroma Server Remote Chroma Server
Persistent Chroma 1️⃣
Local Chroma Server 2️⃣ 1️⃣
Remote Chroma Server 1️⃣ 2️⃣

1️⃣ - Make sure to configure any auth headers correctly

2️⃣ - Run both the existing version of Chroma and the new 0.4.0 version of Chroma at same time. Run the new version on a new port if local.

Embed video here

How to use the migration tool
  1. pip install this utility. pip install chroma_migrate

  2. Running the CLI. In your terminal run:

chroma_migrate
  1. Choose whether the data you want to migrate is locally on disk (duckdb) on clickhouse instance used by chroma, or directly from another chroma server

  2. Choose where you want to write the new data to.

Developing Locally

Run python main.py to test locally

Release files for chroma-migrate 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chroma-migrate 0.0.7
File Size Uploaded
chroma_migrate-0.0.7.tar.gz 340.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chroma-migrate 0.0.7
File Interpreter ABI Platform
chroma_migrate-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 353.0 kB

Release files / chroma_migrate-0.0.7.tar.gz

Download URL chroma_migrate-0.0.7.tar.gz
Size 340.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ae402998b2ca0aa76e5ce6ec8a6c3f13053c7ae07a72e17df3a2b320c9aa3177
BLAKE2b-256 checksum
How to use checksums
848a652378d58855c985ba932d3333631958beadf1cbd890542c047512225b3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release files / chroma_migrate-0.0.7-py3-none-any.whl

Download URL chroma_migrate-0.0.7-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59646a4c3b23242f8c8d1bd907f5ec6d122512bcf36a8da0b8e2fa1ed74a76b8
BLAKE2b-256 checksum
How to use checksums
9aaf6348764d965691a78a4695e0fae310e8b469e35875033d53ab77582bba70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page