В 2010 году было представлено множество инициатив от больших и малых поставщиков систем хранения данных. Остановимся на четырех из них, характерных именно для 2010 года, отличающегося активизацией спроса и предложения в сфере Cloud Computing.

EMC

Менее чем через квартал после вхождения компании Greenplum в состав корпорации EMC было представлено специализированное устройство EMC Greenplum Data Computing Appliance, представляющее собой интегрированную систему, предназначенную для создания хранилищ данных. В основе нового устройства проверенная архитектура с массовым параллелизмом (Massive Parallel Processing, MPP) — традиционная разработка компании Greenplum. Продукт DCA можно рассматривать как ответ EMC на вызов со стороны проблемы больших данных и как средство для решения задач аналитики реального времени.

Отличительные особенности новых технологий работы с данными, разработанные в Greenplum после 2006 года, заключены в акрониме MAD — Magnetic, Agile и Deep. Серьезный академический анализ этой парадигмы содержится в статье MAD Skills: New Analysis Practices for Big Data ("МОГучие способности: новые приемы анализа больших данных", в переводе Сергея Кузнецова), написанной группой авторов, в которую входят сотрудники Greenplum и Университета Беркли. Под магнетичностью (magnetic) нового поколения хранилищ понимается то, что они должны притягивать к себе данные, вбирать их с меньшей строгостью, чем это делалось раньше в процедурах ETL (extract, tranform, load — «извлечение, трансформация, загрузка»). Гибкость (agile) отражает способность современных баз данных адаптироваться к быстрым изменениям в окружающей среде. Глубинность (deep) в данном случае символизирует более сложные статистические методы, большую глубину репозиториев данных технологий, используемых для поддержки сложных алгоритмов.

Философия MAD предполагает как можно более быстрое помещение данных в хранилище с их последующей интеграцией и очисткой. Такой подход реализуется в трехуровневой модели. Сначала загружаются необработанные таблицы фактов по переходной (Staging) схеме, и доступ к данным сразу получают инженеры и некоторые аналитики. Далее в производственной (Production) схеме хранилища данных используются типичные агрегаты, применяемые большинством пользователей SQL-систем для доступа к данным. Существует еще отчетная (Reporting) схема доступа, предоставляющая данные остальным пользователям, не имеющим навыков программирования.

Скорость, с которой удалось создать DCA, вполне объяснима. EMC Greenplum Data Computing Appliance относится к специализированным устройствам (Type 2), где специальным является только ПО, а аппаратное обеспечение строится на базе стандартных средств. (К Type 1 можно отнести продукты Teradata, в них применяются стандартные серверы и проприетарное сетевое оборудование, а к Type 0 — системы Netezza, в которых применяются специальные серверы.)

Принципиально новой в DCA является технология MPP Scatter/Gather Streaming (SG Streaming), предложенная Greenplum в 2009 году, из названия которой следует, что она предполагает распределение и сбор потоков данных. Управляемое распределение отличает ее от более распространенной сейчас загрузки «навалом», чреватой появлением так называемых бутылочных горлышек. Свой подход в Greenplum еще называют «повсеместным параллелизмом» (parallel everywhere). На рис. 1 показана фаза распределения данных по MPP-серверам, за которой следует фаза сбора данных, а сама процедура ETL, таким образом, заменяется более сложной ETLT с двухфазной процедурой преобразования данных.

DCA поступает заказчикам в двух исполнениях: GP100 и GP1000, первое занимает половину стандартной стойки, второе — всю. Каждое из них комплектуется двумя распределяющими серверами — всего в MPP-архитектуре GP100 задействовано восемь серверов, а в GP1000 — 16; размер дискового пространства различается в два раза, составляя 384 и 768 Гбайт соответственно.

HDS

Прежняя производственная программа HDS, состоявшая из облачной платформы для хранения неструктурированных данных Hitachi Content Platform (HCP) и двух платформ для хранения структурированных данных: Universal Storage Platform V и VM. В октябре 2010 года к ним прибавилось устройство HDI (The Hitachi Data Ingestor), оптимизирующее взаимодействие с объектным хранилищем HCP. Оно не имеет самостоятельной функциональности, его задача — обеспечить клиентам удаленный доступ к HCP. Совместно HDI и HCP образуют конструкцию, не имеющую аналогов в индустрии. В документации на эту двухкомпонентную систему встречаются необычные термины, но их использование оправданно, поскольку они образно выражают основные особенности HDI-HCP. Существительного ingestor, использованного в названии, нет ни в одном словаре, зато есть глагол ingest, переводимый как «всасывать» или "поглощать", несложно домыслить, какой смысл разработчики вложили в название. Для способа доступа из HDI в HCD используется выражение on-ramp — так в Америке называют отрезок, объединяющий магистраль с местной дорогой, а для интегрированного решения в целом — edge-to-core, то есть от периферии к центру. Этих слов оказывается вполне достаточно, чтобы выразить основную идею HDI-HCP — расположенный на периферии HDI «всасывает» пользовательские данные и выводит их в магистраль, связывающую его с HCD, при этом образуется структура, объединяющая периферию с центром.

Достоинство комплексного решения HDI-HCP состоит в упрощении работы с неструктурированными данными благодаря совмещению в одной системе разных качеств. В центре находится подходящее для этой цели объектное хранилище, изначально задуманное для архивации, а на периферии — полный аналог привычного файлера (рис. 2), выполненного в виде подключаемого к сети устройства хранения (Network Attached Storage, NAS). Система работает предельно просто, каждый из клиентов может обращаться только к своему HDI, и для них он практически не отличается от файлера, а далее HDI сам общается с HCP, причем адресуется не ко всему его объему, а только к выделенному пространству, названному tenent (чаще всего переводится как «арендатор»), таким образом реализуется популярный ныне принцип множественного использования (multy-tenancy).

Для обмена данными с помощью средств Hitachi Data Ingestor не требуется вносить какие-либо изменения в существующие приложения — для них HDI представляется обычным накопителем, поддерживающим все те же протоколы сетевого доступа к файловым системам Network File System (NFS) и Common Internet File (CIFS). Но, в отличие от обычных NAS-устройств, Data Ingestor является не накапливающим данные устройством, а всего лишь своеобразным кэшем, обеспечивающим связь с хранилищем HCP, которое может быть расположено в частном (корпоративный ЦОД) или в публичном облаке. Разделение функций снимает любые ограничения на хранимые объемы данных; собственные диски, расположенные в HDI, играют роль буферов обмена, а все процедуры, обеспечивающие сохранность данных, такие как резервное копирование и архивация, вынесены в HCP.

Data Ingestor как локальный кэш хранит минимальный объем часто используемых данных. Устройство HDI универсально — в одной и той же конфигурации (сервер, диски, ПО) оно используется в двух качествах: может быть установлено на стороне клиента или на стороне HCP. В первом случае взаимодействие с ним осуществляется по локальной сети, а во втором по — глобальной (это может быть Интернет) или виртуальной частной сети. Совместно HDI и HCP позволяют реализовать облачную сервисную модель хранения (Storage as a Service).

Процедуры миграции из HDI в HCP автоматизированы и осуществляются в соответствии с установленными правилами. При передаче первой порции данных между периферийным устройством и перемещенными данными устанавливается связь, поддерживаемая специальными структурами данных. Правила и наличие структур для сохранения резервных версий необходимы на случай восстановления при аварийных ситуациях — они определяют режим работы кэшей. HDI поддерживает нормативные требования по сохранности данных, имеет встроенную на уровне файлов функциональность WORM (Write Once, Read Many). HDI представляет собой довольно скромное устройство на двухузловом кластере с процессорами Intel XEON E5620, памятью 12 Гбайт и дисками 4 Тбайт, что, однако, обеспечивает доступ к 100 млн файлов на один HDI.

В основе младшей модели платформы HCP 300 лежит архитектура RAIN, что означает (Reliable Array of Inexpensive/Independent Node — «надежный массив независимых, или недорогих, узлов»), обеспечивающий распределенное хранение данных на кластере, составленном из серверов, число которых может доходить до 96. Помимо надежности и компактности, RAIN гарантирует высокую скорость выполнения операций ввода-вывода.

Архитектура RAIN реализована в продуктах нескольких производителей, но Hitachi пошла дальше всех, предложив архитектуру SAIN (SAN attached Array of Independent Nodes), в которой блочное хранение сочетается с возможностями IP-технологий. Функционал SAIN шире, он позволил создать более мощное устройство HCP 500. В HCP реализована проверка целостности данных, RAID 6, репликация, криптографическая защита и многие другие технологии. Для ускорения операций выделены узлы двух типов — облачного хранения и поиска. Работу с платформой поддерживает пакет Hitachi Data Discovery Suite, который позволяет пользователю через единый интерфейс осуществлять поиск по множеству источников данных. В минимальной конфигурации предусмотрено четыре узла, а в максимальной с использованием дисков на 1 Тбайт объем хранения может достигать 40 Пбайт. Версия HCP 3.0 поддерживает виртуальные пулы, включающие USP-V и TagmaStore AMS, а при подключении через виртуализующие контроллеры HDS V — и системы хранения от других производителей.

HCP называют объектным устройством, поскольку в нем текстовые файлы или файлы изображений хранятся как объекты, в которых содержимому сопутствует дополнительная информация в виде метаданных о файле и сведений о том, как его следует хранить. Эти три составляющие нераздельны, они хранятся и реплицируются только совместно и совместно мигрируют по уровням хранения. В HCP реализован механизм совмещения независимых областей хранения, в котором каждая из них имеет собственные, независимые от других свойства. Области могут быть по-разному защищены, индексированы, иметь разное количество файлов пространств имен и т. д. HCP могут быть использованы в публичных и частных облаках, для создания контентных хранилищ (Content Depot) архивов и для резервирования.

IBM

За последние несколько лет компания IBM заметно обогатила свою программу по выпуску СХД необычными устройствами, не имеющими аналогов на рынке, и в первую очередь это модульная система XIV Storage System (Nextra) и накопитель со встроенной подсистемой виртуализации Storwize V7000, однако ожидаемые в будущем новинки обещают быть не менее оригинальными.

Устройство Storwize STN-6000p, построенное на основе многоядерных процессоров, устанавливается в сети между коммутаторами и системами хранения, оно на 65-90% уменьшает поток сохраняемых данных, но при этом не влияет на производительность и не требует изменения потоков работ, внедрения агентов, изменения драйверов, в общем, обходится без каких-либо трансформаций окружающей ИТ-среды. Storwize STN-6000p выполняет препроцессинг данных, освобождая сервер от лишней и часто бесполезной работы. В продолжение этих работ IBM приобрела компанию Netezza, решения которой используют программируемые логические матрицы (Field Programmable Gate Array, FPGA), позволяющие обрабатывать большие данные ближе к месту их нахождения, избегая ненужной транспортировки. Появление таких систем, которые можно назвать "обогащающими данные", может заметно понизить требования к системам обработки и передачи при решении проблемы больших данных.

В 2003 году один из основателей компании Netezza Фостер Хиншоу опубликовал статью AMPP: combining SMP and MPP to speed database queries («AMPP: сочетание SMP и MPP для ускорения обработки запросов к СУБД»), где под AMPP подразумевается асимметричный MPP. Философия, предложенная Хиншоу, была изложена в статье "Суперкластер для BI", опубликованной в 2008 году, и с тех пор не претерпела заметных изменений, однако выпускаемые изделия стали другими. Изначально был всего один сервер, Netezza Performance Server, а теперь у него есть два преемника, в которых сохранен общий замысел: младший (Skimmer, «сепаратор») получен в результате масштабирования вниз, а старший (TwinFin) родился путем масштабирования вверх.

Netezza добилась успеха, внедрив архитектуру серверов AMPP, сочетающую симметрично-многопроцессорную обработку (Symetrical Multiprocessing, SMP) на переднем плане для поддержки пользователей с MPP на заднем плане для непосредственной обработки запросов. AMPP позволяет распараллелить один запрос на тысячу и более потоков, одновременно фильтруя лишнее. На рис. 3 представлена общая схема AMPP, состоящая из четырех основных компонентов.

Хосты Netezza представляют собой обычные высокопроизводительные SMP-серверы, работающие под управлением Linux и собранные в активно-пассивную конфигурацию, обеспечивающую высокую готовность. Активные хосты предоставляют стандартный интерфейс внешним устройствам и приложениям, вырабатывая код, исполняемый для «сниппетов» — специализированных серверов нижнего уровня. Обычно сниппетами в программировании называют фрагменты исходного кода или текста, пригодные для повторного использования, в данном случае — серверы-лезвия.

Серверы Snippet Blades (S-Blades) образуют MPP-связку независимых серверов с многоядерным процессором, несколькими FPGA и памятью. Данные поступают в память Snippet Processor, играющую к тому же роль кэша, с тем чтобы для доступа к наиболее часто используемым данным можно было не обращаться к дискам. Далее параллельно работающие FAST Engines, построенные на FPGA, декомпрессируют данные, отфильтровывают до 95-98% данных таблиц, а оставшиеся данные направляют в процессоры, входящие в Snippet Processor.

Дисковые массивы Disk Enclosures содержат высокопроизводительные диски с защитой RAID, а также срез данных из таблицы базы данных. Disk Enclosures соединен с S-Blades высокоскоростной магистралью. Сетевая инфраструктура Network Fabric обеспечивает увеличение числа узлов до одной тысячи и более.

Старшая из двух моделей — TwinFin, являющаяся четвертым поколением продуктов Netezza, была выпущена в августе 2010 года и монтируется встандартную стойку, из которых можно собрать одну систему. В стойке можно разместить до 96 процессоров и до 32 Тбайт данных на дисках. Стойки индексируются по числу установленных в них S-Blades: TwinFin 3, TwinFin 6 и TwinFin 12. В одну конфигурацию можно собрать до 10 стоек. Младшая модель (январь 2010) Skimmer состоит из одного сервера S-Blades, способна хранить до 2,8 Тбайт данных и монтируется в шасси высотой 7U. Удельная стоимость хранения в Skimmer составляет 20 тыс. долл. за терабайт. В феврале 2010 года Netezza объявила, что открывает свои системы для основных программных моделей: Hadoop, MapReduce, Java, C++ и Python.

HP

Компания 3Par относительно недавно влилась в HP, поэтому ее продукты еще не полностью интегрированы в производственную программу ведущего ИТ-производителя, однако ясно, что у основного продукта 3Par — системы хранения данных InServ Storage Server теперь появились все шансы для конкурентной борьбы. Действительно, именно 3Par имеет отличную инженерную базу и одной из первых реализовала автоматическое распределение дискового пространства, включая распределение по уровням (Autonomic Storage Tiering), динамическое распределение (Thin Technologies) и ряд других инновационных решений в области виртуализации хранения.

Рис. 4. Архитектура Full-Mesh InterconnectАрхитектура 3Par InSpire Architecture, на которой построены серверы хранения 3PAR InServ Storage Server, отличается рядом оригинальных решений. Главную роль в этой архитектуре играют управляющие узлы Controller Nodes, образующие оригинальный кластер, в котором узлы связаны между собой высокоскоростной магистралью, базирующейся на пассивной задней панели, где каждый из узлов связан со всеми остальными, образуя полную сеть (Full-Mesh Interconnect, рис. 4). Такая сеть обеспечивает обмен данными на скорости 1,6 Гбайт между специальными микросхемами 3Par Gen3 ASIC, входящими в состав каждого InServ Controller Node. Данную связь можно назвать прямой и сильной — сильная связанность детерминирована, она обеспечивает низкую задержку и предсказуемую производительность на произвольных нагрузках.

Использование Gen3 в названии микросхемы является прямым указанием на ее принадлежность к третьему поколению внутреннего межсоединения в SMP-архитектурах. Исторически первым были шинные конструкции, на смену им пришли коммутаторы, а появление третьего поколения датируется концом 90-х годов. Но до сих пор этот тип межузловой коммуникации использовался только в серверах, а заслуга 3Par в том, что компания распространила этот подход на системы хранения данных. На задней панели производимой ею стойки есть разъемы для подключения Controller Node (по два на узел). Имеется несколько типов стоек с разным количеством мест для управляющих узлов. Такого рода сильно связанная кластерная архитектура сочетает в себе лучшие качества двух традиционных типов массивов систем хранения данных, от монолитных — надежность и простоту масштабирования, от модульных – низкую стоимость.

Основным элементом архитектуры 3Par InSpire Architecture является узел Controller Node – устройство, специально спроектированное для перемещения больших объемов данных внутри InServ Storage Server. В минимальной комплектации модульная конструкция кластера может включать два узла, а в максимальной — восемь. Модульный подход обеспечивает высокую надежность и гибкость масштабирования. Узлы работают в режиме горячей замены, выход из строя одного из них не уменьшает производительность всей системы в целом.

Главное отличие от традиционных решений, в которых обработка команд ввода/вывода требует процессорных мощностей при одновременном обмене данными, заключается в том, что в 3Par Controller Node эти две функции разделены на аппаратном уровне. Данная новация позволяет исключить появление «бутылочного горла» — столкновения потока команд с потоком данных при работе с большими массивами данных. Для выполнения команд управления в каждом из узлов используется по два процессора Intel Dual-Core и кэш памяти 32 Гбайт, а для перемещения данных — одна микросхема ASIC с кэшем Data Cache 96 Гбайт. Каждый из узлов имеет по шесть слотов для связи с хостами. Могут быть использованы коннекторы Fibre Channel и/или iSCSI, они обеспечивают до 24 портов на узел.

Специализированная микросхема ASIC (Application Specific Integrated Circuit) спроектирована непосредственно в 3PAR и способна поддерживать связь с семью аналогичными чипами. Таким образом складывается связь каждого узла с каждым другим, реализуется контроль четности для RAID 5 и работа с кэшем данных Data Cache.

Одной из самых интересных особенностей контроллера Controller Node является встроенная функция Thin Built In, осуществляющая преобразование томов типа тонкий-толстый (Fat-to-Thin) для оптимизации и ускорения работы дисков. Каждый контроллер имеет свой локальный диск, на котором хранятся операционная система InForm Operating System и кэшируемые данные. Особое внимание уделено обеспечению сохранности данных, находящихся в промежуточном состоянии, — чтобы исключить потери в кэшах, узлы имеют собственные резервные батареи и подсистемы для контроля за ними. Специальные процедуры исключают возможность потери данных в процессе записи и чтения. При записи данные сначала попадают в кэш одного узла, затем зеркалируются на резервный узел и только потом переписываются на два разных диска (RAID 1). Подобным же образом организовано чтение.

Другим важным компонентом 3Par InSpire Architecture служит шасси дисков (Drive Chassis). В максимальной комплектации к восьми узлам управления может быть подключено 32 шасси, каждое из которых можно заполнить 1280 дисками. Столь высокая плотность размещения достигается благодаря оригинальной кассетной конструкции — до 40 дисков вставляются кассетами, по десять дисков в каждой кассете, а замена осуществляется также кассетами. Внутренними средствами Drive Chassis обеспечивается контроль за работоспособностью всех компонентов, от кассет и блоков питания до всего шасси в целом.

Пакет программного обеспечения 3Par InForm Suite включает в себя не только операционную систему 3Par InForm Operating System, но еще и несколько подсистем: наблюдения 3PAR Access Guard, управления томами 3Par Rapid Provisioning, физического копирования томов 3Par Full Copy, авторизации и аутентификации 3Par LDAP. Для обеспечения оптимального использования дискового пространства в 3Par InForm Operating System реализована трехуровневая система резервирования. На нижнем, первом уровне находятся фрагменты, называемые заимствованным из программирования термином «чанклет» (chunklet), по 256 Мбайт. Уровнем выше чанклеты объединяются в логические диски, а на верхнем уровне данные представляются в виде виртуальных дисков.

***

В 2010 году четверка основных производителей систем хранения данных кардинальным образом обновила свои продуктовые линейки — новые решения уже не похожи на блочные системы или файлеры, какими они были 10 лет назад, а специально ориентированы на работу с облаками, в том числе и на решение проблемы Big Data и поддержку модели Data as a Service или Storage as a Service. В новых условиях требуются архитектуры с массовым параллелизмом, позволящие работать со всеми имеющимися данными, в частности, для того, чтобы решать задачи аналитики реального времени.

Рисунок 1. Архитектура Greenplum

Рисунок 2. Архитектура Hitachi Data Ingestor

Рисунок 3. Архитектура Netezza

Большие хранилища для больших данных
Программные решения на MPP-конфигурациях, собранных из стандартных серверов, предлагают несколько компаний — среди них Greenplum, Aster Data, Kognitio. Более известна Greenplum, уникальность ее полиморфного решения Polymorphic Data Storage состоит в том, что для отдельно взятого раздела базы данных могут быть заданы собственные параметры хранения, выполнения и компрессии. Решения Greenplum не привязаны к определенной аппаратной конфигурации, что стало их преимуществом при переходе к облакам, а добавив расширение MapReduce, компания смогла выпустить платформу Enterprise Data Cloud.
http://www.osp.ru/os/2010/05/13003067

XIV — новая философия хранения
В 1994 году был создан накопитель Symmetrix, качественная новизна которого состояла в том, что он соответствовал требованиям корпоративных приложений, хотя был собран из широко распространенных компонентов, а спустя 14 лет история повторилась — появился накопитель корпоративного уровня XIV Storage System, собираемый из дешевых комплектующих.
http://www.osp.ru/os/2008/10/5831607

Универсальный хранитель
Накопитель Storwize V7000 ориентирован на те предприятия малого и среднего бизнеса, которым требуется унифицированная система для работы с данными различного типа — от транзакционных до неструктурированных и медийных.
http://www.osp.ru/cw/2010/33/13004755

Суперкластер для BI
Представления о массовом параллелизме обычно ассоциируются с вычислительными системами класса MPP, однако идеи параллелизма могут быть распространены и на системы хранения данных. Первый тому пример — специализированный сервер Netezza Performance Server.
http://www.osp.ru/os/2008/06/5344041

Неизбежность динамического резервирования
Термин thin provisioning впервые появился в конце 2002 года, а компания 3Par в 2003 году использовала его для своих технологий, но собственно концепция динамического резервирования была реализовала еще в 1999 году.
http://www.osp.ru/os/2009/08/10742564