Back to glossary

Database Migration

The process of transforming a database schema or moving data between databases in a controlled, versioned manner. Migration tools track which changes have been applied, enabling reproducible database evolution across development, staging, and production environments.

Database migrations version-control schema changes alongside application code. Each migration is a script that applies a forward change and optionally defines a rollback. Migration tools like Flyway, Alembic, Prisma Migrate, and Knex track which migrations have been applied to each environment, ensuring consistency. Migrations should be backward-compatible to support zero-downtime deployments where old and new application versions coexist briefly.

For AI product teams, database migrations must accommodate the evolving data needs of AI features: adding columns for new feature values, creating tables for experiment tracking, altering indexes for new query patterns, and expanding schemas for model metadata. Growth teams generate migration needs when adding experiment tracking tables, usage analytics columns, or cohort definition schemas. The key discipline is making migrations reversible and backward-compatible: adding a new column with a default value is safe, but renaming or removing a column that existing code references causes outages. Large data migrations should run as background jobs rather than blocking the migration process, especially for tables that feed AI feature pipelines.

Related Terms

Content Delivery Network

A geographically distributed network of proxy servers that caches and delivers content from locations closest to end users. CDNs reduce latency, improve load times, and absorb traffic spikes by serving content from edge nodes rather than a single origin server.

Edge Computing

A distributed computing paradigm that processes data closer to the source of generation rather than in a centralized data center. Edge computing reduces latency, conserves bandwidth, and enables real-time processing for latency-sensitive applications.

Serverless Computing

A cloud execution model where the provider dynamically manages server allocation and scaling. Developers deploy functions or containers without provisioning infrastructure, paying only for actual compute time consumed rather than reserved capacity.

Function as a Service

A serverless computing category where developers deploy individual functions that execute in response to events. FaaS platforms like AWS Lambda, Google Cloud Functions, and Azure Functions handle all infrastructure management, scaling each function independently.

Platform as a Service

A cloud computing model that provides a complete development and deployment environment without managing underlying infrastructure. PaaS offerings like Heroku, Vercel, and Google App Engine handle servers, storage, networking, and runtime configuration.

Infrastructure as a Service

A cloud computing model that provides virtualized computing resources over the internet. IaaS offerings like AWS EC2, Google Compute Engine, and Azure Virtual Machines give teams full control over servers, storage, and networking without owning physical hardware.