22
BigData inside Архитектурные изыскания в HBase Анатолий Никулин

HBase inside

Embed Size (px)

DESCRIPTION

HBase Architecture. BigData

Citation preview

Page 1: HBase inside

BigData insideАрхитектурные изыскания в HBase

Анатолий Никулин

Page 2: HBase inside

BigData

● Технологии позволяющие обработать такие объемы данных, которые ранее считались недостижимыми. Данных так много, и скорость их обработки настолько велика, что необходим совершенно другой подход, к обработке таких данных.

● Сотни миллионов и миллиарды записей

● Петабайты данных

● Распределенная архитектура

● Volume, Velocity, Variety (3V) Объем

СкоростьРазнообразие

Вперед к рекордам: 1 ТБайт был обработан за 209 сек. на Hadoop кластере из 910 узлов

В апреле 2008 года

Page 3: HBase inside

HBase

Распределенная, Column Oriented база данных.В качестве хранилища, использует HDFS, поэтому физическираспологается на Hadoop кластере. Позволяет хранить данные в упорядоченном, отсортированном виде

Возможности:

● Random access, к любой записи за O(1)

● В качестве выборок можно использовать различные варианты Scan + фильтры

● Поддержка версионности данных

● Schemaless. Все данные хранятся как массивы байт*

● Широкие возможности агрегации (в том числе JOIN), за счет фреймворка Hadoop MapReduce

● Репликация

● Шардинг

● Остсутствие Single point of failure, начиная с версии 0.92

● Write ones read more. Не возможны, модификации данных (классический Update)

Page 4: HBase inside

Table: UsersTable

INFO HISTORY

Page 5: HBase inside

Table: UsersTable 3D

Page 6: HBase inside

У каждой ячейки, свой независимый от других набор версий

Page 7: HBase inside

... только с боку

Page 8: HBase inside

Физически, объекты каждой ColumnFamily хранятся в отдельном бинаном файле.

Page 9: HBase inside

Chain

Page 10: HBase inside

Chain + Chain = Region

Page 11: HBase inside

Region + Region = RegionServer

Page 12: HBase inside

Read

Page 13: HBase inside

Write

Page 14: HBase inside

Вид сверху

Page 15: HBase inside
Page 16: HBase inside
Page 17: HBase inside

Казалось бы, при чём здесь Zookeeper ?

Page 18: HBase inside

Ходоки у Ленина

Page 19: HBase inside

Для

тех

, кто

нич

его

не п

онял

Page 20: HBase inside

Master Server (MS)Это демон, ответственный за реорганизацию (split) регионов и мониторинг всех RegionServer в кластере. Так же он является входной точкой, для изменения всех метаданных. Обычно, MS физически распологается там же где и NameNode

Single point of failureЧто будет, если отвалится Master ?В виду того, что клиенты общаются напрямую с SegionServer, система продолжит функционировать. Такой режим называется "steady state" (устойчивое состояние), но регионы при этом не смогут разделяться (split), и не получится изменять метаданные

Multi-Master Есть возможность настроить режим multi-master. Создать несколько мастеров, следовательно при падении одного, управление переходит к другому

LoadBalancerПереодически, включается в работу балансировщик нагрузки, который перераспределяет регионы, для лучшего баланса кластера

Вопросы которые не дают покоя

Page 21: HBase inside

● Не равномерное распределение ключей (rowKey) приведет к излишней нагрузке на одну ноду, и idle всех остальных ? (hash - наше всё*)

● Какое максимальное количество колонок (Column Qualifier) можно создавать ?

● Что лучше 1 row и 1 000 000 колонок, или1 000 000 rows с одной колонкой ?

● Какое максимально количество Column Family может быть ?

● HBase vs Cassandra ?