Основные подходы к хранению и анализу больших данных
Базовые подходи и методы хранения и анализа данных, которые могут быть отнесены к категории Big Data. Проведение исследования графической интерпретации операции Map, Shuffle и Reduce. Характеристика базовых принципов функционирования модели MapReduce.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 06.09.2021 |
Размер файла | 374,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Основные подходы к хранению и анализу больших данных
Одинокое А.Е. - магистрант кафедры «Автоматика и системотехника»,
Шеленок Е.А. - канд. техн. наук, доцент кафедры «Автоматика и системотехника», (ТОГУ)
Аннотация
В статье описываются базовые подходи и методы хранения и анализа данных, которые могут быть отнесены к категории Big Data. Рассмотрены базовые принципы работы с большими данными, отличающиеся от принципов работы с традиционными хорошо структурированными данными. Рассмотрена одна из основополагающих технологий больших данных - Ha- doop, содержащая набор самых эффективных современных механизмов анализа Big Data.
Ключевые слова: Big Data, хранение, анализ, MapReduce, Hadoop, HDFS. Введение
Abstract
Odinokov A. E. - Pacific National University, Khabarovsk, Russian Federation Shelenok E. A. - Pacific National University, Khabarovsk, Russian Federation
The article describes the basic approaches and methods of storing and analyzing data that can be classified as Big Data. The basic principles of working with big data that differ from the principles of working with traditional well-structured data are considered. Considered is one of the fundamental technologies of big data - Hadoop, which contains a set of the most effective modern Big Data analysis mechanisms.
Key words: Big Data, storage, analysis, MapReduce, Hadoop, HDFS.
Большие данные (Big Data) - общее название для структурированных и неструктурированных данных огромных объемов, которые эффективно обрабатываются с помощью масштабируемых программных инструментов. Такие инструменты появились в конце 2000 годов и стали альтернативой традиционным базам данных и решениям Business Intelligence.
Термин Big Data появился в 2008 году. Впервые его употребил редактор журнала Nature - Клиффорд Линч. Он рассказывал про взрывной рост объемов мировой информации и отмечал, что освоить их помогут новые инструменты и более развитые технологии.
Анализ больших данных проводят для того, чтобы получить новую, р а- нее неизвестную информацию. Подобные открытия называют инсайтом, что означает озарение, догадку, внезапное понимание.
Источники больших данных:
Интернет (соцсети, форумы, блоги, СМИ и другие сайты);
Корпоративные архивы документов;
- Показания датчиков, приборов и других устройств.
Поскольку к категории Big Data относится огромное количество информации, которая зачастую (в отличии от классической трактовки данных) оказывается слабоструктурированной (или неструктурированной), а ее описание плохо поддается формализации, принципы работы с подобными данными требуют применения особых методов и подходов. В настоящей статье рассмотрены основные подходы к хранению и обработки больших данных.
Принципы работы с большими данными
Основные принципами работы с данными, относящимися к категории Big Data являются:
Горизонтальная масштабируемость. Это базовый принцип обработки больших данных. Как уже говорилось, больших данных с каждым днем становится все больше. Соответственно, необходимо увеличивать количество вычислительных узлов, по которым распределяются эти данные, причем обработка должна происходить без ухудшения производительности.
Отказоустойчивость. Этот принцип вытекает из предыдущего. Поскольку вычислительных узлов в кластере может быть много (иногда десятки тысяч) и их количество, не исключено, будет увеличиваться, возрастает и вероятность выхода машин из строя. Методы работы с большими данными должны учитывать возможность таких ситуаций и предусматривать пр е- вентивные меры.
Локальность данных. Так как данные распределены по большому количеству вычислительных узлов, то, если они физически находятся на о дном сервере, а обрабатываются на другом, расходы на передачу данных могут стать неоправданно большими. Поэтому обработку данных желательно проводить на той же машине, на которой они хранятся.
Эти принципы отличаются от тех, которые характерны для традицио н- ных, централизованных, вертикальных моделей хранения хорошо структурированных данных. Соответственно, для работы с большими данными разрабатывают новые подходы и технологии.
Методы и техники анализа больших данных
Международная консалтинговая компания McKinsey, специализирующаяся на решении задач, связанных со стратегическим управлением, выделяет 11 методов и техник анализа, применимых к большим данным:
Методы класса Data Mining (добыча данных, интеллектуальный анализ данных, глубинный анализ данных) - совокупность методов обнаружения в данных ранее неизвестных, нетривиальных, практически поле з- ных знаний, необходимых для принятия решений. К таким методам, в частности, относятся обучение ассоциативным правилам (Association Rule Learning), классификация (разбиение на категории), кластерный анализ, регрессионный анализ, обнаружение и анализ отклонений и другие.
Краудсорсинг - классификация и обогащение данных силами широкого, неопределённого круга лиц, выполняющих эту работу без вступления в трудовые отношения.
Смешение и интеграция данных (Data Fusion and Integration) - набор техник, позволяющих интегрировать разнородные данные из разнообразных источников с целью проведения глубинного анализа (например, цифровая обработка сигналов, обработка естественного языка, включая тональный анализ, и другие).
Машинное обучение (включая обучение с учителем и без учителя) - использование моделей, построенных на базе статистического анализа или машинного обучения для получения комплексных прогнозов на основе базовых моделей.
Искусственные нейронные сети, сетевой анализ, оптимизация, в том числе генетические алгоритмы ( Genetic Algorithms -- эвристические алгоритмы поиска, используемые для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе).
Распознавание образов.
Прогнозная аналитика.
Имитационное моделирование (Simulation) - метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в де й- ствительности. Имитационное моделирование можно рассматривать как разновидность экспериментальных испытаний.
Пространственный анализ (Spatial Analysis) - класс методов, использующих топологическую, геометрическую и географическую информацию, извлекаемую из данных.
Статистический анализ - анализ временных рядов, A/B- тестирование (A/B Testing, Split Testing - метод маркетингового исследования; при его использовании контрольная группа элементов сравнивается с набором тестовых групп, в которых один или несколько показателей были изменены, для того чтобы выяснить, какие из изменений улучшают целевой показатель)/
Визуализация аналитических данных - представление информации в виде рисунков, диаграмм, с использованием интерактивных возможностей и анимации как для получения результатов, так и для использования в качестве исходных данных для дальнейшего анализа. Очень важный этап анализа больших данных, позволяющий представить самые важные результаты анализа в наиболее удобном для восприятия виде.
Hadoop: MapReduce и HDFS
Hadoop - это проект фонда Apache Software Foundation, свободно распространяемый набор утилит, библиотек и фреймворков для разработки и выполнения распределённых программ, работающих на кластерах из сотен и тысяч узлов. хранение графический данный
В основе Hadoop лежит модель распределенных вычислений MapReduce и распределенная файловая система HDFS (Hadoop Distributed File System).
Модель MapReduce содержит в себе основные шаги Map и Reduce, названных аналогично функциям высшего порядка из многих языков программирования, применяемым на этих шагах.
Программы, использующие реализацию MapReduce, автоматически распараллеливаются и исполняются на кластере, состоящем из множества связанных между собой компьютеров. Исполнительная система сама заботится о деталях декомпозиции входных данных на части, планировании исполнения программы на наборе машин, обработке сбоев и управлении необходимым сообщением между машинами. Это позволяет программистам даже без опыта работы с параллельными и распределенными системами с легкостью использовать ресурсы больших распределенных систем.
Библиотеки, использующие модель MapReduce написаны на многих языках программирования. Популярная реализация с открытым исходным кодом является частью Apache Hadoop. Название MapReduce изначально было запатентованной технологией Google, но с тех пор было обобщено. К 2014 году в Google больше не использовали MapReduce в качестве своей основной модели обработки больших данных [1], а разработка Apache Mahout привела к более функциональным и менее диско-ориентированным механизмам, которые поддерживают возможности MapReduce [2].
Чаще всего фреймворки реализующие модель MapReduce осуществляют три операции (шага):
Map. Входные данные решаемой задачи представляют большой список значений, и на шаге Map происходит его предварительная обработка. Для этого главный узел кластера ( Master Node) получает этот список, делит его на части и передает рабочим узлам ( Worker Node). Каждый рабочий узел применяет функцию Map к локальным данным и записывает результат в формате «ключ-значение» во временное хранилище. Типичная структура операции Map представлена на рис. 1.
Рис. 1. Графическая интерпретация операции Map
Shuffle. Рабочие узлы перераспределяют данные на основе ключей (созданных функцией Map) так, что все данные, принадлежащие одному ключу, лежат на одном рабочем узле. Типичная структура операции Shuffle представлена на рис. 2.
Рис. 2. Графическая интерпретация операции Shuffle
Reduce. Рабочие узлы обрабатывают каждую группу результатов по порядку следования ключей. Главный узел получает промежуточные ответы от рабочих узлов и передаёт их на свободные узлы для выполнения следующего шага.
Получившийся после прохождения всех необходимых шагов результат - это решение задачи, которая изначально формулировалась. Типичная структура операции Reduce представлена на рис. 3.
Рис. 3. Графическая интерпретация операции Reduce
Hadoop Distributed File System (HDFS) - распределенная файловая система, которая обеспечивает высокоскоростной доступ к данным приложения.
HDFS является иерархической файловой системой. Таким образом, в HDFS имеется поддержка вложение каталогов. В каталоге может располагаться ноль или более файлов, а также любое количество подкаталогов.
HDFS состоит из следующих обязательных компонентов:
Узел имен (NameNode) - программный код, выполняющийся, в общем случае, на выделенной машине экземпляра HDFS и отвечающий за файловые операции (работу с метаданными);
Узел данных (DataNode) - программный код, как правило, выполняющийся выделенной машине экземпляра HDFS и отвечающий за операции уровня файла (работа с блоками данных).
Hadoop содержит единственный узел типа NameNode и произвольное количество узлов типа DataNode.
Основные концепции, заложенные при проектировании HDFS, и архитектурные решения, применяемые для реализации этих концепций, приведены ниже:
Объем данных. HDFS не должна иметь достижимых в обозримом будущем ограничений на объем хранимых данных. Архитектурные решения: HDFS хранит файлы поблочно. Блоки в HDFS распределены между узлами данных вычислительного кластера. Все блоки (кроме последнего блока файла) имеют одинаковый размер. Кроме этого блок может быть размещён на нескольких узлах.
Отказоустойчивость. HDFS расценивает выход из строя узла данных как норму, а не как исключение (и, действительно, вероятность выхода хотя бы одного узла из тысячи даже на надежном физическом оборудовании существенная). Архитектурные решения:
для обеспечения отказоустойчивости все данные в HDFS реплицируются настраиваемое количество раз;
защита от копирования поврежденных данных решена с помощью хранения контрольных сумм в отдельном скрытом файле;
копирование метаданных с помощью вторичного узла имен.
Самодиагностика. Диагностика исправности узлов в Hadoop-кластере не должна требовать дополнительного администрирования. Архитектурные решения:
Каждый узел данных через определенные интервалы времени отправляет диагностические сообщения узлу имен (узлы данных подробно будут рассмотрены ниже);
Логгирование операций над файлами в специальный журнал узла имен.
Производительность. В апреле 2008 года Hadoop побил мировой рекорд производительности в стандартизованном тесте производительности по сортировке данных - 1 ТБайт был обработан за 309 сек. на кластере из 910 узлов. Архитектурные решения:
Принцип «один раз записать - много раз прочитать» (Write-Once and Read-Many, WORM) полностью освобождает систему от блокировок типа «запись-чтение»; избавиться от конфликтов множественной записи проектировщики решили, разрешив запись в файл в одно время только одному процессу;
HDFS оптимизирован под потоковую передачу данных;
снизить нагрузку на каналы передачи данных (а именно эти каналы чаще всего являются узким местом в распределенных средах), а также более рационально использовать место на жестких дисках позволило сжатие данных
репликация происходит в асинхронном режиме;
хранение всех метаданных узла NameNode в оперативной памяти.
Заключение
Рассмотрены основные современные подходы к хранению и обработке больших данных. На примере технологии Hadoop описаны базовые принципы функционирования модели MapReduce.
Библиографические ссылки
1. Data Center Knowledge : site. 2020.
2. BIGDATA : site. 2020.
3. Basic Approaches to Storage and Analysis of Big Data
Размещено на Allbest.ru
...Подобные документы
Совершенствование технологий записи и хранения данных. Специфика современных требований к переработке информационных данных. Концепция шаблонов, отражающих фрагменты многоаспектных взаимоотношений в данных в основе современной технологии Data Mining.
контрольная работа [565,6 K], добавлен 02.09.2010Перспективные направления анализа данных: анализ текстовой информации, интеллектуальный анализ данных. Анализ структурированной информации, хранящейся в базах данных. Процесс анализа текстовых документов. Особенности предварительной обработки данных.
реферат [443,2 K], добавлен 13.02.2014Определенная логическая структура данных, которые хранятся в базе данных. Основные модели данных. Элементы реляционной модели данных. Пример использования внешних ключей. Основные требования, предъявляемые к отношениям реляционной модели данных.
презентация [11,7 K], добавлен 14.10.2013Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010Географическая информационная система как программный продукт, предназначенный для сбора, хранения, анализа и графической визуализации пространственных данных и информации об объектах: компоненты, структуры, модели, классификация; этапы ввода данных.
курс лекций [4,5 M], добавлен 07.02.2012Анализ предметной области и документирование результатов. Построение модели данных с использованием CASE-средства AllFusion Erwin Data Modeler. Задание базовых параметров систем, необходимых для построения модели данных. Результаты выполнения запроса.
курсовая работа [3,6 M], добавлен 13.12.2013Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.
курсовая работа [36,1 K], добавлен 29.01.2011Проблемы, связанные с продуктивным распределением и систематизированием больших потоков информации. Основные виды распределенных баз данных, анализ процессов их функционирования. Стратегии распределения данных. Распределение сетевого справочника данных.
курсовая работа [397,5 K], добавлен 09.08.2015Этапы статистического анализа данных, приемы и методы его проведения. Ключевые положения закона больших чисел в теории вероятностей, его общий смысл. Теорема Бернулли - простейшая форма закона больших чисел. Количество данных, способы его измерения.
реферат [112,3 K], добавлен 03.03.2014Метод анализа иерархий. Система для хранения больших объемов информации является база данных. База данных в наибольшей степени удовлетворяет всем выделенным критериям. Она обеспечивает быстрый поиск нужной информации (оперативность).
контрольная работа [326,9 K], добавлен 10.06.2004Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.
дипломная работа [3,9 M], добавлен 06.03.2013Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.
презентация [17,1 K], добавлен 19.08.2013Основы для проведения кластеризации. Использование Data Mining как способа "обнаружения знаний в базах данных". Выбор алгоритмов кластеризации. Получение данных из хранилища базы данных дистанционного практикума. Кластеризация студентов и задач.
курсовая работа [728,4 K], добавлен 10.07.2017Обзор пакетов программ, предназначенных для визуализации и анализа данных. Обоснование выбора среды программирования. Организация аварийного буфера. Передача данных от нижнего уровня к верхнему и сохранение данных. Отображение данных в графической форме.
дипломная работа [512,4 K], добавлен 28.08.2012Проведение системного анализа предметной области и разработка проекта по созданию базы данных для хранения информации о перевозках пассажиров и грузов. Обоснование выбора системы управления базой данных и разработка прикладного программного обеспечения.
курсовая работа [1,1 M], добавлен 18.07.2014Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012Основные типичные системы управления базами данных. Способы описания взаимодействий между объектами и атрибутами. Структурная и управляющая части иерархической модели базы данных. Представление связей, операции над данными в иерархической модели.
реферат [30,5 K], добавлен 22.02.2011Понятие медицинской информационной системы, принципы и подходы ее формированию и организации. Структура хранения данных, их ввод и предоставление. Программные способы формализации и проверки. Реализация и концептуальная модель базы данных, ее интерфейс.
дипломная работа [1,0 M], добавлен 19.06.2015Информационные методы обработки данных в Excel. Источники и организация данных. Внутренние источники данных. Методики подготовки данных к анализу средствами Excel. Обработка списков типа "один объект" - "одна запись" и "один объект" - "несколько записей".
реферат [798,6 K], добавлен 13.01.2011Модели данных как формальный аппарат для описания информационных потребностей пользователей. Структура информационной базы. Типы взаимосвязей. Разработка логической структуры базы для хранения данных о пяти поставщиках. Детализация реляционной модели.
презентация [28,9 K], добавлен 07.12.2013