Файл: Операции, производимые над данными.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 78

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

После создания распределенной файловой системы необходимо добавить данные. Нужно переместить данные из одного источника в другой, именно здесь в полной мере проявляются достоинства таких инфраструктур интеграции данных, как Apache Sqoop и Apache Flume. Процесс похож на процесс извлечения, преобразования и загрузки в традиционных складах данных.

Когда данные оказываются на своем месте, наступает время извлечения вожделенной скрытой информации. На этой стадии приходится использовать методы из области машинного обучения, статистики и прикладной математики. До второй мировой войны все вычисления приходилось выполнять вручную, что существенно ограничивало возможности анализа данных. [7] После второй мировой войны появились компьютеры и технологии научных вычислений. Один компьютер мог выполнять огромные объемы вычислений, и перед исследователями открылся новый мир. Со времен этой научной революции человеку достаточно построить математические формулы, записать их в алгоритм и загрузить данные. При огромных объемах современных данных один компьютер уже не справлялся с нагрузкой. Более того, некоторые алгоритмы, разработанные в предыдущем веке, никогда не завершатся до момента гибели Вселенной, даже если бы в вашем распоряжении оказались вычислительные ресурсы всех существующих компьютеров на земле. Этот факт связан с их временной сложностью. Пример такого алгоритма – попытка взлома пароля с проверкой всех возможных комбинаций. Один из самых серьёзных недостатков старых алгоритмов заключается в том, что они плохо масштабировались. При тех объемах данных, которые приходится анализировать сегодня, это создает проблемы, и для работы с такими объемами данных требуются специализированные библиотеки и инфраструктуры. [8] Самая популярная библиотека машинного обучения для Python называется Scikitlearn. Это отличный инструмент машинного обучения, и большинство специалистов в этой области активно использует её. Хотя конечно существуют и другие библиотеки Python. Конечно, варианты не ограничиваются библиотеками Python. Spark – новое ядро машинного обучения с лицензией Apache, специализирующееся на машинном обучении в реальном времени. [8]

3.2 БАЗЫ ДАННЫХ NOSQL

Для хранения данных требуется программное обеспечение, а для больших данных – специализированное программное обеспечение, которое могло было бы управлять данными и формировть запросы к ним. Традиционно в этой области правил бал реляционные базы данных – такие как Oracle Sql, Mysql, Sybase IQ и др. И хотя во многих ситуациях они все ещё считаются предпочтительным решением, появились новые типы баз данных, объединенные в категорию баз данных Nosql. [8]


Название категории обманчиво, потому что ”No” в этом контексте ознает не только. Нехватка функциональности в SQL не является основной причиной сдвига парадигмы, и многие базы данных NoSQL реализовали собственную версию SQL. Однако у традиционных баз данных существуют свои недостатки, которые усложняют их масштабирование. Решая некоторые проблемы традиционных баз данных, базы данных NoSQL обеспечивают возможность почти неограниченного роста данных. Эти недостатки проявляются во всем, что относится к большим данным: их память и вычислительный ресурс не масштабируется за пределы одного узла и в традиционных базах данных отсутствуют средства обработки потоковых, графовых и неструктурированных форм данных. [8]

Существует много разновидностей баз данных, но их можно разделить на следующие типы:

Столбцовые базы данных – данные организуются в столбцы, что позволяет алгоритмам существенно повышать скорость обработки запросов. В более современных технологиях используется принцип хранения по ячейкам. Табличные структуры продолжают играть важную роль в обработке данных. [7]

Хранилища документов - хранилища документов не используют таблицы, но хранят полную информацию о документе. Их отличительной особенностью является чрезвычайно гибка схема данных

Потоковые данные – сбор, преобразование и агрегирование данных осуществляется не по пакетному принципу, а в реальном времени. Хотя мы выделили потоковые данные в категорию баз данных, чтобы упростить выбор инструмента, скорее они образуют особую разновидность задач, породившую такие технологии, как Storm. [8]

Хранилища «ключ-значение» - данные не хранятся в таблицах, с каждым значением связан ключ.

SQL в Hadoop – пакетные запросы в Hadoop пишутся на SQL-подобном языке, во внутренней реализации которого используется инфраструктура отображения свертки (map-reduce)

Обновленный SQL – этот тип сочетает масштабируемость баз данных NoSQL с преимуществом реляционных баз данных. Все эти базы данных используют интерфейс SQL и реляционную модель данных [8]

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

Инструменты планирования упрощают автоматизацию повторяющихся операций и запуск заданий по событиям (например, при появляении нового файла в папке). Они похожи на такие традиционные программы, как CRON в Linux, но разработаны специально для операций с данными. Например, такие инструменты могут запускать MapReduce при появляении нового набора данных в каталоге. [8]


Стоит упомянуть безопасность. При обеспечении безопасности нужно организовывать механизмы точного управления доступом к данным, но делать это на уровне каждого приложения – ещё та головная боль. Средства безопасности больших данных позволяют создать централизованную и высокоточную систему управления доступом к данным. Безопасность больших данных превратилась в самостоятельную область исследований, и специалисты data science обычно сталкиваются с ней в роли потребителей данных, редко когда им приходится реализовывать средства безопасности самостоятельно. [8]

Существуют инструменты сравнительного анализа. Этот класс инструментов был разработан для оптимизации установки больших данных за счет предоставления стандартизированных профилей. Профили строятся на основании представительного множества операций с данными. Задачи сравнительного анализа и оптимизации инфраструктуры больших данных и настройки конфигурации часто относятся к компетенции не специалистов data science, а профессионалов, специализирующихся на организации IT-инфраструктуры. Использование оптимизированной инфраструктуры приводит к существенной экономии. Например, экономия 10% в кластере из 100 серверов равна стоимости 10 серверов. [7]

Само же развертывание системы и подготовка инфраструктуры данных – непростая задача. Инструменты развертывания системы проявляют себя при развертывании новых приложений в кластерах больших данных. Они в значительной степени автоматизируют установку и настройку компонентов в данных. [7]

Предположим, мы создали приложение для прогнозирования результатов футбольных матчей и теперь хотим предоставить всем желающим доступ к прогнозам нашего приложения. Однако, мы понятия не имеем какие архитектуры или технологии будут использоваться в их системах. Инструменты программирования служб обеспечивают доступ к приложениям данных как к сервису. В разработке архитектуры управления данными иногда приходится открывать доступ к моделям через службы. Самым известным примером такого рода является REST-служба. Сокращение REST обозначает Representation State Transfer, т.е передача состояния представления. Эти службы часто используются для передачи данных веб-сайтам. [7]

3.3 СВЯЗИ И КЛАССИФИКАЦИИ ДАННЫХ

Данные - обобщающий термин для любых наборов информации, достаточно объемных и сложных, чтобы от их обработки можно было бы добиться какого-то определённого результата. Данные можно охарактеризовать «четырьмя V»: объемом, разнообразием, скоростью и достоверностью. Основным содержанием data science являются методы аналаза наборов данных, от совсем небольших до гигантских. [7] Процесс data science сам по себе нелинеен, но его можно разделить на несколько шагов:


  1. Назначение цели исследования.
  2. Сбор данных
  3. Подготовка данных
  4. Исследование данных
  5. Моделирование.
  6. Отображение и автоматизация

Набор технологий данных вовсе не сводится к табличным методам представления информации. [8]Он состоит из множества разных технологий, которые можно разбить на следующие категории:

  • Файловая система
  • Инфраструктуры распределенного программирования
  • Интеграция данных
  • Базы данных
  • Машинное обучение
  • Безопасность
  • Планирование
  • Сравнительный анализ
  • Развертывание
  • Программирование служб

Не все категории больших данных интенсивно используются специалистами data science. В основном они занимаются файловыми системами, инфраструктурами распределенного программирования, базами данных и машинным обучением. Конечно, им приходится иметь дело с другими компонентами, и все же эти предметные области относятся к сфере деятельности других профессий. [7]

Данные могут существовать во многих формах. Основные формы:

  • Структурированные данные
  • Неструктурированные данные
  • Данные на естественном языке
  • Машинные данные
  • Графовые данные
  • Потоковые данные

Структурированный подход к data science повышает вероятность успеха в проектах при минимальных издержках. [8] Он также делает возможным коллективную работу над проектом, при которой каждый участник группы занимается той областью, в которой наиболее силен. Однако, этот подход не годится для всех типов проектов и не является единственно правильным подходом к качественной обработке и анализу данных.

ЗАКЛЮЧЕНИЕ

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