Please enable JavaScript.
Coggle requires JavaScript to display documents.
2.1 Системы хранения. Базы данных - Coggle Diagram
2.1 Системы хранения. Базы данных
Системы хранения данных (
СХД
) - программно-аппаратный комплекс для работы с (большими) даннами
Хранение
Обработка
Носители: HDD, SSD
Сложная архитектура с системой управления
Технологии резервного копирования, сжатия, виртуализации
Типы
Серверные
Direct Attached storage (
DAS
)
Диски подключены напрямую
недостаток - физически в пределах 1 помещения
Максимальная скорость
Минимальная стоимость
Чаще всего 1 сервер работает с 1 системой
Сервер имеет непосредственный доступ к блокам хранения данных
Пропускная способность 12 ГБит
Network Attached Storage (
NAS
)
Сервер подключается по локальной сети через общую инфраструктуру сети
Данные передаются пофайлово
Коллективный доступ
Через протоколы сетевого доступа (SMB/NFS)
Физическое расстояние до сервера не принципиально
Возможны дополнительные опции (резервирование, клонирование и т.п.)
Storage Area Network (
SAN
)
Специальная сеть
Можно подключать устройства хранения различных физических типов, объединяемые системой логически в один диск
Подключаются к серверу как сетевой диск
Подключение устройств хранения SCSI / FiberChannel (FC) / Fast GB
Подключение компьютеров через адаптеры HBA (спец. сетевая карта)
Блочный формат хранения данных
Возможность подключения многих клиентов
Возможность разделения общего хранилища на набор логических томов
Физическое расстояние до сервера не принципиально
Распределеннные
Облачные
Работает на стороне провайдера
Платим когда пользуемся в объеме потребления
Встроенные системы защиты информации и резервирования
Не зависят от географии
Hadoop Distributed File System (
HDFS
)
Блочная распределенная система хранения файлов
Блоки распределяются между узлами кластера
Каждый блок может быть размещен на одном или нескольких узлах кластера
Блоки имеют одинаковый размер
Файлы записываются однократно, без возможности модификации
Иерархическая система с возможностью организации корневого каталога, вложенных каталогов
горизонтальное масштабирование
Экстенсивный апгрейд (увеличение количества, а не качества железа)
Ресурсы кластера могут масштабироваться неограниченно
Вычисления переносятся к данным, а не наоборот
Apache
Software Foundation
Имена файлов хранятся на сервере имен, а данные - на серверах данных
Вики
Simple Storage Service (
S3
)
Amazon
Файловая система
Ограничение 5 ГБ/файл
файлы хранятся в блоках ("корзинах", backet)
Оффсайт
Объектная модель
Особые случаи
Хранение БД "ключ-значение" (пары данных)
Key-value storage
Ключ - уникальный идентификатор
Значение - запись произвольного формата, включая составные объекты и вложенные документы
Беспредельное горизонтальное масштабирование
особенности
Concurency: Параллельные запросы работают только по отношению к ключу
Единственный формат запроса - по ключу
ключи могут быть составными, что расширяет возможности
не имеет схемы
Легко масштабируются
Легко справляются с большим числом запросов
экономия памяти при хранении разнородной информации
Примеры
Веб-приложения: Хранение временных данных (сессий)
Таргетинг
БД, размещающиеся в ОЗУ
Быстрый доступ к тяжелому контенту (фото, видео)
Интернет-магазины
Вариант: распределенное Key-Value хранилище
Существует набор серверов, логически закольцованных
Каждый сервер хранит ряд диапазонов ключей, причем происходит перекрытие (каждый ключ в итоге хранится на двух и более серверах)
Если число серверов меняется, часть ключей перераспределяются, но не все
Основные компоненты БД
Диспетчер процессов
Управляет пулом потоков-процессов, возникающих при работе СУБД
Потоки реализованы на уровне ПО СУБД
Диспетчер сети
Контролирует сетевые ресурсы, пропускную способность
Сверхактуально для распределенных решений
Диспетчер файловой системы
Работа с физическими дисками с помощью сервисов ОС или в обход (напрямую)
Критично для любой СУБД, поскольку определяет производительность операций с данными
Диспетчер ОЗУ
Управление ОЗУ
Актуально для систем с большим количеством параллельных запросов
Диспетчер безопасности
Управляет авторизацией, правами доступа, ролями
Диспетчер клиентов
Управляет клиентскими соединениями (вызовом СУБД со стоны клиентов)
Реляционные БД
Любая строка - набор данных о некотором значении + уникальный ключ
Совокупность столбцов - перечень рассматриваемых параметров
Можно легко формировать связи между данными
Реализовано на логическом, а не физическом уровне
Физическим уровнем хранения можно управлять отдельно, не меняя данные в логической структуре
Используют SQL
Нереляционные БД
Не имеют четкую схему
Модель хранения оптимизирована под данные
Например, пары ключ-значение, XML, JSON, графы
Не используют SQL
поддерживают определенные типы данных
Характер запросов определяется (затачивается) характером информации
подходят для разреженных данных
Подходят для объектов, потоковых данных
Пример:
HADOOP
Экосистема BigData
Файловая система HDFS
Движки для манипуляций с неструктурированными данными
Поддержка SQL, NOSQL
Поддержка потоковой обработки
Машинное обучение