hbase inside

Post on 14-Dec-2014

515 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

HBase Architecture. BigData

TRANSCRIPT

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

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

BigData

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

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

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

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

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

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

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

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

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)

Table: UsersTable

INFO HISTORY

Table: UsersTable 3D

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

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

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

Chain

Chain + Chain = Region

Region + Region = RegionServer

Read

Write

Вид сверху

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

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

Для

тех

, кто

нич

его

не п

онял

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

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

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

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

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

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

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

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

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

● HBase vs Cassandra ?

top related