Это своего рода наивный вопрос, но я новичок в парадигме NoSQL и мало о ней знаю. Итак, если кто-то может помочь мне четко понять разницу между HBase и Hadoop или дать несколько указателей, которые могут помочь мне понять разницу.
До сих пор я провел небольшое исследование и соотв. Насколько я понимаю, Hadoop предоставляет основу для работы с необработанными фрагментами данных (файлов) в HDFS, а HBase - это механизм базы данных над Hadoop, который в основном работает со структурированными данными вместо фрагмента необработанных данных. Hbase обеспечивает логический слой поверх HDFS, как и SQL. Это правильно?
Пожалуйста, не стесняйтесь поправлять меня.
Спасибо.
Ответы:
Hadoop - это, по сути, три вещи: FS (распределенная файловая система Hadoop), вычислительная структура (MapReduce) и мост управления (еще один согласователь ресурсов). HDFS позволяет хранить огромные объемы данных распределенным (обеспечивает более быстрый доступ для чтения / записи) и избыточным (обеспечивает лучшую доступность). А MapReduce позволяет обрабатывать эти огромные данные распределенным и параллельным образом. Но MapReduce не ограничивается только HDFS. HDFS, являющаяся FS, не имеет возможности произвольного чтения / записи. Это хорошо для последовательного доступа к данным. И здесь на сцену выходит HBase. Это база данных NoSQL, которая работает поверх вашего кластера Hadoop и предоставляет вам произвольный доступ для чтения / записи в реальном времени к вашим данным.
Вы можете хранить как структурированные, так и неструктурированные данные в Hadoop и HBase. Оба они предоставляют вам несколько механизмов для доступа к данным, например оболочку и другие API. Кроме того, HBase хранит данные в виде пар ключ / значение в виде столбцов, а HDFS хранит данные в виде плоских файлов. Некоторые из характерных особенностей обеих систем:
Hadoop
HBase
Hadoop больше всего подходит для автономной пакетной обработки, в то время как HBase используется, когда у вас есть потребности в реальном времени.
Аналогичное сравнение будет между MySQL и Ext4.
источник
Проект Apache Hadoop включает четыре ключевых модуля
HBase - это масштабируемая распределенная база данных, которая поддерживает хранение структурированных данных для больших таблиц. Подобно
Bigtable
использованию распределенного хранилища данных, предоставляемого файловой системой Google, Apache HBase предоставляет возможности, подобные Bigtable, поверх Hadoop и HDFS.Когда использовать HBase:
Но у HBase есть некоторые ограничения
Резюме:
Посмотрите, что можно и чего нельзя делать в HBase из блога cloudera .
источник
Hadoop использует распределенную файловую систему, то есть HDFS для хранения больших данных. Но существуют определенные ограничения HDFS и Inorder для преодоления этих ограничений, появились базы данных NoSQL, такие как HBase, Cassandra и Mongodb.
Hadoop может выполнять только пакетную обработку, а доступ к данным будет осуществляться только последовательно. Это означает, что нужно выполнять поиск по всему набору данных даже для простейших заданий. Обработка огромного набора данных приводит к другому огромному набору данных, который также следует обрабатывать последовательно. На этом этапе требуется новое решение для доступа к любой точке данных за одну единицу времени (произвольный доступ).
Как и все другие файловые системы, HDFS предоставляет нам хранилище, но отказоустойчивым образом с высокой пропускной способностью и меньшим риском потери данных (из-за репликации). Но, будучи файловой системой, HDFS не имеет произвольного доступа для чтения и записи. Здесь на сцену выходит HBase. Это распределенное масштабируемое хранилище больших данных, созданное по образцу Google BigTable. Кассандра чем-то похожа на hbase.
источник
И HBase, и HDFS в одном изображении
HDFS - это распределенная файловая система, которая хорошо подходит для хранения больших файлов. который не обеспечивает быстрый поиск отдельных записей в файлах.
HBase , с другой стороны, построен на основе HDFS и обеспечивает быстрый поиск (и обновление) записей для больших таблиц. Иногда это может вызвать концептуальную путаницу. HBase внутренне помещает ваши данные в индексированные «StoreFiles», которые существуют в HDFS, для быстрого поиска.
Что ж, на уровне инфраструктуры у каждой мази-машины в кластере есть следующие демоны
HBase обеспечивает быстрый поиск в HDFS (иногда и в других распределенных файловых системах) в качестве базового хранилища, используя следующую модель данных
Стол
Строка
колонка
Семейство колонн
Классификатор столбца
клетка
Отметка
Поток клиентских запросов на чтение:
Что представляет собой мета-таблица на картинке выше?
источники и дополнительная информация:
источник
Ссылка: http://www.quora.com/What-is-the-difference-between-HBASE-and-HDFS-in-Hadoop
Hadoop - общее название для нескольких подсистем: 1) HDFS. Распределенная файловая система, которая распределяет данные по кластеру машин, обеспечивая избыточность и т. Д. 2) Map Reduce. Система управления заданиями поверх HDFS - для управления заданиями map-reduce (и другими типами), обрабатывающими данные, хранящиеся в HDFS.
В основном это означает, что это автономная система - вы храните данные в HDFS и можете обрабатывать их, выполняя задания.
HBase, с другой стороны, в базе данных на основе столбцов. Он использует HDFS в качестве хранилища, которое заботится о резервном копировании \ повторении \ и т. Д., Но это «интернет-магазин», то есть вы можете запросить у него конкретную строку \ строки и т. Д. И получить немедленное значение.
источник
HDFS - это распределенная файловая система на основе Java, которая позволяет хранить большие данные на нескольких узлах в кластере Hadoop. В то время как HBase - это база данных NoSQL (похожая на NTFS и MySQL).
Поскольку и HDFS, и HBase хранят все виды данных, такие как структурированные, полуструктурированные и неструктурированные, в распределенной среде.
Различия между HDFS и HBase
HDFS хранит большие наборы данных в распределенной среде и использует пакетную обработку этих данных.
В то время как HBase хранит данные в виде столбцов, где каждый столбец хранится вместе, поэтому чтение становится быстрее за счет обработки в реальном времени.
источник