Databases 6 min read

Scaling DaVinci Resolve’s Database to Millions of Projects: Evolution and Lessons

The article details how DaVinci Resolve’s project library, built on PostgreSQL, evolved from a monolithic server to a Docker‑based setup and finally to a Pigsty‑powered high‑availability cluster, covering challenges, point‑in‑time recovery, permission management, a real‑world outage, and the resulting reliability gains.

Film Hurricane Tech Team
Film Hurricane Tech Team
Film Hurricane Tech Team
Scaling DaVinci Resolve’s Database to Millions of Projects: Evolution and Lessons

Overview

DaVinci Resolve uses a PostgreSQL‑backed Project Library to allow multiple users to collaborate on video editing, color grading, and audio processing in real time.

Evolution Path

2019 – DaVinci Resolve Project Server : Monolithic architecture caused single‑point failures, no automated backups, difficult permission control, and maintenance challenges.

April 2023 – Docker containerization : Docker introduced new drawbacks; after six months the team evaluated alternatives and moved to a high‑availability cluster.

January 2024 – High‑availability cluster : After comparative selection, the open‑source Pigsty solution was adopted. The cluster runs one primary and two replicas; on primary failure a replica is promoted and the failed node isolated. Dual‑server virtual machines provide hardware redundancy, enabling automatic failover within milliseconds, perceived by users as a brief interruption.

Technical Challenges

DaVinci Resolve is a closed‑source application; internal logic cannot be modified, so optimization must occur at the database layer. The software omits advanced PostgreSQL features such as connection pooling and read‑only permissions, complicating management.

Point‑In‑Time Recovery (PITR)

Implemented ability to restore the database to any point within the past week. Editors provide the desired timestamp; DBA rolls back the data to a dedicated recovery database within minutes.

Permission Governance

LDAP integration with the company’s SSO aligns DaVinci Resolve accounts with corporate identities. Credentials match, reducing separate password maintenance. Regular roles follow the least‑privilege principle, allowing only connect, insert, update, delete. All actions are audited for traceability.

Incident Experience

On 2024-05-08 at 11:35 AM, multiple post‑production staff reported loss of database connectivity.

11:36 – All nodes offline; LDAP and other dependencies healthy.

11:43 – Logs showed numerous etcd “capacity full” and service‑stop alerts.

11:46 – Manual fragment cleanup performed to free space.

11:50 – etcd and HAProxy services restarted.

11:52 – Nodes came back online and service recovered.

Root cause: etcd storage quota exhausted because automatic compaction was disabled and the default capacity was only 2 GB. The control plane failed, but the data plane remained unaffected.

etcd is a distributed, reliable key‑value store used by Pigsty as the DCS (distributed configuration store) for PostgreSQL high‑availability state.

Launch Benefits

Zero data loss.

99.99 % service availability.

Approximately ten successful point‑in‑time rollbacks of accidental operations.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

High AvailabilityPostgreSQLDatabase MigrationetcdPITRPigstyDaVinci Resolve
Film Hurricane Tech Team
Written by

Film Hurricane Tech Team

Official technical practice sharing from Film Hurricane

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.