ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ...

3
Проблемы и перспективы современной науки Минский инновационный университет VI Республиканский научно-практический семинар молодых ученых 16 октября 2015 года ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ ОБЪЕМОВ ДАННЫХ Тарасов Ф.В. a , Хутко Е.А. b Аннотация Актуальность темы больших данных набирает все больший оборот в современном информационном обществе. В данной статье рассмотрены проблемы обработки и хранения больших объемов данных. Проанализированы средства обработки и хранения больших данных. Ключевые слова: большие данные, big data, СУБД, NoSQL, MapReduce, Hadoop. Введение Большие данные (англ. big data) в информационных технологиях – серия подходов, инструментов и методов обработки структурированных и неструктурированных данных огромных объемов и значительного многообразия для получения воспринимаемых человеком результатов, эффективных в условиях непрерывного прироста и распределения по многочисленным узлам вычислительной сети, сформировавшихся в конце 2000-х годов и альтернативных традиционным системам управления базами данных и решениям класса Business Intelligence [1; 2]. Данное понятие включает в себя средства массово-параллельной обработки неопределенно структурированных данных: прежде всего решения категории NoSQL, алгоритмы MapReduce, программные каркасы и библиотеки проекта Hadoop. 1. Понятие больших данных Считается, что автором термина «большие данные» является Клиффорд Линч, редактор журнала Nature, подготовивший к 3 сентября 2008 года специальный номер журнала с темой «Как могут повлиять на будущее науки технологии, открывающие возможности работы с большими объемами данных?», в котором были собраны материалы о феномене взрывного роста объемов и многообразия обрабатываемых данных и технологических перспективах в парадигме вероятного скачка «от количества к качеству». Термин был предложен по аналогии с расхожими в деловой англоязычной среде метафорами «большая нефть», «большая руда» [3]. Большие данные могут быть описаны следующими характеристиками: объем – количество сгенерированных данных имеет важное значение, с помощью него устанавливаются ценность и потенциал анализируемых данных; скорость – скорость, с которой данные генерируются и обрабатываются в соответствии с требованиями и проблемами, которые стоят на пути роста и развития; изменчивость – со временем данные становятся несогласованными, что усложняет процесс эффективной обработки и управления; достоверность – чем достовернее данные, тем точнее результаты анализа; сложность анализа – процесс анализа может быть очень сложным, особенно если данные из разнообразных источников. Данные должны быть обработаны и связаны таким образом, чтобы пользователь смог сделать вывод на их основе. Чтобы выделить источники возникновения больших данных как пример приводятся непрерывно поступающие данные с измерительных устройств, события от радиочастотных идентификаторов, потоки сообщений из социальных сетей, метеорологические данные, данные дистанционного зондирования Земли, потоки данных о местонахождении, данные устройств аудио- и видеорегистрации [2, с. 7–8]. Развитие и широкое использование этих источников сопровождаются проникновением технологий больших данных как в научно-исследовательскую деятельность, так и в коммерческий сектор и сферу государственного управления. Например: медицина, страхование, кредитование, логистика и др. В качестве исследования проанализируем существующие решения для работы с большими данными. Наиболее часто в качестве базового принципа обработки больших данных указывают SN-архитектуру (англ. Shared Nothing Architecture), обеспечивающую массивно-параллельную a Тарасов Федор Васильевич, Минский инновационный университет, магистрант [email protected] a Хутко Евгений Александрович, Минский инновационный университет, магистрант [email protected]

Transcript of ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ...

Page 1: ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ …media.miu.by/files/store/items/rnpsmu-pipsn/vi/mspp_2015_32.pdf«Как могут повлиять на будущее

Проблемы и перспективы современной науки Минский инновационный университетVI Республиканский научно-практический семинар молодых ученых 16 октября 2015 года

ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ ОБЪЕМОВ ДАННЫХ

Тарасов Ф.В.a, Хутко Е.А.b

АннотацияАктуальность темы больших данных набирает все больший оборот в современноминформационном обществе. В данной статье рассмотрены проблемы обработки и хранениябольших объемов данных. Проанализированы средства обработки и хранения больших данных. Ключевые слова: большие данные, big data, СУБД, NoSQL, MapReduce, Hadoop.

ВведениеБольшие данные (англ. big data) в информационных технологиях – серия подходов,

инструментов и методов обработки структурированных и неструктурированных данныхогромных объемов и значительного многообразия для получения воспринимаемых человекомрезультатов, эффективных в условиях непрерывного прироста и распределения помногочисленным узлам вычислительной сети, сформировавшихся в конце 2000-х годов иальтернативных традиционным системам управления базами данных и решениям класса BusinessIntelligence [1; 2]. Данное понятие включает в себя средства массово-параллельной обработкинеопределенно структурированных данных: прежде всего решения категории NoSQL, алгоритмыMapReduce, программные каркасы и библиотеки проекта Hadoop.

1. Понятие больших данныхСчитается, что автором термина «большие данные» является Клиффорд Линч, редактор

журнала Nature, подготовивший к 3 сентября 2008 года специальный номер журнала с темой«Как могут повлиять на будущее науки технологии, открывающие возможности работы сбольшими объемами данных?», в котором были собраны материалы о феномене взрывного ростаобъемов и многообразия обрабатываемых данных и технологических перспективах в парадигмевероятного скачка «от количества к качеству». Термин был предложен по аналогии с расхожими вделовой англоязычной среде метафорами «большая нефть», «большая руда» [3].

Большие данные могут быть описаны следующими характеристиками: – объем – количество сгенерированных данных имеет важное значение, с помощью него

устанавливаются ценность и потенциал анализируемых данных; – скорость – скорость, с которой данные генерируются и обрабатываются в соответствии с

требованиями и проблемами, которые стоят на пути роста и развития; – изменчивость – со временем данные становятся несогласованными, что усложняет

процесс эффективной обработки и управления; – достоверность – чем достовернее данные, тем точнее результаты анализа; – сложность анализа – процесс анализа может быть очень сложным, особенно если данные

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

Чтобы выделить источники возникновения больших данных как пример приводятсянепрерывно поступающие данные с измерительных устройств, события от радиочастотныхидентификаторов, потоки сообщений из социальных сетей, метеорологические данные, данныедистанционного зондирования Земли, потоки данных о местонахождении, данные устройстваудио- и видеорегистрации [2, с. 7–8]. Развитие и широкое использование этих источниковсопровождаются проникновением технологий больших данных как в научно-исследовательскуюдеятельность, так и в коммерческий сектор и сферу государственного управления. Например:медицина, страхование, кредитование, логистика и др.

В качестве исследования проанализируем существующие решения для работы с большимиданными. Наиболее часто в качестве базового принципа обработки больших данных указываютSN-архитектуру (англ. Shared Nothing Architecture), обеспечивающую массивно-параллельнуюa Тарасов Федор Васильевич,Минский инновационный университет,магистрант[email protected] Хутко Евгений Александрович,Минский инновационный университет,магистрант[email protected]

Page 2: ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ …media.miu.by/files/store/items/rnpsmu-pipsn/vi/mspp_2015_32.pdf«Как могут повлиять на будущее

Тарасов Ф.В., Хутко Е.А. Проблемы обработки и хранения больших объемов данных

обработку, масштабируемую без деградации на сотни и тысячи узлов обработки. При этомMcKinsey, кроме рассматриваемых большинством аналитиков технологий NoSQL, MapReduce,Hadoop, включает в контекст применимости для обработки больших данных также технологииBusiness Intelligence и реляционные системы управления базами данных с поддержкой языкаSQL.

2. Средства хранения и обработки больших данныхNoSQL (англ. not only SQL – не только SQL) в информатике – термин, обозначающий ряд

подходов, направленных на реализацию хранилищ баз данных, имеющих существенные отличияот моделей, используемых в традиционных реляционных системах управления базами данных(СУБД) с доступом к данным средствами языка SQL. Применяется к базам данных, в которыхделается попытка решить проблемы масштабируемости и доступности за счет атомарности исогласованности данных [4].

Сама по себе идея нереляционных баз данных не нова, а использование нереляционныххранилищ началось еще во времена первых компьютеров. Нереляционные базы данныхпроцветали во времена мэйнфреймов, а позднее, во времена доминирования реляционных СУБД,нашли применение в специализированных хранилищах, например иерархических службахкаталогов. Появление же нереляционных СУБД нового поколения произошло из-занеобходимости создания параллельных распределенных систем для высокомасштабируемыхинтернет-приложений, таких как поисковые системы [5].

В начале 2000-х годов Google построил свою высокомасштабируемую поисковую систему иприложения: GMail, Google Maps, Google Earth и т.п., решая проблемы масштабируемости ипараллельной обработки больших объемов данных. В результате были созданы распределеннаяфайловая система и распределенная система координации, хранилище семейств колонок, средавыполнения, основанная на алгоритме MapReduce. Публикация компанией Google описаний этихтехнологий привела к всплеску интереса среди разработчиков открытого программногообеспечения, в результате чего был создан Hadoop и запущены связанные с ним проекты,призванные создать подобные Google технологии. Через год, в 2007 году, примеру Googleпоследовал Amazon.com, опубликовав статьи о высокодоступной базе данных AmazonDynamoDB [5, с. 4–6].

MapReduce – это фреймворк для вычисления некоторых наборов распределенных задач сиспользованием большого количества компьютеров (называемых «нодами»), образующихкластер.

Работа MapReduce состоит из двух шагов: Map и Reduce. На Map-шаге происходит предварительная обработка входных данных. Для этого один из

компьютеров (называемый главным узлом – master node) получает входные данные задачи,разделяет их на части и передает другим компьютерам (рабочим узлам – worker node) дляпредварительной обработки. Название данный шаг получил от одноименной функции высшегопорядка.

На Reduce-шаге происходит свертка предварительно обработанных данных. Главный узелполучает ответы от рабочих узлов и на их основе формирует результат – решение задачи, котораяизначально формулировалась.

Преимущество MapReduce заключается в том, что он позволяет распределять и производитьоперации предварительной обработки и свертки. Операции предварительной обработки работаютнезависимо друг от друга и могут производиться параллельно (хотя на практике это ограниченоисточником входных данных и/или количеством используемых процессоров). Аналогичномножество рабочих узлов могут осуществлять свертку – для этого необходимо только, чтобы всерезультаты предварительной обработки с одним конкретным значением ключа обрабатывалисьодним рабочим узлом в один момент времени. Хотя этот процесс может быть менееэффективным по сравнению с более последовательными алгоритмами, MapReduce может бытьприменен к большим объемам данных, которые могут обрабатываться большим количествомсерверов. Так, MapReduce может быть использован для сортировки петабайта данных, что займетвсего лишь несколько часов. Параллелизм также дает некоторые возможности восстановленияпосле частичных сбоев серверов: если в рабочем узле, производящем операцию предварительнойобработки или свертки, возникает сбой, то его работа может быть передана другому рабочемуузлу (при условии, что входные данные для проводимой операции доступны).

gfd

109

Page 3: ПРОБЛЕМЫ ОБРАБОТКИ И ХРАНЕНИЯ БОЛЬШИХ …media.miu.by/files/store/items/rnpsmu-pipsn/vi/mspp_2015_32.pdf«Как могут повлиять на будущее

Секция 4. Актуальные проблемы информатики

Hadoop – проект фонда Apache Software Foundation, свободно распространяемый наборутилит и библиотек и фреймворк для разработки и выполнения распределенных программ,работающих на кластерах из сотен и тысяч узлов. Используется для реализации поисковых иконтекстных механизмов многих высоконагруженных веб-сайтов, в том числе для Yahoo! иFacebook [6]. Разработан на Java в рамках вычислительной парадигмы MapReduce, согласнокоторой приложение разделяется на большое количество одинаковых элементарных заданий,выполнимых на узлах кластера и естественным образом сводимых в конечный результат.

По состоянию на 2014 год проект состоит из четырех модулей: Hadoop Common (связующеепрограммное обеспечение – набор инфраструктурных программных библиотек и утилит,используемых для других модулей и родственных проектов), HDFS (распределенная файловаясистема), YARN (система для планирования заданий и управления кластером) и HadoopMapReduce (платформа программирования и выполнения распределенных MapReduce-вычислений). Ранее в Hadoop входил целый ряд других проектов, ставших самостоятельными врамках системы проектов Apache Software Foundation.

Hadoop считается одной из основополагающих технологий «больших данных». ВокругHadoop образовалась целая экосистема из связанных проектов и технологий, многие из которыхразвивались изначально в рамках проекта, а впоследствии стали самостоятельными. Со второйполовины 2000-х годов идет процесс активной коммерциализации технологии, несколькокомпаний строят бизнес целиком на создании коммерческих дистрибутивов Hadoop и услуг потехнической поддержке экосистемы, а практически все крупные поставщики информационныхтехнологий для организаций в том или ином виде включают Hadoop в продуктовые стратегии илинейки решений.

ЗаключениеАктуальность темы больших данных набирает все больший оборот в современном

информационном обществе. Корпорация ЕМС обнародовала результаты исследования Big Data,Bigger Digital Shadows and Biggest Growth in the Far East, проведенного IDC при поддержкекомпании ЕМС. Повсеместное распространение технологий и доступа к Интернету приводит кудвоению объема информации. Исследование оценило объем сгенерированных данных в 2012 г. в2,8 зеттабайта и прогнозирует к 2020 г. увеличение объема до 40 зеттабайт, что превосходитпрежние прогнозы на 14 %. Рынок Big Data все еще находится на ранних стадиях развития, и вближайшем будущем мы будем наблюдать его рост и расширение возможностей данныхтехнологий.

Литература 1. Hadoop, Yahoo, 'Big Data' Brighten BI Future [Электронный ресурс] // Eweek.com. – Режим доступа:

http://www.eweek.com/c/a/Data-Storage/TBA-Hadoop-Yahoo-Big-Data-Brightens-BI-Future-254079. – Дата доступа:1.10.2015.

2. Big data: The next frontier for innovation, competition, and productivity [Электронный ресурс] //McKinsey&Company. – Режим доступа: http://www.mckinsey.com/~/media/McKinsey/dotcom/Insights%20and%20pubs/MGI/Research/Technology%20and%20Innovation/Big%20Data/MGI_big_data_full_report.ashx. – Датадоступа: 1.10.2015.

3. Большие Данные – новая теория и практика [Электронный ресурс] // Открытые системы. – Режимдоступа: http://www.osp.ru/os/2011/10/13010990. – Дата доступа: 1.10.2015.

4. Gaurav Vaish. Getting Started with NoSQL / Vaish Gaurav. – Packt Publishing, 2013. – 142 с. 5. Shashank Tiwari. Professional NoSQL / Tiwari Shashank. – Packt Publishing, 2011. – 384 с. 6. Hadoop, a Free Software Program, Finds Uses Beyond [Электронный ресурс] // The New York Times. –

Режим доступа: http://www.nytimes.com/2009/03/17/technology/business-computing/17cloud.html. – Дата доступа:1.10.2015.

110