data-infra
Словарь ↗Объектное хранилище (Object Storage)
Объектное хранилище — это архитектура хранения данных, которая управляет данными как дискретными, самодостаточными «объектами» — каждый со своими сырыми байтами файла, уникальным идентификатором/ключом и гибким набором метаданных, — доступными через HTTP API, а не через традиционную иерархию каталогов/путей файловой системы. Это стандартный способ хранения неструктурированных данных в современных приложениях: изображения, видео, PDF, файлы контрольных точек моделей, архивы логов и (всё чаще) сырые экспорты эмбеддингов или наборов данных, используемых в AI-конвейерах. Почему это важно для разработчиков AI/SaaS: объектное хранилище — это тихий хребет почти под каждой AI-функцией продукта, связанной с загружаемыми пользователем файлами: фотографии профиля, документы, подаваемые в конвейеры RAG, сгенерированные изображения и аудио, экспортированные отчёты. Оно построено под совершенно иной паттерн доступа, чем база данных: огромный масштаб (практически неограниченная ёмкость), очень высокая надёжность (например, S3 спроектирован для надёжности 99.999999999% — «одиннадцать девяток» — за счёт хранения нескольких копий в разных дата-центрах) и низкая стоимость за гигабайт — в обмен на более высокую задержку на отдельный запрос и отсутствие поддержки частичного обновления файла, как это возможно для строки базы данных, — вы заменяете весь объект целиком. Как это работает: объекты живут в плоских пространствах имён, называемых «бакетами» (buckets), каждый объект адресуется уникальным ключом (часто имитирующим путь к папке вроде `users/442/uploads/contract.pdf`, хотя реальной структуры каталогов под этим нет). Доступ обычно происходит через подписанные URL — сервер приложения генерирует URL с ограниченным сроком действия и криптографической подписью, предоставляющий временный доступ на чтение или запись к конкретному объекту, чтобы браузер мог загружать файл напрямую в объектное хранилище, минуя серверы приложения (экономя пропускную способность и избегая ограничений на размер запроса). Уровни объектного хранилища (S3 Standard, Infrequent Access, Glacier) меняют скорость извлечения на стоимость хранения, что полезно для дешёвого архивирования старых данных. Практический пример: SaaS для анализа документов позволяет пользователям загружать PDF для AI-резюмирования. Фронтенд запрашивает у бэкенда предварительно подписанный URL загрузки (`POST /api/uploads/presign` возвращает подписанный URL S3 PUT, действительный 5 минут), браузер загружает PDF напрямую по этому URL, и только после завершения загрузки фронтенд уведомляет бэкенд о ключе объекта — что запускает фоновое задание конвейера, забирающее файл из объектного хранилища, извлекающее текст, разбивающее его на чанки и встраивающее в векторное хранилище. Сам сервер приложения никогда не касается байтов PDF, полностью убирая пропускную способность загрузки и нагрузку с уровня приложения. Правило жизненного цикла автоматически удаляет исходный PDF через 90 дней, если аккаунт пользователя на бесплатном тарифе, тогда как извлечённый текст и эмбеддинги сохраняются бессрочно — отделяя дорогой в хранении сырой объект от дешёвых в хранении производных данных, которые он произвёл.
Похожие термины