Listen to this article
Introduction
Data engineers often face increasing complexity in managing metadata as data volumes grow. To remain productive, a great database system should provide:
- Fast schema modifications, regardless of table size
- Metadata operations that seamlessly integrate without interrupting critical workflows
- Schema evolution capabilities that don’t block ongoing queries
And the list goes on. What if you could modify your database schema with speed and precision? What if metadata operations could be seamless, instantaneous, and less disruptive? We’ve focused on tackling these common bottlenecks, empowering you to do more with less.
This blog post introduces the three most requested features:
- Zero-copy cloning for instant table duplication without the physical redundancy
- And for changing tables on the fly for seamless schema evolution, we’ve added ADD COLUMN and RENAME TABLE
Let’s dive in.
Zero-Copy Clone: Instant Table Duplication Without Duplication Costs
What It Is
A zero-copy clone, implemented via the CREATE TABLE CLONE command, allows you to create an exact, metadata-level copy of a table in seconds without physically duplicating the underlying data. The clone shares the original table's data storage at the time of creation, making the operation lightweight and efficient while remaining fully functional for querying, testing, or other purposes.
Once a table is cloned, both the original and the clone evolve independently. Any modifications (e.g., updates, inserts, or deletions) made to one table—whether on shared or newly added data—have no effect on the other. This independence ensures that each table maintains its own distinct state, even for the data that was initially common between them.
Why It Matters
- Faster workflows: With zero-copy clone, you can instantly create environments for testing, backups, sandboxing, parallel processing, or even manage versioned tables — all without taking up extra storage and impacting performance
- Cross-Database Feature: This is Firebolt's first cross-database operation. By enabling zero-copy clones across different databases, we're expanding the flexibility of data management and providing data engineers with more powerful tooling for complex data workflows.
- Storage efficiency: Avoid redundant data duplication. Zero-copy clone not only shares the same underlying data as the original table, but it also preserves your critical performance structures. Primary indices are automatically maintained, and you can even clone aggregating indices, ensuring that new tables are just as performant as the originals — getting significant storage savings without compromising on query speed, or computational efficiency is a win-win-win.
Example Use Case
Imagine debugging a production issue. Instead of risking live data, you can instantly clone the production table into a sandbox environment for safe troubleshooting.
How It Looks in Action
You can clone a table from one database to another using a three-part identifier for either the source or target table. The following code example creates an exact copy of the existing gaming_stats table from the staging database to the prod database :
CREATE DATABASE ultra_fast_staging;
CREATE TABLE ultra_fast_staging.public.playstats_new CLONE ultra_fast_gaming.public.playstats
For more examples of how to use the CREATE TABLE CLONE operator, visit the documentation page here.
Changing TABLES On The Fly
What It Is
ADD COLUMN and RENAME TABLE statements let you evolve your table schemas dynamically without downtime or disruption to ongoing queries.
Why It Matters
- Agility: Add new columns to your tables without pausing workloads.
- Scalability & Performance: Schema evolution in Firebolt is pure metadata operations. This means that no matter how big your table, adding columns and renaming tables is always subsecond.
- Organized workflows: Keep table names aligned with evolving business requirements.
Example Use Case
Let’s say you’re tracking a new metric for a marketing campaign, like "customer engagement score." With ADD COLUMN, you can update your table schema in real time and immediately start querying the data.
Or let’s say you’re consolidating multiple marketing datasets into a single pipeline and need consistent table names across environments. Instead of creating new tables, simply rename existing ones to fit your updated conventions with RENAME TO.
How It Looks in Action — ADD COLUMN
For example, let's say we have a playstats table, in reference to the previous example, and we want to add an avgscore column with a default value of 0:
ALTER TABLE playstats_new
ADD COLUMN avgscore BIGINT
NOT NULL
DEFAULT 0;
How It Looks in Action — RENAME TABLE
Renaming a table in Firebolt is a seamless process using the ALTER TABLE RENAME TO command. Ongoing queries continue to run smoothly during the renaming process.
ALTER TABLE playstats_new RENAME TO playstats_history;
For best practices:
- Coordinate table renames during low-traffic periods
- Communicate table name changes to all team members
- Ensure tables do not have any dependent views
What This Means for You
This release is all about making metadata management faster, simpler, and more efficient:
- Clone production data in seconds for version-controlling tables and for safe experimentation.
- Adapt schemas dynamically without downtime.
- Keep your table structures clean and intuitive with quick renames.
These updates reduce friction in your workflows, letting you focus on building, scaling, and delivering value—without the headache of timeouts or manual workarounds.
Ready to Explore?
Log into Firebolt today or check out our documentation for detailed guides and examples. Try Firebolt today for free and experience these features for yourself!
We can’t wait to see what you build next!