Что такое Apache HBase?
Apache HBase – это распределенное хранилище больших данных NoSQL с открытым исходным кодом. Оно обеспечивает произвольный, строго согласованный доступ к петабайтам данных в режиме реального времени. HBase очень эффективно справляется с обработкой больших и разреженных наборов данных.
HBase легко интегрируется с Apache Hadoop и экосистемой Hadoop и работает на основе распределенной файловой системы Hadoop (HDFS) или Amazon S3 с использованием файловой системы Amazon Elastic MapReduce (EMR), или EMRFS. HBase служит источником данных для ввода и вывода на платформе Apache MapReduce для Hadoop и работает с Apache Phoenix, обеспечивая возможность отправки запросов, похожих на SQL, к таблицам HBase.
Как работает HBase?
HBase – это нереляционная база данных, ориентированная на работу со столбцами. Это означает, что данные хранятся в отдельных столбцах и индексируются уникальным ключом строки. Такая архитектура дает возможность быстро извлекать отдельные строки и столбцы, а также эффективно просматривать отдельные столбцы в таблице. Данные и запросы распределяются по всем серверам кластера HBase, что дает возможность запрашивать результаты обработки петабайтов данных за считанные миллисекунды. HBase наиболее эффективно используется для хранения нереляционных данных, доступ к которым осуществляется через API HBase. Apache Phoenix обычно используется как уровень SQL на основе HBase, что дает возможность применять знакомый синтаксис SQL для вставки, удаления и отправки запросов данных, хранящихся в HBase.
В чем заключаются преимущества HBase?
Масштабируемость
Система HBase предназначена для масштабирования на тысячах серверов и управления доступом к петабайтам данных. Благодаря эластичности Amazon EC2 и масштабируемости Amazon S3 система HBase может обеспечивать онлайн-доступ к большим наборам данных.
Скорость
HBase обеспечивает произвольный доступ для чтения и записи к петабайтам данных с низкой задержкой, распределяя запросы от приложений по кластеру хостов. Каждый хост получает доступ к данным в HDFS и S3 и обрабатывает запросы на чтение и запись за считанные миллисекунды.
Отказоустойчивость
HBase разделяет данные, хранящиеся в таблицах, между несколькими хостами в кластере и выдерживает сбои в работе отдельных хостов. Поскольку данные хранятся в HDFS или S3, после обработки данных неработоспособным хостом для их размещения будут автоматически выбираться работоспособные хосты – и данные будут автоматически переданы в сеть.
Каковы примеры использования Hbase?
Агентство по регулированию деятельности финансовых институтов (FINRA) – это крупнейший независимый орган контроля рынка ценных бумаг в США, который занимается отслеживанием и регулированием процедур финансовой торговли. Агентство FINRA использует сервис Amazon EMR для запуска Apache HBase на Amazon S3, чтобы обеспечить работу интерактивного приложения для поиска и отображения связанных событий рынка. Приложение получает произвольный доступ к 3 трлн записей, количество которых увеличивается на миллиарды в день. Благодаря разделению вычислительных ресурсов и ресурсов хранения агентство FINRA может хранить в Amazon S3 одну копию данных и адаптировать размер кластера для получения необходимого объема вычислительных ресурсов, а не для хранения данных в файловой системе HDFS с трехкратной репликацией. Такой подход позволяет сократить ежегодные затраты на 60 %, легко масштабировать вычислительные ресурсы, а также сократить время восстановления кластера в новой зоне доступности EC2 с нескольких дней до менее 30 минут.
Компания Monster, мировой лидер в сфере поиска работы и персонала, использует Apache HBase в Amazon EMR для хранения истории посещений и данных рекламных кампаний с целью их последующего анализа. Это позволяет отслеживать эффективность рекламных кампаний для разных категорий клиентов с детализацией вплоть до отдельного показа. Группа аналитиков компании Monster может без труда найти по строкам количество просмотров и переходов каждого пользователя, чтобы определить активность кампании. Кроме того, они пользуются преимуществами тесной интеграции Apache HBase с семейством инструментов Apache Hadoop. C помощью приложения Apache Hive, установленного на отдельном кластере Amazon EMR, компания Monster отправляет SQL-запросы к таблице Apache HBase, что позволяет провести дополнительный анализ и экспортировать данные из Apache HBase в Amazon Redshift.
Как AWS поддерживает HBase и Hadoop?
Сервис Amazon EMR предоставляет самую простую, быструю и экономичную управляемую платформу Hadoop, на которой пользователи могут обрабатывать огромные объемы данных в динамически масштабируемых инстансах EC2. Пользователи также могут запускать в EMR другие популярные распределенные платформы, такие как Apache HBase, Hive, Spark, Presto и Flink.
Подробнее об Amazon EMR
Создайте бесплатный аккаунт AWS и начните работу с Apache HBase на базе AWS уже сегодня.
AWS: дальнейшие шаги
Получите мгновенный доступ к уровню бесплатного пользования AWS.