---
title: "Incremental Updates: Save 70% on AI Compute Costs"
description: "Stop reprocessing entire datasets when one row changes. Pixeltable tracks dependencies and recomputes only what's necessary, saving compute, time, and money."
keywords:
  - incremental ai data processing
  - incremental computation
  - reduce ai compute costs
  - efficient ai pipelines
  - incremental embedding updates
complexity: "beginner"
estimated_time: "10 min"
url: "https://pixeltable.com/use-cases/incremental-updates-ai-data-processing"
---

# Incremental Updates: Save 70% on AI Compute Costs

Stop reprocessing entire datasets when one row changes. Pixeltable tracks dependencies and recomputes only what's necessary, saving compute, time, and money.

## Prerequisites

- Basic understanding of AI pipelines
- Python programming

## The Problem

Traditional AI pipelines reprocess entire datasets when anything changes. Adding one document to 100,000 existing ones triggers a full re-embedding, re-indexing, and re-inference run, wasting hours of compute time and significant API costs.

## The Solution

Pixeltable provides intelligent incremental updates. The system tracks which rows changed, identifies affected computed columns, and recomputes only the minimum necessary. Embedding indexes are updated incrementally too.

## Implementation

### Automatic Incrementality

See how Pixeltable processes only what's changed.

```python
import pixeltable as pxt
from pixeltable.functions import openai

# Create table with expensive AI processing
docs = pxt.create_table('app.docs', {
    'document': pxt.Document,
    'title': pxt.String,
})

# Expensive embedding generation
docs.add_computed_column(
    embedding=openai.embeddings(
        docs.title,  # Simplified for demo
        model='text-embedding-3-large'
    )
)

docs.add_embedding_index('title', embedding=docs.embedding)

# Initial load: processes all 100K documents
docs.insert([...hundred_k_documents])

# Add 1 new document: processes ONLY the new one
docs.insert([{'document': 'new.pdf', 'title': 'Latest Report'}])
# ✅ 1 embedding generated, not 100,001

# Update a title: recomputes ONLY that row's embedding
docs.update(
    {'title': 'Updated Report'},
    where=docs.title == 'Latest Report'
)
# ✅ 1 row recomputed, index updated incrementally
```

Incrementality is automatic: no configuration needed. The engine tracks dependencies at the row level.


## Benefits

- 70% reduction in compute costs on iterative workflows
- 95% time savings on incremental updates
- Automatic dependency tracking across all computed columns
- Embedding indexes updated incrementally
- No manual change-detection or batch-management code

## Use Cases

- Large-scale document processing with frequent updates
- Continuously updating ML training data
- Real-time RAG systems with growing knowledge bases
- Production pipelines with daily data ingestion

## Performance


| Metric | Value | Description |

| --- | --- | --- |

| Cost Reduction | 70% | Average compute cost savings |

| Update Speed | 95% faster | vs full reprocessing |

## Requirements

- Python 3.9+
- Understanding of data pipelines

## Resources

- [Incremental Embedding Indexes](https://pixeltable.com/blog/pixeltable-incremental-embedding-indexes) - Always-fresh indexes without rebuilds
- [Declarative, Multimodal, Incremental](https://pixeltable.com/blog/declarative-multimodal-incremental) - Deep dive into incremental computation