HBASE学习一:原理架构详解

1、架构原理

1.1、基本概念

HBase 是一款面向列存储,用于存储处理海量数据的 NoSQL 数据库。它的理论原型是Google 的 BigTable 论文。你可以认为 HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。

HBase 的存储是基于HDFS的,HDFS 有着高容错性的特点,被设计用来部署在低廉的硬件上,基于 Hadoop 意味着 HBase 与生俱来的超强的扩展性和吞吐量。

HBase 采用的时key/value的存储方式,这意味着,即使随着数据量的增大,也几乎不会导致查询性能的下降。HBase 又是一个面向列存储的数据库,当表的字段很多时,可以把其中几个字段独立出来放在一部分机器上,而另外几个字段放到另一部分机器上,充分分散了负载的压力。如此复杂的存储结构和分布式的存储方式,带来的代价就是即便是存储很少的数据,也不会很快。

HBase 并不是足够快,只是数据量很大的时候慢的不明显。HBase主要用在以下两种情况:

单表数据量超过千万,而且并发量很大。
数据分析需求较弱,或者不需要那么实时灵活

1.2、 特性

  • 海量存储:HBase适合存储 PB 级别的海量数据,能在几十到百毫秒内返回数据。
  • 列式存储:HBase是根据列族来存储数据的。列族下面可以有非常多的列,在创建表的时候列族就必须指定。
  • 高并发:在并发的情况下,HBase的单个IO延迟下降并不多,能获得高并发、低延迟的服务。
  • 稀疏性:HBas

你可能感兴趣的:(中间件,hbase,学习,架构)