---
title: "Zero Downtime Schema Changes With CrateDB"
url: https://daily.dev/posts/zero-downtime-schema-changes-with-cratedb-9gwpaklud
source_url: https://cratedb.com/blog/zero-downtime-schema-changes-with-cratedb
type: article
source: "CrateDB"
published: 2026-08-11T14:07:26.369Z
updated: 2026-08-11T14:07:56.365Z
tags: ["backend", "iot", "cratedb"]
reading_time: 5
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Zero Downtime Schema Changes With CrateDB

**[CrateDB](https://daily.dev/sources/cratedb)** · 5 min read · 0 upvotes · 0 comments

## Summary

CrateDB supports zero-downtime schema changes through its dynamic object column types. Tables can be configured with three object policies: STRICT (fixed schema, all keys pre-declared), DYNAMIC (new keys auto-added and indexed on first insert), and IGNORED (data stored without schema enforcement or indexing). This is especially useful for IoT workloads where device firmware updates can change the shape of incoming data unpredictably. Unlike traditional RDBMS systems where an ALTER TABLE triggers downtime risks and complex change management procedures, CrateDB handles new columns automatically at insert time with no human intervention required.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://cratedb.com/blog/zero-downtime-schema-changes-with-cratedb>

## Questions this post answers

### How does CrateDB handle schema changes without downtime?

CrateDB supports DYNAMIC object columns that automatically accept and index new keys on first insert, inferring the data type from the first value seen. No ALTER TABLE statement is needed — the schema updates itself at runtime. An IGNORED object policy also exists for storing arbitrary data without indexing or schema enforcement, useful when data shape is completely unpredictable.

_Teams managing live schema evolution track database patterns like this on daily.dev._

### What is the difference between OBJECT(STRICT), OBJECT(DYNAMIC), and OBJECT(IGNORED) in CrateDB?

STRICT requires all keys to be pre-declared; unknown keys are rejected and all values are indexed. DYNAMIC is the default — new keys are accepted, added to the schema, and indexed on first sight with type inferred from the first value. IGNORED stores all incoming data without schema enforcement or indexing, useful for unpredictable payloads like IoT device stats that vary by firmware version.

_Developers choosing between CrateDB object policies for their data model find relevant comparisons on daily.dev._

## Similar posts on daily.dev

- [How to Add a New Sensor Type to Your Industrial Database Without Pipeline Downtime](https://daily.dev/posts/how-to-add-a-new-sensor-type-to-your-industrial-database-without-pipeline-downtime-ao77ujcc3) · CrateDB · 0 upvotes · 0 comments
- [New release: CrateDB 6.2](https://daily.dev/posts/new-release-cratedb-6-2-bn0wmdank) · CrateDB · 1 upvotes · 0 comments
- [New release: CrateDB 6.3](https://daily.dev/posts/new-release-cratedb-6-3-szft7ac8t) · CrateDB · 0 upvotes · 0 comments
- [Real-Time Data Classification with Generated Column](https://daily.dev/posts/real-time-data-classification-with-generated-column-wh0q0cd09) · CrateDB · 0 upvotes · 0 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#iot](https://daily.dev/tags/iot), [#cratedb](https://daily.dev/tags/cratedb)

[View this post on daily.dev](https://daily.dev/posts/zero-downtime-schema-changes-with-cratedb-9gwpaklud)
