This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. As with all projects, the items mentioned on this page are subject to change or delay. The development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Status Authors Coach DRIs Owning Stage Created
proposed -
<!-- vale gitlab.FutureTense = NO -->

이 문서는 진행 중인 작업이며, Cells 디자인의 매우 초기 상태를 나타냅니다. 중요한 측면들은 문서화되지 않았지만, 향후 추가할 예정입니다. 이것은 Cells를 위한 하나의 가능한 아키텍처이며, 어떤 접근 방식을 구현할지 결정하기 전에 이를 대안과 대조할 계획입니다. 이 문서는 이 접근 방식을 선택하지 않기로 결정해도 그 이유를 문서화할 수 있도록 유지될 것입니다.

# Cells: Backups

각 Cell은 자체 백업을 수행하고, 따라서 고립된 백업/복원 절차를 갖게 됩니다.

## 1. 정의

GitLab 백업은 애플리케이션에서 사용하는 PostgreSQL 데이터베이스와 Git 저장소 데이터의 백업을 수행합니다.

## 2. 데이터 흐름

각 Cell에는 백업해야 할 여러 애플리케이션 데이터베이스가 있습니다 (예: `main` 및 `ci`). 게다가 클러스터 전체 메타데이터 테이블 (예: `users` 테이블)이 직접적으로 PostgreSQL을 통해 접근 가능할 수 있습니다.

## 3. 제안

### 3.1. 클러스터 전체 메타데이터

현재 클러스터 전체 메타데이터 테이블이 어떻게 접근 가능할지 알 수 없습니다. 클러스터 전체 메타데이터 테이블을 별도로 백업할지, 각 Cell이 클러스터 전체 메타데이터 테이블의 사본을 백업할지 결정할 수 있습니다.

### 3.2 일관성

#### 3.2.1 독립적으로 백업 수행

각 Cell은 API를 통해 서로 통신할 것이므로 `users` 테이블에 조인이 없을 것으로 예상되며, 서로 독립적으로 백업할 수 있는 것으로 보입니다.

#### 3.2.2 스냅샷 강제하기

모든 Cell이 거의 동시에 PostgreSQL 데이터베이스의 스냅샷을 찍도록 요구할 수 있어 일관된 충분한 백업을 가능하게 할 수 있습니다.

## 4. 평가

Cell의 수가 증가함에 따라 모든 Cell에 대해 동시에 스냅샷을 찍는 것이 현실적으로 불가능할 것입니다. 따라서 각각 독립적으로 백업 수행하는 것이 더 나은 옵션입니다.

## 4.1. 장점

## 4.2. 단점