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

Введение

Возможность совместного использования данных — фундаментальное требование распределенных систем. Поэтому в основе множества распределенных приложений лежат распределенные системы хранения данных (СХД).

Согласно Википедии (https://en.wikipedia.org/wiki/Distributed_data_ store), распределенная система хранения данных (СХД) — это компьютерная сеть, где информация хранится более чем на одном узле, зачастую реплицированным образом. Это может быть распределенная, как правило нереляционная, база данных, где пользователи хранят информацию на нескольких узлах, или пиринговая (P2P) компьютерная сеть, где пользователи хранят информацию на некотором числе одноранговых сетевых узлов.

Для современных высокомасштабируемых систем хранения и управления данными характерны регулируемая избыточность, интегрированная система безопасности и гарантированный уровень доступа и отказоустойчивости.

Большое значение придается параллелизации доступа к данным, децентрализации вычислений и хранения данных для максимального приближения к архитектуре P2P с целью повышения масштабируемости и обеспечения нужного уровня доступа. Разработанные в последнее время фундаментальные общие концепции и способы обработки и хранения данных позволяют организовать их эффективную работу в условиях как локальных, так и глобальных систем.

Распределенные СХД позволяют нескольким процессам в течение продолжительного времени совместно работать с общими данными, обеспечивая их надежность и защищенность. По этой причине они нередко используются в качестве базового уровня распределенных систем и приложений. В этой главе мы рассмотрим распределенные СХД с точки зрения парадигмы распределенных систем общего назначения.

Краткий обзор современных подходов к построению систем распределенного хранения данных

Программно-определяемые хранилища

Существующие СХД до предела переполнены данными, поступающими из таких источников как социальные сети, Интернет вещей, мобильные приложения и др. По мере роста объема данных усложняются механизмы хранения и возрастают расходы, связанные с хранением данных и управлением ими.

Современные тенденции в сфере развития СХД связаны с так называемыми программно-определяемыми хранилищами (software defined storage, SDS), основанными на объединении простых и доступных систем, зачастую на базе архитектур х86/х64, в кластерные структуры с помощью специализированного ПО, позволяющего эффективно использовать вычислительные мощности всех узлов и одновременно обеспечивающих независимость каждого узла. Фактически это абстрагирование логики услуг хранения и совместимости от нижележащих физических систем хранения. Уровень достижения ключевых характеристик хранилища решается не подбором производителей и разновидностей специфического оборудования, а с помощью программного обеспечения, работающего на стандартных устройствах (серверах, коммутаторах, контроллерах и т. д.). Главная их особенность — отсутствие специализированных аппаратных средств, обеспечивающих реализацию отдельных функций. Таким образом, концепция SDS подразумевает упрощение ИТ-инфраструктуры за счет применения более однородных вычислительных компонентов и назначения им ролей на уровне ПО. При этом допускается как выделение компонентов под роль, так и совмещение нескольких ролей на одном наборе оборудования. За счет программного обеспечения SDS можно организовать параллельную или локальную обработку данных, перераспределение нагрузки в процессе обработки и многое другое.

В буквальном смысле SDS — это системы хранения, управляемые независимо разработанным ПО. Оно продается отдельно от железа и устанавливается на стандартное оборудование (на массовых серверных компонентах, доступное от нескольких независимых производителей и продавцов). С ним и благодаря ему типовые серверы становятся слоем блочного, файлового или объектного хранения. Оборудование, которым управляет ПО, обычно имеет встроенный блочный интерфейс и предоставляет собой набор физических или виртуальных устройств от обычных дисков до сетей хранения данных (storage area network, SAN). Подключаться эти аппаратные хранилища могут любым популярным блочным интерфейсом ввода-вывода: локально (например, SAS- или SATA-диски или по USB) или дистанционно (Fibre Channel, iSCSI, Infiniband, Ethernet). Таким образом, блочные устройства — это база, на основе которой работают файловые и объектные системы и базы данных.

Можно сказать, что SDS — это тренд, и уже производители СХД определяют тип предлагаемого ими решения: облачное хранилище, распределенная файловая система, или кластерная файловая система, или что-то другое, относящееся к системам распределенного хранения данных. К числу основных функциональных возможностей и характеристик SDS относят масштабируемость, возможность архивного хранения, сжатие данных и дедупликацию, кроссплатформенность, поддержку стандартных интерфейсов доступа, самостабилизацию и ряд других, на которых остановимся чуть подробнее.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >