Перейти к основному содержимому

Современные системы хранения данных

Всем

Зачем нужна классификация

В любой IT-системе данные лежат на разных уровнях — от кэша внутри процессора до распределённого объектного хранилища в облаке. У каждого уровня свой баланс скорости, объёма, стоимости и **долговечности.

CPU cache и RAM дают минимальную задержку и нужны для быстрых вычислений «здесь и сейчас». Локальные диски и сетевые массивы — для постоянного хранения на стороне организации. Облачные сервисы и managed-базы данных — для масштабирования, отказоустойчивости и эксплуатации без собственного ЦОД.

Ниже — пять основных групп, которые встречаются в современных архитектурах.


Первичное хранилище (Primary Storage)

Самый быстрый слой — память, к которой процессор обращается напрямую.

КомпонентСутьТипичное применение
CPU Cache (L1, L2, L3)Микроскопические буферы на кристалле процессораИнструкции и горячие данные текущего потока
DRAM (Dynamic RAM)Основная оперативная память ПК и серверовКод, стек, heap, буферы ОС
SRAM (Static RAM)Быстрее DRAM, дороже; часть кэша и регистровКэш процессора, буферы контроллеров
PMem / NVDIMM (Persistent Memory)Байт-адресуемая память с сохранением после отключения питанияУскорение БД, большие in-memory кэши с persistence

Связь с железом ПК
Подробнее про роли CPU и RAM в настольном компьютере — в статье Аппаратное обеспечение. Классификация RAM, ROM, SRAM, DRAM и бытовых накопителей — в главе для новичка. Когда RAM не хватает, ОС использует swap — часть данных выгружается на диск (глоссарий).

Ключевой признак: данные здесь volatile (кроме PMem) — при обесточивании содержимое DRAM теряется.


Локальное хранилище (Local Storage)

Физические носители, подключённые к одному компьютеру или серверу.

ТипТехнологияКогда уместен
HDDМагнитные пластины, механикаАрхив, медиатека, холодные копии — большой объём за меньшие деньги
SSDФлэш-память (NAND)ОС, приложения, рабочие проекты — высокие IOPS и низкая latency
USB-накопительФлэш в переносном корпусеПеренос файлов, загрузочные флешки
SD-картаКомпактная флэш-памятьКамеры, одноплатники, мобильные устройства
Оптический дискCD / DVD / Blu-rayДолговременный архив, дистрибутивы (реже в 2020-х)
Магнитная лентаЛенточные накопители (LTO)Корпоративный backup и архив — дёшево за ТБ, медленный random access

Сравнение HDD и SSD в контексте сборки ПК — в разделе Постоянные носители статьи про аппаратное обеспечение.


Сетевое хранилище (Networked Storage)

Данные доступны по сети — нескольким серверам или рабочим станциям одновременно.

ТипУровень доступаПротоколы / примерыТипичные задачи
SAN (Storage Area Network)Блочный — сервер видит «локальный диск»Fibre Channel, iSCSI, NVMe-oFКластеры виртуализации, СУБД с высокими IOPS
NAS (Network Attached Storage)Файловый — каталоги и праваSMB/CIFS, NFSОбщие папки, backup, медиафайлы
Object StorageОбъектный — ключ + метаданные + телоS3 API, MinIO, Ceph RGWАрхивы, логи, статика, backup
Distributed File SystemФайловый, распределённый по узламHDFS, GlusterFS, CephFSBig Data, общие тома в кластере

Блочное и файловое
SAN отдаёт «сырой» том — поверх него ОС создаёт разделы и файловую систему. NAS сразу предоставляет готовые каталоги по сетевому протоколу. Выбор зависит от того, нужен ли серверу «свой диск» или «общая шара».

Подробнее про SAN, NAS и объектное хранилище в корпоративной инфраструктуре — в главе ИТ-инфраструктура.


Облачное хранилище (Cloud Storage)

Управляемые сервисы провайдеров (AWS, Azure, Google Cloud, Yandex Cloud и др.). Пользователь платит за объём, операции и исходящий трафик; масштабирование и репликация — на стороне облака.

Блочное хранилище (Block Storage)

Отдельные тома, которые монтируются к виртуальной машине как диски.

ПровайдерСервис
AWSEBS (Elastic Block Store)
AzureManaged Disks
Google CloudPersistent Disk (PD)

Подходит для системных дисков ВМ, СУБД, приложений с произвольным чтением/записью блоков.

Объектное хранилище (Object Storage)

Неограниченно масштабируемое хранилище неструктурированных данных по HTTP API.

ПровайдерСервис
AWSS3
AzureBlob Storage
Google CloudCloud Storage

Типичные сценарии — бэкапы, статика сайтов, data lake, версионирование файлов.

Файловое хранилище (File Storage)

Управляемые сетевые файловые шары.

ПровайдерСервис
AWSEFS (Elastic File System)
AzureAzure Files
Google CloudFilestore

Удобно, когда нескольким ВМ нужен общий каталог по NFS или SMB без собственного NAS.


Облачные базы данных (Cloud Databases)

Managed-сервисы: провайдер берёт на себя патчи, репликацию, backup и масштабирование. Приложение подключается по сети через драйвер или API.

Реляционные (SQL)

ПровайдерПримеры сервисов
AWSRDS (PostgreSQL, MySQL, MariaDB, SQL Server, Oracle)
AzureAzure SQL, Azure Database for PostgreSQL/MySQL
Google CloudCloud SQL

ACID-транзакции, строгая схема, JOIN — классика для учёта, заказов, профилей пользователей.

NoSQL

ПровайдерПримеры сервисов
AWSDynamoDB (ключ-значение / документы)
Google CloudBigtable (ширококолоночная)
AzureCosmos DB (мультимодельная)

Горизонтальное масштабирование, гибкая схема, высокая пропускная способность — логи, сессии, каталоги с миллионами SKU, IoT-потоки.

Storage и база данных — разные слои
Объектное хранилище (S3) держит файлы и blob'ы. Managed SQL/NoSQL — структурированные записи с индексами и запросами. В веб-приложении часто сочетают оба слоя: PostgreSQL для транзакций, S3 для вложений (архитектура веб-приложения).

Эволюция моделей данных (файлы → иерархия → SQL → NoSQL) — отдельная тема в Эволюция систем хранения данных.


Как выбирать уровень

КритерийБлиже к CPU/RAMБлиже к облаку
LatencyНаносекунды – микросекундыМиллисекунды – десятки мс (сеть)
Объём на единицу стоимостиМеньше, дороже за ГББольше, дешевле за ТБ
ДолговечностьVolatile (RAM) или локальный дискРепликация, geo-redundancy, SLA
МасштабированиеОграничено железом одной машиныГоризонтально, по запросу
ЭксплуатацияАдмин сервера / пользователь ПКManaged-сервис провайдера

Практическое правило: горячие данные — ближе к процессору (кэш, RAM, локальный NVMe); холодные архивы и shared-контент — object storage или лента; транзакционные записи — СУБД (своё железо или managed).


Краткая шпаргалка

ГруппаПримерыГлавный вопрос
ПервичноеL1–L3, DRAM, PMem«Что процессор читает прямо сейчас?»
ЛокальноеSSD, HDD, USB, SD«Где лежат файлы на этом компьютере?»
СетевоеSAN, NAS, Ceph, MinIO«Как серверы делят диски и каталоги?»
ОблачноеEBS, S3, EFS«Какой managed-том или bucket нужен ВМ?»
Облачные БДRDS, DynamoDB, Cosmos DB«Где хранятся строки с запросами и индексами?»

Куда читать дальше

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").