Сравнительное изучение Hadoop и традиционной реляционной базы данных сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Сочинение на тему Сравнительное изучение Hadoop и традиционной реляционной базы данных

Большие данные часто относятся просто к использованию предиктивной аналитики, анализа поведения пользователя или некоторых других расширенных методов анализа данных, которые извлекают ценность из данных и редко достигают определенного размера набора данных. Объем данных, которые создаются и хранятся на глобальном уровне, практически невообразим, и он просто продолжает расти. Это означает, что существует еще больший потенциал для сбора ключевой информации из деловой информации, однако фактически анализируется лишь небольшой процент данных. Что это значит для бизнеса? Как они могут лучше использовать необработанную информацию, которая поступает в их организации каждый день? Анализ наборов данных может найти новые корреляции для «выявления тенденций бизнеса, предотвращения болезней, борьбы с преступностью и т. Д.» ». Если данные удовлетворяют этим 4 характеристикам (объем, разнообразие, скорость и скорость), они называются большими данными, которые требуют распределенной обработки в реальном времени. Для обработки этого огромного количества текущих данных они разработали эти методы Hadoop.

Hadoop – это программная среда с открытым исходным кодом для хранения данных и запуска приложений на кластерах стандартного оборудования. Он обеспечивает массивное хранилище для любого типа данных, огромную вычислительную мощность и возможность обрабатывать практически неограниченные параллельные задачи или задания. Hadoop имеет две основные системы: распределенную файловую систему Hadoop (HDFS) и механизм MapReduce. Наилучшее преимущество, которое обеспечивает HDFS, – это поддержка неструктурных данных, таких как шаблон покупок, где СУБД разбивается на большее количество, даже несмотря на то, что мы поддерживаем такие типы данных BLOB. Таким образом, всякий раз, когда у нас есть небольшое количество структурированных или полуструктурированных данных и требуются регулярные операции DML, лучше использовать традиционные СУБД, а когда объем данных большой и требует только хранения данных, лучше использовать HDFS, например. поисковый движок.

Эта статья посвящена сравнению Hadoop и традиционной реляционной базы данных. Он также фокусируется на характеристиках и преимуществах Hadoop. Большие данные – это очень знакомый термин, который описывает объем данных, который представляет собой структурные, полуструктурные и субструктурные данные, которые потенциально могут быть добыты для информации. Хотя большие данные не относятся к какому-либо конкретному количеству, этот термин часто используется, когда речь идет о байтах домашних животных и Exabyte данных.

В мире больших данных просто объем, скорость и разнообразие данных делают большинство обычных технологий неэффективными. Таким образом, чтобы преодолеть свою беспомощность, такие компании, как Google и Yahoo! Нужно было найти решения для управления всеми данными, которые их серверы собирали эффективным и экономичным способом. Hadoop изначально был создан Yahoo! Инженер Даг Каттинг в качестве противовеса Google BigTable. Hadoop была попыткой Yahoo! Разбить проблему больших данных на маленькие кусочки, которые можно обрабатывать параллельно. Hadoop – это проект с открытым исходным кодом, доступный по лицензии Apache License 2.0, который широко используется многими компаниями для успешного управления большими порциями данных.

История HADOOP: –

В начале 2000-х годов для поиска релевантной информации и текстового контента были созданы поисковые системы. В первые годы результаты поиска обрабатывались людьми. Но поскольку сеть выросла с десятков до миллионов страниц, автоматизация была необходима. Так появились поисковые системы, такие как Yahoo, AltaVista.

Они начали один такой проект, который представлял собой поисковую систему с открытым исходным кодом под названием Nutch – детище Doug Cutting и Mike Cafarella. Они хотели быстрее возвращать результаты веб-поиска, распределяя данные и расчеты по разным компьютерам, чтобы можно было выполнять несколько задач одновременно. В это время еще один проект поисковой системы под названием Google находился в процессе. Он был основан на той же концепции – хранение и обработка данных распределенным, автоматическим способом, чтобы соответствующие результаты веб-поиска могли быть возвращены быстрее.

В 2006 году Каттинг присоединился к Yahoo и взял с собой проект Nutch, а также идеи, основанные на ранней работе Google по автоматизации распределенного хранения и обработки данных. Проект Nutch был разделен – часть поискового робота осталась за Nutch, а часть распределенных вычислений и обработки стала Hadoop (названной в честь игрушечного слона сына Каттинга). В 2008 году Yahoo выпустила Hadoop как проект с открытым исходным кодом. Сегодня структура и экосистема технологий Hadoop управляются и поддерживаются некоммерческим Apache Software Foundation (ASF), глобальным сообществом разработчиков и разработчиков программного обеспечения.

Сравнение базы данных Hadoop и традиционной реляционной базы данных: –

Как и Hadoop, традиционные СУБД не могут использоваться, когда речь идет об обработке и хранении большого количества данных или просто больших данных. Ниже приведены некоторые различия между Hadoop и традиционной СУБД.

     

  1. Hadoop – это не база данных, а платформа, которая позволяет вам сначала хранить большие данные в распределенной среде, чтобы вы могли обрабатывать их параллельно. HBase или Impala могут рассматриваться как базы данных.
  2.  

  3. СУБД работает лучше, когда объем данных невелик (в гигабайтах). Но когда объем данных огромен, т. Е. В терабайтах и ​​петабайтах, СУБД не дает желаемых результатов. С другой стороны, Hadoop работает лучше, когда размер данных большой. Он может достаточно эффективно обрабатывать и хранить большой объем данных по сравнению с традиционной СУБД.
  4.  

  5. За свойствами ACID следуют традиционные базы данных / RDBMS – атомарность, согласованность, изоляция и долговечность. С Hadoop дело обстоит иначе.
  6.  

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

     

  7. Hadoop предлагает огромные возможности по обработке и хранению при очень низкой сравнимой стоимости с RDBMS.
  8.  

  9. для обработки больших объемов данных могут выполняться параллельно, поскольку Hadoop предлагает отличные возможности параллельной обработки.
  10.  

  11. Обычно СУБД управляет большим объемом данных в своем кеше для ускорения обработки и в то же время поддерживает согласованность чтения между сеансами. Но Hadoop лучше справляется с использованием кэша памяти для обработки данных, не предлагая никаких других элементов, таких как согласованность чтения.
  12.  

  13. Для задач параллельной обработки Hadoop является очень хорошим решением – например, при нахождении набора ключевых слов в большом наборе документов такая операция может быть распараллелена. Однако, как правило, реализации СУБД будут быстрее для сопоставимых наборов данных.
  14.  

  15. Hadoop может быть полезен, если у вас много данных, и вы не знаете, что с ними делать, и если вы не хотите их потерять. Это не требует какого-либо моделирования. Но в РСУБД вы всегда должны моделировать свои данные.
  16.  

  17. Если размер или тип данных таковы, что вы не можете сохранить их в СУБД, перейдите на Hadoop. Одним из таких примеров является каталог продукции. Транспортное средство имеет другие атрибуты, чем телевизор. Трудно создать новую таблицу для каждого типа продукта.
  18.  

  19. . Ниже приведена таблица, снова показывающая сравнение между Hadoop и RDBMS.

Работа HADOOP: – Hadoop имеет две основные системы:

     

  1. Распределенная файловая система Hadoop (HDFS): система хранения для Hadoop, распределенная по нескольким компьютерам в качестве средства снижения затрат и повышения надежности.
  2.  

  3. Движок MapReduce: алгоритм, который фильтрует, сортирует и затем каким-то образом использует входные данные базы данных.

1. Как работает HDFS?

После того, как данные записаны на сервере с помощью распределенной файловой системы Hadoop, их можно будет впоследствии многократно читать и использовать повторно. По сравнению с действиями чтения / записи других файловых систем это объясняет скорость, с которой работает Hadoop, то есть она очень быстрая. По этой причине HDFS является отличным выбором для обработки больших объемов и скорости данных, необходимых сегодня.

Каждый кластер HDFS содержит следующее:

NameNode: работает на «главном узле», который отслеживает и направляет хранилище кластера. DataNode: работает на «подчиненных узлах», которые составляют большинство машин в кластере. NameNode указывает, что файлы данных должны быть разбиты на блоки, каждый из которых реплицируется три раза и сохраняется на компьютерах в кластере. Эти реплики гарантируют, что вся система не выйдет из строя, если один сервер выйдет из строя или будет переведен в автономный режим – известный как «отказоустойчивость». Клиентский компьютер: ни NameNode, ни DataNode, на клиентских компьютерах не установлен Hadoop. Они несут ответственность за загрузку данных в кластер, отправку заданий MapReduce и просмотр результатов задания после его завершения.

В HDFS он имеет основной «NameNode» и несколько «узлов данных» в обычном аппаратном кластере. Все узлы обычно организованы в одной физической стойке в центре обработки данных. Затем данные разбиваются на отдельные «блоки», которые распределяются между различными узлами данных для хранения. Блоки также реплицируются между узлами, чтобы уменьшить количество ошибок.

NameNode – это «умный» узел в кластере. Он точно знает, какие блоки находятся в каком узле данных и где узлы данных находятся в кластере компьютеров. NameNode также управляет доступом к файлам, включая чтение, запись, создание, удаление и репликацию блоков данных на разных узлах данных.

Для выполнения определенной задачи узлы данных постоянно связываются с NameNode. Постоянная связь гарантирует, что NameNode всегда знает о состоянии каждого узла данных. Поскольку NameNode назначает задачи отдельным узлам данных, должен ли он понимать, что узел данных не функционирует должным образом, он может немедленно переназначить задачу этого узла другому узлу, содержащему этот же блок данных? Узлы данных также взаимодействуют друг с другом, чтобы они могли взаимодействовать во время обычных файловых операций. Очевидно, что NameNode имеет решающее значение для всей системы и должен быть реплицирован для предотвращения сбоя системы.

Опять же, блоки данных реплицируются на несколько узлов данных, и доступ управляется с помощью NameNode. Это означает, что когда узел данных больше не отправляет «жизненный сигнал» на узел NameNode, узел NameNode сопоставляет примечание с данными из кластера и продолжает работать с другими узлами данных, как будто ничего не произошло. Когда этот узел данных возвращается к жизни или обнаруживается другой (новый) узел данных, этот новый узел данных (повторно) добавляется в систему. Вот что делает HDFS устойчивой и самовосстанавливающейся. Поскольку блоки данных реплицируются на несколько узлов данных, сбой одного сервера не повредит файл. Степень репликации и количество узлов данных настраиваются при внедрении кластера, и их можно динамически настраивать во время работы кластера.

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

2. Hadoop MapReduce в действии: –

Hadoop MapReduce – это реализация алгоритма MapReduce, разработанного и поддерживаемого проектом Apache Hadoop. Общая идея алгоритма MapReduce состоит в том, чтобы разбить данные на более мелкие управляемые части, параллельно обрабатывать данные в распределенном кластере и затем объединять их в желаемый результат или вывод.

Hadoop MapReduce включает в себя несколько этапов, каждый из которых содержит важный набор операций, предназначенных для обработки больших данных. Первый шаг для программы – найти и прочитать «входной файл», содержащий необработанные данные. Поскольку формат файла произвольный, данные должны быть преобразованы во что-то, что может обработать программа. Это функция «InputFormat» и «RecordReader» (RR). InputFormat решает, как разбить файл на более мелкие части (используя функцию InputSplit). Затем RecordReader преобразует необработанные данные для обработки картой. Результатом является последовательность пар «ключ» и «значение».

Как только данные находятся в форме, приемлемой для отображения, каждая пара данных ключ-значение обрабатывается функцией отображения. Для отслеживания и сбора выходных данных программа использует «OutputCollector». Другая функция под названием «Reporter» предоставляет информацию, которая позволяет узнать, когда отдельные задачи сопоставления завершены.

После того как все сопоставления выполнены, функция Reduce выполняет свою задачу для каждой пары выходных ключ-значение. Наконец, функция OutputFormat берет эти пары ключ-значение и организует вывод для записи в HDFS, что является последним этапом программы.

Hadoop MapReduce – это сердце системы Hadoop. Он способен обрабатывать данные очень устойчивым, отказоустойчивым способом. Очевидно, что это всего лишь обзор более крупной и растущей экосистемы с инструментами и технологиями, адаптированными для решения современных проблем больших данных.

Другие программные компоненты, которые могут работать поверх Hadoop или рядом с ним и которые достигли статуса проекта Apache верхнего уровня, включают в себя:


     

  • Амбари
  •  

    Веб-интерфейс для управления, настройки и тестирования сервисов и компонентов Hadoop.

     

  • Кассандра
  •  

    Система распределенных баз данных.

     

  • Flume
  •  

    Программное обеспечение, которое собирает, объединяет и перемещает большие объемы потоковых данных в HDFS.

     

  • HBase
  •  

    Нереляционная распределенная база данных, которая работает поверх Hadoop. Таблицы HBase могут служить входом и выходом для заданий MapReduce.

     

  • HCatalog
  •  

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

     

  • Улей
  •  

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

     

  • Узи
  •  

    Планировщик заданий Hadoop.

     

  • Свинья
  •  

    Платформа для манипулирования данными, хранящимися в HDFS, включая …

Зарегистрируйся, чтобы продолжить изучение работы

    Поделиться сочинением
    Ещё сочинения
    Нет времени делать работу? Закажите!

    Отправляя форму, вы соглашаетесь с политикой конфиденциальности и обработкой ваших персональных данных.