HBase简介
进入海量数据(Big Data)时代,传统文件系统与关系数据库逐渐无法承载过度膨胀的数据量,
透过硬件升级、采用特殊的演算机制,仍然无法有效解决数据持续增长所造成的系统效能不彰问题。
在这样的困境下,Doug Cutting 于 2006 年开发 Hadoop 分布式系统平台,
切分成多个运算单元与储存单元,利用分布式的概念,减轻大量数据集中管理对单一节点造成的负担。
因为 Hadoop 只是一个系统平台,
放在 Hadoop 文件系统 HDFS(Hadoop Distributed File System)内的数据虽然是分散储存,
却是以档案的型式存放,并不支持随机存取(Random Reads and Writes)的功能。
为了更方便存取在 Hadoop 环境下的数据,HBase 应运而生,提供一个类似数据库的储存环境,
因为与关系数据库架构上有极大的不同,这类型的数据库通常称之为 NoSQL 数据库,
有下列主要的特点:
(一)Distributed 分布式
HBase 包含 Master、Zookeeper 和 Region Server 三个组成要素,
Master 纪录 Metadata,Zookeeper 负责协调各个节点之间的联系,Region Server 管理和取用实际存放的数据内容。
(二)Multi-Dimensional 多维度储存
HBase 是以 Key-Value 的概念储存资料,
透过 Rowkey、Column Family、Column Qualifier、Version,可以指定唯一的数据内容。
相较于传统关系数据库由 Row 和 Column 产生的二维储存空间,HBase 是一个多维度的数据储存架构。
(三)High-Availability 高可靠性
资料储存的部分,可以建立在 Hadoop 的分布式文件系统 HDFS 之上,
拥有数据副本,任意一个节点故障,都不影响数据存取。
数据管理方面,HBase Cluster 存在多个 Region Server,任意一台 Region Server 中断服务,
自动会由另一台 Region Server 接手原有的服务,处理 Client 提出数据存取需求。
(四)High-Performance 高效能
HBase 的分散环境,除了数据分散存放的特性之外,
每一个分散的数据区块各自拥有独立的运算能力。
当使用者对整个数据库系统进行操作的时候,分散的资料各自独立运算整理,
同步处理使用者的要求,即可达到高效能的运作。
(五)Storage System 储存系统
HBase 是建构在分布式系统平台上的数据库。
(六)A Big Sorted Map
HBase 的数据是以 Key-Value 的方式存放,数据结构为
Map<RowKey, Map <ColumnFamily, Map<ColumnQualifier, Map<Version, Data>>>>,
是一个多层的 Map 数据结构。
|