Хранение данных
Зачем вообще хранить данные
Приложения генерируют и потребляют информацию: профили пользователей, заказы, логи, изображения, телеметрию. Если эти данные не сохранять, они теряются после завершения процесса. Поэтому используют устойчивые хранилища, которые обеспечивают долговечность (Durability), доступность и управляемый доступ.
Базовые варианты хранения
Файлы: простые файловые системы (локальные или сетевые). Подходят для медиа, документов, статических артефактов. Сложно делать быстрый поиск и транзакции.
Объектное хранилище: S3-совместимые сервисы (MinIO, Amazon S3). Хранят "объекты" с метаданными и уникальным ключом. Отлично масштабируются для больших двоичных файлов, резервных копий и архивов.
Базы данных: системы управления базами данных (СУБД), оптимизированные под запросы, индексы, транзакции и репликацию. Делятся на реляционные и NoSQL семейства.
Кэши в памяти: Redis, Memcached. Очень быстрые операции в RAM, но без долговечности по умолчанию. Используются как дополнение к основному хранилищу.