Git-style workflow dla baz danych

Branchuj bazę tak jak branchujesz kod

Twórz odizolowane kopie PostgreSQL w kilka sekund dzięki copy-on-write. Każdy developer, PR i test może mieć własną bazę.

Czym jest database branching?

Database branching tworzy odizolowaną kopię bazy, razem z danymi, bez kopiowania całego storage.

Vela wykorzystuje copy-on-write, więc źródło i branch współdzielą niezmienione bloki danych.

Dzięki temu branching jest dużo szybszy i tańszy niż workflow oparty o dump i restore.

Do czego wykorzystasz branchowanie baz

Zastąp wolne klony i współdzielony staging bezpiecznymi środowiskami podobnymi do produkcji.

Izolacja programistów

Każdy programista dostaje pełną kopię bazy bez konfliktów na współdzielonym środowisku dev.

  • Tworzenie w kilka sekund
  • Dane jak na produkcji
  • Zmiany pozostają odizolowane

Branch na każde PR

Twórz branch dla każdego pull requesta, aby QA testowało kod i dane razem.

  • Automatycznie w CI
  • Usuwanie po merge
  • Bez konfliktów na stagingu

Testy migracji

Uruchamiaj zmiany schematu najpierw na klonie produkcji i wykrywaj problemy wcześniej.

  • Bezpieczne ALTER TABLE
  • Walidacja integralności
  • Rollback przez usunięcie brancha

Weryfikacja incydentów

Branchuj ze znanego snapshotu, odtwórz błąd i potwierdź poprawkę na realnych danych.

  • Odtwarzanie point-in-time
  • Bezpieczniejsze hotfixy
  • Szybsza reakcja

Branching vs tradycyjne workflow

Dlaczego branching na poziomie storage zmienia ekonomię pracy z bazą danych.

Cecha Tradycyjna kopia Vela Branching
Czas utworzenia Minuty do godzin Sekundy
Dodatkowy storage Pełna kopia Prawie zero do czasu zmian
Przydatność w CI Wolne i kruche Szybkie, sterowane API
Realizm danych Często stare lub syntetyczne Aktualne dane jak na produkcji

Najczęściej zadawane pytania

Czym jest database branching?

To natychmiastowe tworzenie odizolowanej kopii bazy bez duplikowania całego storage. Działa jak git branch dla danych PostgreSQL.

Czym to się różni od pg_dump / pg_restore?

pg_dump eksportuje i odtwarza pełne pliki danych. Branching tworzy od razu zapisywalną kopię dzięki copy-on-write, więc jest szybszy i tańszy.

Czy branchy można używać w CI/CD?

Tak. Branchami można sterować przez API, więc pipeline może utworzyć branch na początku zadania i usunąć go po testach.

Czy to działa dla dużych baz?

Tak. Ponieważ branching działa w warstwie storage, duże bazy branchują się niemal tak samo szybko jak małe.

Wypróbuj database branching w Vela

Uruchom bazę Postgres, utwórz branch i zobacz copy-on-write w praktyce w sandboxie.