ПЕРСПЕКТИВЫ РАЗВИТИЯ РАСПРЕДЕЛЁННОГО ХРАНЕНИЯ СВЕРХБОЛЬШИХ ОБЪЁМОВ ДАННЫХ О.В. Устименко ЛИТ, ОИЯИ, Дубна, Россия АННОТАЦИЯ В докладе представлен анализ решений хранения Big Data в разных направлениях: грид, облачные вычисления, NOSQL, OLAP для оптимизации системы управления данными в проекте DIRAC. ВВЕДЕНИЕ Само понятие Big Data появилось относительно недавно и еще не имеет четкого определения. Под Big Data понимают огромные объемы (сотни петабайт) окружающей нас информации, которая может быть полезной для решения научных и бизнес-задач и для использования которой не подходят стандартные классические технологии хранения, обработки и анализа данных. Данные возникающие в процессе функционирования автоматизированных систем являются структурированными и используются в работе реляционными базами данных и многомерными OLAPсерверами. Однако, в нашей деятельности активно используется и такая специфическая информация, как тексты, картинки, изображения, видео- и аудиопоказания приборов. Обработка данных эксперимента BESIII [1] требует доработки систем хранения и управления данных в рамках проекта DIRAC [2]. Целесообразность разработки новых систем обработки подобных данных коммерческие организации определяют из конкретной задачи заказчика, и основным аспектом является количество и доступность. Однако, сверхбольшие наборы данных, активно обрабатываемые в проекте, значительно превышают объемы и требуют сохранения качества при обработке, масштабируемости, быстрой доступности, возможности изменения информации и реализации интеллектуального поиска данных. полученной Важным направлением исследований является адаптация существующих сервисов доступа и управления данными, работающими преимущественно с локальными файловыми системами и отчасти с удаленными наборами данных, к работе с облачным хранилищами сверхбольших объемов данных и со средами распределенных вычислений. За счет высокого параллелизма и множественности точек доступа, в системах облачных вычислений есть возможность повысить производительность, отмеченную при работе с локальными данными. АНАЛИЗ СУЩЕСТВУЮЩИХ СИСТЕМ РАСПРЕДЕЛЕННОГО ХРАНЕНИЯ BIG DATA Не смотря на то, что существует достаточное количество разнообразных систем распределенного хранения данных, до сих пор в полном объеме не реализованы требования [3]: легкость развертывания системы; управление масштабированием системы; простота, гибкость и глубина конфигурирования; быстрый доступ к массивам данных колоссального объема; быстрый доступ к географически распределенным ресурсам; легкость операции по изменению данных; доступность и глубина «мониторинга»; надежность сетевой инфраструктуры в гетерогенной среде. К наиболее перспективным технологиям хранения и управления данными можно отнести объектные облачные хранилища данных (Amazon S3, MS DataMarket, OpenStack Swift, DropBox), специализированные системы хранения адаптированные для хранения научных данных (RasDaMan и SciDB, гибридные системы хранения (ActiveStorage), системы с распределенной потоковой обработкой (Twitter Storm, Yahoo S7, IBM Streams, Hadoop). Технологиями хранения, распределенной обработки и анализа данных интересуются те организации, в которых уже внедрены BI-системы и стоит проблема повышения их производительности. Такие заказчики есть в банках, страховых организациях, ритейле, госсекторе и науке. В этом случае технологии, например, Hadoop или In-Memory Analytics, могут использоваться для традиционного бизнесанализа с большим числом пользователей и огромным объемом данных. Каждая из выше приведенных систем имеет свой приоритет обрабатываемых задач. Основная идея концепции этой технологии In-Memory Analytics в том, что наряду с обычным хранением для временного хранения данных используется оперативная память. Это позволяет находить, извлекать и анализировать нужные данные очень оперативно. К примеру, для распределенного хранения и обработки данных часто используется Apache Hadoop и MapReduce. Наиболее популярные задачи здесь связаны с анализом текстов, семантическим поиском, извлечением дополнительных знаний из неструктурированных документов и др. Здесь нужно заметить, что обрабатываются не просто данные, а огромные массивы данных, которыми оперируют поисковые системы. Являясь распределенным фреймворком, Hadoop позволяет создавать приложения, использующие преимущества параллельной обработки данных. Преимуществом является открытость исходного кода MapReduce рамках Apache Hadoop, который может построен на виртуальной сервере Linux в рамках облачных вычислений, а также Hadoop не ограничивается возможностью разворачивания помимо виртуальных машин любого поставщика, но и систему можно развернуть на стационарную ОС Linux на физических машинах с низкой отказоустойчивостью. Для эффективного хранения огромных объемов нестандартных данных – Oracle NoSQL Database. Oracle Advanced Analytics «специализируется» на углубленном анализе данных, включая специальную реализацию языка статистических исследований Oracle R Enterprise и технологию Oracle Data mining. А Oracle Endeca Information Discovery – на совместном анализе структурированной и неструктурированной информации с расширенными возможностями интуитивного поиска. Все эти продукты составляют платформу Oracle Big Data и доступны не только как отдельные программные компоненты, но и как единое целое – в виде специализированного программно-аппаратного комплекса. Специфика проблемы при работе с такими продуктами заключается в том, что не до конца проанализированы и учтены следующие аспекты: 1. Разнообразие форматов данных и их увеличение. 2. Гетерогенность вычислительных ресурсов в составе облака и использование ранее созданных сред распределенных вычислений. 3. Уникальность и разнообразие прикладных сервисов для науки и образования (диверсификация по предметным областям). 4. Архитектурная привязка прикладных сервисов к вычислительной инфраструктуре (оптимизация под инфраструктуру разработчика). 5. Участие пользователей в создании и развитии новых сервисов и композитных приложений на их основе (самоорганизация состава облака). 6. Виртуальное профессиональное сообщество (устойчивая обратная связь). 7. Поддержка интерактивных сервисов в «реальном» времени (сервисы доступа к оборудованию, визуализации и пр.). 8. Отсутствие достаточно универсального и высокоуровнего языка запроса, учитывающего специфику хранения (например, в облаке) и модели данных (в первую очередь многомерные массивы). 9. Отсутствие масштабируемой, распределенной, открытой платформы для облачного хранения научных данных. 10. Отсутствие фреймворка, обеспечивающего распределенную параллельную обработку потоков научных данных. РАЗВИТИЕ ТЕХНОЛОГИЙ РАСПРЕДЕЛЕННОГО ХРАНЕНИЯ СВЕРХБОЛЬШИХ ОБЪЕМОВ ДАННЫХ Исходя из приведенного выше краткого описания существующих продуктов можно выделить несколько поколений развития технологий распределенного хранения данных. К технологиям I поколения можно отнести системы, имеющие унифицированный доступ к вычислительным и программным ресурсам требуемой конфигурации, позволяющие удаленное исполнение типовых приложений, коллективное хранение и использование сверхбольших объемов данных, и обладающие свойством виртуализации (кросс-платформенность и кросс-технологичность). К новому веянию относится системы, которые позволят решать задачи создания композитных приложений, интеллектуальной поддержки поиска и применения сервисов, динамическое управление производительностью сервисов, гибкая интеграция с системами реального времени. В задачах, где требуется обработка очень больших объемов информации, гридвычисления являются единственным оптимальным решением одновременно нескольких проблем организации работы с Big Data. Для становления интеллектуальных систем хранения сверхбольших объемов данных необходима формализация знаний. По этим обозначением понимается развитие интеллектуальных технологий аннотирования, поиска и применения сервисов. Управление исполнения композитного приложения должно производится в исполнительной среде. При этом важно иметь возможность спланировать исполнение, при использовании коммуникационных сетей общего назначения необходимы системы квотирования и тарификации различных вариации загрузки. При всех вышеперечисленны особенностях система должна работать в режиме реального времени (наличие центров принятии решений). Примером правильно организованной архитектуры распределенного хранения сверхбольших объемов данных является разработанная при поддержке ОИЯИ система мониторинга сервиса передачи файлов FTS, а также система мониторинга центров уровня Tier3 для анализа данных, глобальная система мониторинга передачи данных в инфраструктуре проекта WLCG [4]. Для организации хранения данных в среде грид используются различные системы и сервисы. В грид-среде наиболее используемыми являются Castor, dCache, DPM. Для взаимодействия систем между собой разработан сервис SRM (Storage Resource Manager) . Для обеспечения необходимой отказоустойчивости, производительности и организации взаимодействия между остальными сервисами управления данными в режиме реального времени был создан сервис передачи данных — FTS (File Transfer Service) (см. рисунок 1). Интерфейс системы состоит из нескольких модулей. У пользователей есть возможность начать свою работу с системой непосредственно из интересующего его модуля, либо с главной страницы, на которой представлены общие отчеты, позволяющие определить состояние сервиса и возможные источники проблем. Рисунок 1 – Модель данных системы мониторинга FTS Система dCache ориентирована на хранение больших экспериментальной информации. Для доступа к файлам объёмов dCache используется собственные протоколы (например, DCAP), gridFTP или любой протокол доступа к файлам. Распределенная файловая система высокопроизводительный, масштабируемый и Xrootd, направленная отказоустойчивый на доступ к хранилищам данных многих видов. Доступ к данным основан на масштабируемой архитектуре, протоколе связи, а также наборе плагинов и инструментов. Xrootd обеспечивает удобный для пользователя и быстрый доступ к данным любого вида. Данные должны быть организованны в виде иерархической файловой системы, как пространства имен, основанные на концепции каталога. Для анализа данных экспериментов БАК стали использоваться разнообразные вычислительные ресурсы (серверы, кластеры, суперкомпьютеры) центров уровня Tier3 [5]. У каждого центра имеется большое количество различных систем хранения данных и систем пакетной обработки задач (рисунок 2). Рисунок 2 – Схема функционирования основных вариантов Tier3 центров и их взаимодействие с системой глобального мониторинга Данная структура позволила выявить около 40 конфигураций программноаппаратных комплексов для создания дистрибутивов и внедрения системы локального мониторинга для сбора информации о функционировании каждого центра Tier3. Многофункциональная инструментально-технологическая платформа облачных вычислений СLAVIRE (CLoud Applications VIRtual Environment), разработанная компанией ЗАО «Фирма «АйТи», позволяет использовать частные и публичные сервисы на основе корпоративных инфраструктур, облачные среды на основе существующих грид-инфраструктур и сообществ, облачные сервисы сбора, хранения и обработки больших объемов данных, в том числе в социальных сетях Интернет, консолидирует вычислительные, информационные и программы ресурсы в различных предметных областях. Система взаимодействующих сервисов представлена на рисунке 3. Рисунок 3 – Абстрактное описание сервисов и приложений в терминах предметной области Система ориентирована на неоднородные вычислительные среды (рисунок 4). Рисунок 4 – Вычислительная инфраструктура СLAVIRE В рамках Государственный контракт № 07.514.11.4045 сотрудниками НИЦ «Курчатовский институт» было проведено исследование по разработке масштабируемой, распределенной, открытой платформы для облачного хранения научных данных, включающий в себя фреймворк, обеспечивающий распределенную параллельную обработку потоков научных данных, систему управления метаданными и прикладное программное обеспечение Active Storage для облачного хранения, обработки и доступа к сверхбольшим многомерным научным массивам научных данных (рисунок 5). Рисунок 5 – Архитектура системы ActiveStorage - универсальное хранилище численных данных, предназначенное для хранения временных рядов, спутниковых изображений, результатов численного моделирования, а также любой другой информации, которая может быть представлена в виде многомерных численных массивов. Особенностями хранилища являются: Универсальная архитектура, позволяющая держать разнородные данные в единой системе хранения. Эффективное индексирование больших объемов данных (десятки и сотни терабайт). Возможность базовой обработки данных непосредственно на узлах хранилища (арифметические операции, статистическая обработка, линейная свертка). Интегрированные метаданные; описания данных неотделимо от самих данных. Возможность автоматического распределения данных (а также распараллеливания обработки) по нескольким узлам. Возможность использования в инфраструктуре Грид через сервисы. OGSA-DAI. Особенности VOSpace: VOSpace не накладывает ограничений на способы хранения и передачи данных. Может работать с локальной файловой системой и OpenStack Swift. Контролирует доступ и управление данными, метаданными и задачами синхронизации. Позволяет подключать различные схемы авторизации (openID, oAuth и другие системы). RESTfull интерфейс. Потоковая обработка данных Twitter STORM (рисунок 6) – это распределенная система реального времени для обработки данных. Аналогично тому, как Hadoop, поддерживает ряд примитивов для организации пакетной обработки, Storm поддерживает примитивы для организации обработки данных в реальном времени. Twitter STORM поддерживает простую модель программирования (Clojure, Java, Ruby, Python), обладает высокой отказоустойчивостью и способностью проводить вычисления идут параллельно с использованием многопоточности мноогопроцессности и на нескольких серверах. Запуск рабочих потоков как на кластере, так и в локальном режиме на одной машине. Рисунок 6 – Архитектура Twitter STORM Однако при работе с системой STORM имеются некоторые неудобства такие, как запуск скрипта производится локально на головной машине кластера либо через скрипты (Leiningen или Maven), при этом каждый раз на удаленную машину надо закачивать библиотеки для выполнения программы. При запуске на кластере, состоящим из нескольких машин, сложен процесс сбора результирующих данных. ЗАКЛЮЧЕНИЕ Анализируя тенденции развития современной науки, можно с уверенностью сделать вывод, что проектов возможно дальнейшее в случае успешное развитие научно-исследовательских развития технологий по обработке сверхбольших объёмов данных, возможности их анализа и поиска новых знаний. Одним из основных методов решения проблемы «больших данных» является использование «облачных вычислений», при помощи которых пользователи получают возможность удаленного доступа к массивам информации и использования распределённых вычислительных ресурсов для их обработки. При этом компьютерные комплексы, предназначенные для хранения и обработки массивов данных, могут располагаться в специализированных центрах обработки и хранения данных. Такие центры предназначены не только для удаленного хранения и резервного копирования большого объема научных данных, но и для удалённого доступа к приложениям, обеспечивающим анализ этих данных. В качестве обработки больших альтернативы объемов облачным научных технологиям данных для решения предлагается задач использование высокопроизводительных локальных кластеров научно-исследовательских центров и технология GRID. Последняя представляет из себя концепцию, подразумевающую совместное использование научно-исследовательскими организациями своих вычислительных мощностей для интенсивных операций с научными данными. По своей сути, это разновидность распределённых вычислений, в которой вычислительные ресурсы различного типа объединяются вместе единой инфраструктурой для выполнения ресурсоемких заданий. Технология GRID успешно применяется для решения научных задач, требующих значительных вычислительных ресурсов. Преимуществом распределённых вычислений является то, что в качестве отдельных узлов GRID-системы могут использоваться даже обычные неспециализированные компьютеры. ЛИТЕРАТУРА [1] Сайт эксперимента BESIII. – [Электронный ресурс]. URL: http://bes3.ihep.ac.cn/ [2] Сайт проекта DIRAC. – [Электронный ресурс]. URL: http://diracgrid.org/ [3] Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод. Технологии анализа данных. DataMining, VisualMining, TextMining, OLAP / А.А. СПб.: БХВ-Петербург, 2007. 384 с. [4] Кореньков В.В., Ужинский А.В. Система мониторинга сервиса передачи данных (FTS) проекта EGEE/WLCG. Вычислительные методы и программирование: новые вычислительные технологии, том 10, 2009, с.96-100.