Apache HBase

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: hbase.apache.org

Apache HBase — распределённая столбцовая NoSQL база данных с открытым исходным кодом, реализованная на языке Java и разработанная для экосистемы Apache Hadoop. Она вдохновлена архитектурой Google Bigtable и предназначена для хранения и оперативного чтения/записи больших объёмов разреженных структурированных данных. HBase обеспечивает масштабируемое горизонтальное распределение данных по узлам кластера и поддерживает модель данных, основанную на таблицах, строках и семействaх столбцов, где каждая ячейка может содержать версионированные значения.

Проект интегрируется с системой распределённого хранения файлов Hadoop (HDFS) и использует её для долговременного хранения, при этом реализуя собственные механизмы индексирования, управления метаданными и маршрутизации запросов. HBase обеспечивает сильную согласованность при чтениях и записях на уровне строки, поддерживает сканирование диапазонов строк и оптимизировано для высокопроизводительных последовательных операций. Типичные сценарии применения включают аналитические платформы в реальном времени, хранилища событий, индексы для поиска и удалённое хранение больших объёмов телеметрии.

  • Модель данных: таблицы с нефиксированными столбцами, строки идентифицируются row key, столбцы организованы в семейства столбцов, значения версионируются по временной метке.
  • Масштабируемость: горизонтальное масштабирование путём разбиения таблиц на регионы, распределяемые по серверам региона (region servers).
  • Интеграция с Hadoop: использование HDFS для долговременного хранения и совместимость с инструментами экосистемы Hadoop.
  • Согласованность: сильная согласованность на уровне строки, атомарные операции записи для отдельных строк.
  • Производительность: оптимизация для высокоскоростных последовательных операций записи и сканирования больших диапазонов данных.
  • Архитектура: разделение ответственности между мастером (master) для управления метаданными и серверами регионов для хранения данных и обслуживания запросов.
  • Механизмы хранения: использование логов предзаписи и хранения в виде SSTable-подобных файлов с периодической компакцией для управления фрагментацией и удалением устаревших версий.
  • Высокая доступность и отказоустойчивость: репликация данных через HDFS и механизмы восстановления регионов при сбоях узлов.
  • Инструменты доступа: API на Java, поддержка сканирований, фильтров и пакетных операций; возможна интеграция с другими клиентскими библиотеками и промежуточными слоями.
  • Типичные ограничения: не является реляционной СУБД, отсутствуют сложные транзакции на уровне нескольких строк/таблиц по умолчанию; проект ориентирован на большие объёмы данных и простые модели доступа.
Подробнее