2008-08-23 8 views

ответ

48

Трудно найти много о улья, но я нашел этот snippet на сайте улей, который опирается в значительной степени в пользу HBase (выделение жирным шрифтом добавлено):

Hive основана на Hadoop, который представляет собой систему пакетной обработки. Соответственно, эта система не делает и не может обещать низкие задержки по запросам. Парадигма здесь - это строгое задание и уведомление, когда задания заполняются в противоположность запросам в реальном времени. В результате его нельзя сравнивать с такими системами, как Oracle, где анализ выполняется на значительно меньшем количестве данных, но анализ проходит гораздо более итеративно, когда время отклика между итерациями составляет менее нескольких минут. Для времени ответа на запросы кустов даже для самых маленьких заданий может быть порядка 5-10 минут, а для больших заданий это может даже занять часы.

Поскольку HBase и HyperTable относятся к производительности (моделируется на BigTable от Google), они звучат так, как будто они будут намного быстрее, чем Hive, ценой функциональности и более высокой кривой обучения (например, они не имеют соединения или синтаксис типа SQL).

8

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

HBase - это хранилище ключевых значений на основе столбцов на основе BigTable. Вы не можете делать запросы как таковые, хотя вы можете выполнять работу по сокращению карты по сравнению с HBase. В основном случае используется выборка строк по ключевым словам или диапазоны сканирования строк. Основная особенность - иметь локальность данных при сканировании по диапазонам ключей строк для «семейства» столбцов.

11

С одной стороны, Hive состоит из пяти основных компонентов: грамматики и анализатора SQL, планировщика запросов, механизма выполнения запросов, хранилища метаданных и расположения столбчатых хранилищ. Основное внимание уделяется аналитическим рабочим нагрузкам в стиле хранилища данных, поэтому не требуется латентного поиска значений по ключу.

HBase имеет собственный репозиторий метаданных и расположение столбчатых хранилищ. Можно запросить запросы HiveQL по таблицам HBase, позволяя HBase использовать преимущества грамматики и анализатора Hive, планировщика запросов и механизма выполнения запросов. См. http://wiki.apache.org/hadoop/Hive/HBaseIntegration для получения более подробной информации.

5

К моему скромному знанию, Уль более сопоставим с Свиньи. Улей SQL-подобный, а Pig - это сценарий. Улей кажется более сложным с механизмами оптимизации запросов и выполнения, а также требует, чтобы конечные пользователи задавали параметры схемы (раздел и т. Д.). Оба предназначены для обработки текстовых файлов или sequenceFiles.

HBase предназначен для хранения данных ключа и получения ... вы можете сканировать или фильтровать по этим парам значений ключей (строк). Вы не можете выполнять запросы по строкам (ключ, значение).

3

Начиная с самых последних выпусков Hive, многое изменилось, что требует небольшого обновления как Hive and HBase are now integrated. Это означает, что Hive можно использовать в качестве слоя запроса для хранилища данных HBase. Теперь, если люди ищут альтернативные интерфейсы HBase, Pig также предлагает отличный способ loading and storing HBase data. Кроме того, похоже, что Cloudera Impala может предлагать существенные запросы на основе Hive на вершине HBase. Они требуют до 45 раз быстрее запросов по сравнению с традиционными установками Hive.

0

Для сравнения улей с Hbase, я хотел бы напомнить определение ниже:

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

Улей - это инфраструктура хранилища данных, построенная на вершине Hadoop, которая подходит для долговременных работ ETL. Hbase является база данных, разработанная для обработки транзакций в режиме реального времени

3

улей и HBase используются для различных purpose.

Hive:

Pros:

  1. Apache Hive является хранилища данных инфраструктуры построен на вершине Hadoop.
  2. Это позволяет запрашивать данные, хранящиеся на HDFS для анализа с помощью HQL, SQL-подобного языка, который будет преобразован в ряд Карты Уменьшить Работу
  3. Это только работает пакетные процессы на Hadoop.
  4. это JDBC совместимый, он также интегрируется с существующими средствами SQL на основе
  5. Hive поддерживает разделы
  6. Он поддерживает аналитическую обработку запросов данных, собранных в течение определенного периода времени

Cons :

  1. Это не поддерживает оператор обновления
  2. Он должен быть снабжен предопределенной схемой для сопоставления файлов и каталогов в столбцы

HBase:

Плюсов:

  1. Масштабируемая, распределенная база данных, который поддерживает структурированное хранилище данных для больших таблиц
  2. Он предоставляет случайный доступ для чтения/записи в режиме реального времени к вашим большим данным. Операции Hbase работать в режиме реального времени на базе данных, а не рабочие места MapReduce
  3. он поддерживает разделов в таблицы и таблицы дополнительно разбиты на семейства столбцов
  4. весы горизонтально с огромным количеством данных, с помощью Hadoop
  5. Обеспечивает доступ к данным на основе ключа при хранении или извлечении. Он поддерживает добавление или обновление строк.
  6. Поддержки versoning данных.

Минусы:

  1. Hbase запросы написаны на пользовательском языке, который должен быть выучен
  2. HBase не полностью ACID совместимый
  3. Это не может быть использован с сложным (например, соединения)
  4. Это также не полная замена HDFS при выполнении большой партии MapReduce

Резюме:

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

+0

Улей-0.14 и выше - жалоба ACID. – Farooque 2016-07-26 05:56:06