# Как Gravity Field обеспечивает сохранность данных

Создаём резервные копии ваших данных и храним экземпляры на физических площадках в разных местах. Если одна площадка пострадает, копии на другой сохранятся. Дополнительно вы можете выгружать сырые данные и хранить собственный архив.

Передавая данные в Gravity Field, вы рассчитываете на сохранность информации даже при серьёзном сбое. Поэтому заранее предусматриваем источник для восстановления за пределами площадки, на которой произойдёт инцидент.

## Резервные копии для восстановления

Резервная копия сохраняет состояние данных для последующего восстановления. Копия нужна на случай повреждения рабочей инфраструктуры или потери доступа к площадке.

При сбое используем резервные копии для восстановления данных. Даже если рабочая инфраструктура недоступна, остаётся сохранённое состояние для восстановления.

Чтобы защитить копии при инциденте на площадке, разделяем места хранения.

## Зоны находятся на физических площадках в разных местах

Каждая зона хранения — отдельная физическая площадка. Зоны расположены в разных местах, поэтому локальный инцидент на одной площадке не затрагивает оборудование на другой.

Реплицируем резервные копии между зонами — создаём дополнительные экземпляры на другой площадке. Если в одной зоне произойдёт пожар и оборудование выйдет из строя, вторая зона продолжит работу. Резервные копии на второй площадке сохранятся и будут доступны для восстановления.

**Резервные копии на другой физической площадке сохранятся, даже если оборудование на первой уничтожено.**

Так резервные копии распределяются между площадками, а выгрузки попадают в ваше хранилище:

```mermaid
flowchart TB
    subgraph GF["Инфраструктура Gravity Field"]
        direction TB

        W[("Рабочие данные")]
        BACKUP["Создание резервных копий"]
        EXPORT["Выгрузка сырых данных"]

        W --> BACKUP
        W --> EXPORT

        subgraph STORAGE["Физические площадки в разных местах"]
            direction LR

            subgraph Z1["Зона 1 — площадка А"]
                B1[("Резервные копии")]
            end

            subgraph Z2["Зона 2 — площадка Б"]
                B2[("Дополнительные экземпляры копий")]
            end

            B1 -->|"Репликация между площадками"| B2
        end

        BACKUP --> B1
    end

    subgraph CLIENT["Ваша инфраструктура"]
        direction LR
        ARCHIVE[("Архив выгрузок")]
        POLICY["Хранение и резервирование<br/>по вашим правилам"]
        ARCHIVE --> POLICY
    end

    EXPORT -->|"Вы сохраняете файлы у себя"| ARCHIVE

    style Z1 fill:#eef4ff,stroke:#6489cc,color:#183153
    style Z2 fill:#edf8f0,stroke:#65a879,color:#20452b
    style CLIENT fill:#fff7e8,stroke:#c89b48,color:#594217
```

*Названия площадок и направление передачи копий условные. На схеме показан принцип физического разделения зон.*

## Что произойдёт, если одна площадка пострадает

Представим пожар на площадке А: оборудование в зоне 1 вышло из строя, доступ к копиям на этой площадке потерян. Зона 2 расположена на площадке Б, в другом физическом месте, и продолжает работать. Для восстановления используем копии из зоны 2.

Физическое разделение позволяет восстановить данные даже после уничтожения оборудования на пострадавшей площадке. Выгрузки, которые вы заранее сохранили у себя, остаются в собственном архиве.

```mermaid
flowchart TB
    INCIDENT["Пожар на площадке А"]

    subgraph Z1["Зона 1 — площадка А пострадала"]
        FAILED[("Оборудование вышло из строя<br/>Копии недоступны")]
    end

    subgraph Z2["Зона 2 — площадка Б продолжает работать"]
        SAFE[("Резервные копии сохранены<br/>на другой физической площадке")]
    end

    INCIDENT --> FAILED
    SAFE --> SOURCE["Использование доступной копии"]
    SOURCE --> RESTORE["Восстановление данных"]
    RESTORE --> CHECK["Проверка восстановленной системы"]
    CHECK --> SERVICE["Возобновление работы"]

    subgraph CLIENT["Ваша инфраструктура"]
        ARCHIVE[("Ранее сохранённые<br/>выгрузки сырых данных")]
        ACCESS["Ваш доступ<br/>к собственному архиву"]
        ARCHIVE --> ACCESS
    end

    style Z1 fill:#fff0f0,stroke:#d97575,stroke-dasharray:5 5,color:#702b2b
    style FAILED fill:#ffe0e0,stroke:#d97575,color:#702b2b
    style Z2 fill:#edf8f0,stroke:#65a879,color:#20452b
    style CLIENT fill:#fff7e8,stroke:#c89b48,color:#594217
    style SERVICE fill:#eef4ff,stroke:#6489cc,color:#183153
```

*В этом сценарии пожар затронул одну физическую площадку. Вторая зона продолжает работать. Сохранённые у вас выгрузки доступны в собственном архиве.*

**Резервные копии во второй зоне остаются доступны для восстановления данных.** Возвращение платформы к работе требует времени: мы восстанавливаем данные и проверяем систему. Продолжительность зависит от характера и масштаба инцидента.

## Вы можете сохранять данные у себя

В Gravity Field доступны разовые выгрузки сырых данных и ежедневные выгрузки по расписанию. Вы можете переносить файлы в собственную инфраструктуру и вести независимый архив.

Хранилище, срок хранения и порядок резервного копирования выбираете сами. Выгрузки входят во внутренний архив по вашим правилам.

Если Gravity Field временно недоступен, вы продолжаете работать с файлами, которые уже сохранили у себя. Для доступа к собственному архиву не требуется подключение к платформе. Чем чаще переносите выгрузки, тем свежее информация в архиве.

Собственный архив дополняет резервирование на нашей стороне. Мы используем резервные копии для восстановления платформы, а вы самостоятельно храните и используете выгруженные файлы.

Файлы выгрузок в Gravity Field хранятся ограниченное время. Для долгосрочного архива файлы нужно сохранять у себя. Порядок получения выгрузок и сроки доступности описаны в [инструкции по экспорту сырых данных](/data_import/export_raw_data.md).

Команда сопровождения проекта или поддержка Gravity Field предоставит доступ к выгрузкам и поможет организовать получение файлов.
