Модель HBase в Hadoop
В этой статье мы обсудим, что такое Hbase, различные типы подходов к хранению данных, почему HBase предпочтительнее других баз данных, преимущества и проблемы в HBase. Итак, давайте немного углубимся в эту статью, чтобы понять концепцию Что ж.
HBase :
HBase — это база данных, которая является платформой с открытым исходным кодом и представляет собой реализацию архитектуры хранения Google Big Table. База данных HBase ориентирована на столбцы, что делает ее уникальной среди других баз данных. Одним из уникальных качеств Hbase является то, что он не заботится о типах данных, потому что мы можем хранить разные типы данных для одного и того же столбца в разных строках. Он содержит различные наборы таблиц, в которых хранятся данные в формате ключ-значение. Hbase лучше всего подходит для разреженных наборов данных, которые очень распространены в случае больших данных. Его можно использовать для управления структурированными и частично структурированными данными, и он имеет множество встроенных функций, таких как:
- Масштабируемость
- Версии
- Сжатие
- Вывоз мусора
Существует два типа носителей информации:
- Ряд-ориентированный
- Колонно-ориентированный
Ориентирован на строку:
В подходе к хранению данных, ориентированном на строки, данные сохраняются и извлекаются по одной строке за раз. Это может привести к нескольким проблемам, предположим, нам нужна только часть данных из строки, но в соответствии с этим подходом вы должны получить всю строку, даже если она вам не нужна. Кроме того, этот подход также служит для получения справки в случае работы систем OLTP и помогает легко читать и записывать записи. Но он менее эффективен в случае, когда мы выполняем операции над полной базой данных.
Ориентировано на столбцы:
В подходе хранения данных, ориентированном на столбцы, данные хранятся и извлекаются на основе столбцов. Таким образом, проблема, с которой мы столкнулись в случае построчного подхода, была решена, потому что в столбцовом подходе мы можем отфильтровать нужные нам данные из всего набора данных с помощью соответствующих столбцов. При подходе, ориентированном на столбцы, операции чтения и записи выполняются медленнее, чем другие, но он может быть эффективным при выполнении операций со всей базой данных и, следовательно, обеспечивает очень высокую степень сжатия.
Предпочтение HBase:
- Hbase может очень легко обрабатывать большие базы данных по сравнению с другими базами данных и эффективно выполнять операции.
- Данные, ожидаемые в Hbase, хорошо структурированы и легко помещаются в четко определенную схему.
- Это просто и подходит для операций с низкой задержкой.
- Он обеспечивает доступ к определенной строке из тысяч записей.
- Доступ к данным в Hbase можно получить с помощью команд оболочки или через клиентский API в java.
- Другие базы данных работают очень медленно, в то время как большие базы данных, но в случае Hbase он обрабатывает большие базы данных ограниченным образом.
Преимущества HBase:
- Hbase предоставляет отличные возможности для аналитики в сочетании с Hadoop MapReduce.
- Он способен обрабатывать очень большое количество баз данных.
- Hbase предоставляет возможность совместного использования базы данных с другими пользователями.
- Существует множество операций, таких как чтение и обработка данных, которые занимают меньше времени по сравнению с другими традиционными базами данных.
- Всякий раз, когда возникает сбой или проблема с распределением нагрузки, Hbase может автоматически восстановиться после проблемы, поскольку она распределена внутри.
- В Hbase масштабируемость поддерживается как в линейной, так и в модульной формах.
- Он обеспечивает большую консистенцию.
Проблемы в HBase:
- В HBase требования к блокам памяти и требования к оборудованию для выделения во время операции обходятся дорого.
- Хранить большой файл в двоичном формате в HBase очень сложно.
- В HBase нет оптимизатора запросов, из-за чего он не может выполнять функции SQL, а также не поддерживает структуры SQL.
- Хотя Hbase предоставляет множество функций, он не может служить полной заменой традиционных моделей, поскольку некоторые традиционные функции все еще не поддерживаются HBase.
- Hbase не обеспечивает поддержку транзакций.
- HBase не поддерживает функции индексирования по умолчанию.