Databases 21 min read

Introduction to HBase: Architecture, Concepts, and Common Commands

This article introduces HBase, a distributed column‑oriented NoSQL database built on Hadoop, explains its architecture, data model, key concepts such as rowkeys, column families, timestamps, regions, and ZooKeeper, outlines its main features and typical use cases, and provides common HBase shell commands with examples.

Big Data Technology & Architecture
Big Data Technology & Architecture
Big Data Technology & Architecture
Introduction to HBase: Architecture, Concepts, and Common Commands

What is HBase

HBase is a distributed, column‑oriented NoSQL database built on top of the Hadoop Distributed File System (HDFS) that provides random real‑time read/write access to massive structured data.

Relationship with HDFS

HDFS supplies reliable storage, while HBase adds fast row‑key lookups and supports billions of rows with low latency.

Data Model

Tables consist of rows identified by a unique rowkey; each row contains column families, which in turn contain columns. Cells are versioned by timestamps, allowing multiple versions of the same cell.

Key Concepts

Rowkey design, column families, timestamps, cells, regions (horizontal partitions), and the role of ZooKeeper for coordination and fail‑over.

Architecture Components

HBase includes a client library, a master server that assigns regions and balances load, region servers that host regions, and ZooKeeper for service discovery.

Features

Scalable storage of petabyte‑scale data, column‑family storage, sparse rows, schema‑less design, high concurrency, and automatic version management (TTL, keep‑last‑n‑versions).

Typical Use Cases

Large‑scale data storage and near‑real‑time queries such as traffic sensor data, transaction logs, and historical records where simple rowkey lookups are sufficient.

Common HBase Shell Commands

Typical commands include status, version, list, create, describe, alter, disable, drop, put, get, scan, delete, and truncate. Example to create a table: hbase(main):001:0> create 'myTable', {NAME => 'info'} Example to insert a row:

hbase(main):002:0> put 'myTable', 'row1', 'info:name', 'Alice'

Example to retrieve data:

hbase(main):003:0> get 'myTable', 'row1'
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Big DatadatabaseNoSQLHadoopShell Commands
Big Data Technology & Architecture
Written by

Big Data Technology & Architecture

Wang Zhiwu, a big data expert, dedicated to sharing big data technology.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.