3 KiB
Документ 07. Database Design
Назначение
Документ описывает архитектуру базы данных Agent Control Center, модель хранения данных, правила проектирования схем, миграции и требования к производительности.
1. Общие требования
- Основная СУБД: PostgreSQL 16+
- UUID в качестве первичных ключей.
- UTC для всех временных меток.
- Миграции через Alembic.
- Soft Delete по умолчанию.
- Поля created_at и updated_at обязательны.
2. Основные таблицы
organizations
Хранение организаций.
Основные поля: - id (UUID) - name - slug - status - created_at - updated_at
workspaces
Связаны с organization.
Поля: - id - organization_id - name - description
users
Поля: - id - email - display_name - status
roles
Поля: - id - name - description
projects
Поля: - id - workspace_id - name - status - version
tasks
Поля: - id - project_id - title - state - priority
runs
Поля: - id - task_id - agent_id - state - started_at - finished_at
agents
Поля: - id - workspace_id - provider - model - configuration_json
connectors
Поля: - id - type - status - capabilities_json
artifacts
Поля: - id - run_id - storage_uri - checksum - size_bytes
memories
Поля: - id - workspace_id - memory_type - embedding_id - metadata_json
knowledge_documents
Поля: - id - workspace_id - title - version - source
approvals
Поля: - id - run_id - requested_by - approved_by - state
audit_events
Поля: - id - actor_id - entity_type - entity_id - action - created_at
3. Индексы
Рекомендуемые индексы:
- organization_id
- workspace_id
- project_id
- task_id
- run_id
- state
- created_at
- updated_at
GIN: - metadata_json - capabilities_json
4. Ограничения
- Внешние ключи обязательны.
- CHECK для состояний.
- UNIQUE для slug и email.
- ON DELETE RESTRICT для критичных сущностей.
5. Миграции
Правила:
- одна миграция --- одно изменение;
- обратимые миграции;
- автоматическая проверка в CI;
- тестирование миграций на пустой и заполненной БД.
6. Производительность
Целевые показатели:
- поиск по PK < 10 мс;
- типовые SELECT < 100 мс;
- поддержка партиционирования для audit_events и artifacts.
7. Архивирование
- Архив завершённых Run.
- Политики хранения Audit.
- Очистка временных артефактов по TTL.
Следующий документ
08_API_Specification.md