architect/_archive/2026-04-11/standards-old/naming/arh/naming-dataspace-2026-03-30.md

type: standard
aspect: naming
title: "Именование в DATASPACE и BACKUPSPACE"
version: 0.1.0
date: 2026-03-30
status: draft
related: naming-workspace.md


Именование в DATASPACE и BACKUPSPACE

ЧЕРНОВИК — не применять до финализации


ОБЛАСТЬ ПРИМЕНЕНИЯ

Стандарт описывает именование в двух хранилищах вне git:

Хранилище Mount S3 bucket Содержимое
DATASPACE /mnt/beget-s3 beget-s3 Данные проектов (xlsx, csv, images, exports)
BACKUPSPACE /mnt/beget-infra beget-infra Резервные копии всей платформы

Не описывает:
- $WORKSPACE (git-репозиторий) → naming-workspace.md
- Имена таблиц и колонок в БД → naming-database.md


ЧАСТЬ 1 — ФАЙЛЫ ДАННЫХ

Типы файлов в DATASPACE

Тип Форматы Особенности именования
Прайс-листы .xlsx, .xls Источник + дата
Выгрузки / экспорты .csv, .xlsx Источник + тема + дата
Фото и медиа .jpg, .png, .webp ID товара или артикул
Документы .pdf, .docx Тема + дата или номер
Архивы .zip, .tar.gz Содержимое + дата
Данные из 1С .xml, .xlsx, .json Тип выгрузки + дата

Формула датированного файла

Для файлов с временны́м контекстом (прайсы, выгрузки, отчёты):

{source}_{YYYY-MM-DD}.{ext}
{source}_{YYYY-MM-DD}_{suffix}.{ext}
Часть Описание Пример
source Источник: поставщик, система, сервис jf, maxsem, ozon, 1c
YYYY-MM-DD Дата файла (ISO 8601) 2026-03-30
suffix Уточнение (опционально) orders, prices, full
ext Расширение xlsx, csv
 jf_2026-03-30.xlsx
 ozon_2026-03-30_orders.csv
 maxsem_2026-03-15_prices.xlsx
 1c_2026-03-30_export.xml
 MASTER_PRICE_LIST (1).xlsx      (пробелы, скобки)
 16.10 Прайс_Maxsem_SPB.xlsx    (кириллица, пробелы, точки в имени)
 new_prices.xlsx                 (нет даты  неясно когда)

Файлы без временного контекста

Статичные данные (конфиги, справочники, медиа):

{entity}-{detail}.{ext}          — справочники
{article}.{ext}                   — медиа товаров
✅ categories-mapping.csv
✅ brands-list.csv
✅ 12345-front.jpg          (артикул-ракурс)
✅ 12345-back.jpg
❌ photo1.jpg               (неинформативно)
❌ Фото товара.jpg          (кириллица, пробелы)

Регистр, разделители и язык

lowercase + дефисы или подчёркивания*   ← файлы данных

*Подчёркивания допустимы в именах файлов данных (источник_дата) — это соглашение из практики работы с табличными данными. В остальных частях платформы подчёркивания запрещены.

Язык — только латиница (оба хранилища):

✅ jf_2026-03-30.xlsx
✅ ozon-orders.csv
❌ Прайс_JF_2026.xlsx          (кириллица запрещена)
❌ база/                        (кириллица в путях запрещена)

ЧАСТЬ 2 — ПАПКИ DATASPACE

Корневая структура

$DATASPACE/
├── projects/                    ← Данные бизнес-проектов
│   └── org/
│       ├── pirotehnika/
│       └── lideravto/
│
└── archive/                     ← Архивные данные (устаревшее)

Стандартная структура проекта

projects/org/{project}/

├── _inbox/           Входящие: необработанные файлы от внешних источников
├── prices/           Прайс-листы поставщиков (если применимо)
   └── {supplier}/   По поставщику
├── images/           Фото и медиа
├── products/         Данные номенклатуры и товаров
   ├── 1c/           Выгрузки из 1С
   └── archive/      Устаревшие версии
├── exports/          Выгрузки для внешних систем (маркетплейсы, аналитика)
└── archive/          Архив обработанных данных

Обязательные папки: _inbox/, archive/
Рекомендуемые (по типу бизнеса): prices/, images/, products/, exports/

Жизненный цикл файла

_inbox/   →   {тематическая папка}/   →   archive/{YYYY-MM}/
(новый)        (в работе)                   (обработан)
Папка Состояние Правило
_inbox/ Новый / необработанный Попадает автоматически (upload, API)
prices/, exports/ и т.д. В работе Перемещается после проверки
archive/{YYYY-MM}/ Обработан / устарел Перемещается при замене новой версией

Папки поставщиков

prices/
├── jf/              ← ПФ «ЖФ»
├── maxsem/          ← Максем
├── piroff/          ← Пиров
└── archive/         ← Устаревшие прайсы

Имена папок поставщиков — транслитерация в lowercase:

✅ jf/, maxsem/, salutrossii/
❌ ЖФ/, Maxsem_SPB/

ЧАСТЬ 3 — БЭКАПЫ (BACKUPSPACE)

Структура BACKUPSPACE

$BACKUPSPACE/
└── {server}/                    ← Имя инстанса (dev-pro, worker, etc.)
    └── backup/
        ├── L0-SECRETS/          ← SSH ключи, credentials
        ├── L1-SYSTEM/           ← Системные файлы
        ├── L2-DOCKER/           ← Docker volumes
        ├── L3-WORKSPACE/        ← Исходный код (git bundle)
        │   └── git-bundle/
        ├── L4-CLAUDE/           ← Claude конфиги и память
        │   ├── claude-md/       ← Версии CLAUDE.md
        │   └── settings/        ← settings.json
        ├── L5-STATE/            ← Состояние (опционально)
        ├── golden/              ← Эталонные ручные копии
        ├── postgres/            ← Дампы PostgreSQL
        └── restic/              ← Restic repository (S3 native)

Формулы именования бэкапов

Принцип: имя бэкапа должно однозначно определять — что, откуда, когда.

{type}-{source}-{YYYYMMDD}-{HHMM}.{ext}
Тип бэкапа Формула Пример
CLAUDE.md CLAUDE-{branch}-{YYYYMMDD}-{HHMM}.md CLAUDE-main-20260330-0603.md
Git bundle (полный) workspace-full-{YYYYMMDD}.bundle workspace-full-20260330.bundle
Git bundle (инкремент) workspace-incr-{YYYYMMDD}.bundle workspace-incr-20260330.bundle
PostgreSQL дамп {dbname}-{YYYYMMDD}-{HHMM}.sql platform-20260330-0400.sql
Workspace tar workspace-{YYYYMMDD}-{HHMM}.tar.gz workspace-20260330-0500.tar.gz
Docker volume {volume}-{YYYYMMDD}.tar.gz postgres-data-20260330.tar.gz

Правила:
- Дата — YYYYMMDD (без дефисов, компактно)
- Время — HHMM (UTC)
- Имена — только латиница и дефисы
- Расширение — строго по типу (.sql, .bundle, .tar.gz)

Эталонные копии (golden)

Особый статус — ручные проверенные снимки:

golden/
├── CLAUDE-golden-{YYYYMMDD}.md        ← известно рабочий CLAUDE.md
└── workspace-golden-{YYYYMMDD}.tar.gz ← известно рабочий workspace

Расписание и ротация

Тип Частота Ротация
CLAUDE.md каждые 6ч сегодня: все; вчера: 1; 7-30д: воскресенья; 30-365д: конец месяца
PostgreSQL каждые 4ч последние 7 дней полностью
Git bundle полный: вс; инкремент: пн-сб полный: 4 последних; инкременты: текущая неделя
Workspace tar ежедневно 05:00 последние 7 дней
Restic каждые 6ч 24h hourly, 7d daily, 4w weekly, 6m monthly

ЧАСТЬ 4 — ИЕРАРХИЯ И ЗЕРКАЛЬНОСТЬ

Зеркальная структура WORKSPACE / DATASPACE

Ключевой принцип: иерархия путей одинакова в обоих хранилищах.

$WORKSPACE/projects/org/pirotehnika/   ← код, конфиги, документация
$DATASPACE/projects/org/pirotehnika/   ← данные, медиа, выгрузки

Если в WORKSPACE есть projects/org/lideravto/ — в DATASPACE тоже projects/org/lideravto/.

Что где хранится

Артефакт $WORKSPACE (git) $DATASPACE (S3)
Код, скрипты
Документация (.md)
CSV < 100KB ✅ допустимо
CSV > 100KB
Excel (.xlsx)
Фото, медиа ❌ (> 50KB)
Конфиги (.yaml)
Дампы БД ✅ (BACKUPSPACE)

ОТКРЫТЫЕ ВОПРОСЫ


СВЯЗАННЫЕ ДОКУМЕНТЫ

Документ Связь
naming-workspace.md Именование в $WORKSPACE
lifecycle-data.md Жизненный цикл: inbox→work→archive
policy-code-data-separation.md Что куда класть
format-file-types.md 11 классов типов файлов
format-data.md Когда какой формат
structure-workspace.md Структура WORKSPACE/DATASPACE

Версия: 0.1.0 (черновик)
Дата: 2026-03-30