| 企服解答
HBase 基于 Google 的 BigTable 论文的开源实现,是建立的 HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的分布式数据库系统。
hbase是什么
HBase的特点:
1、海量存储:可以存储大批量的数据。
2、列(簇)式存储:hbase表的数据是基于列族进行存储的,列族是在列的方向上的划分。
3、极易扩展:底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加 datanode节点服务(机器)就可以了;可以通过增加服务器来提高集群的存储能力。
4、高并发:支持高并发的读写请求
5、稀疏:稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。
6、数据的多版本:hbase表中的数据可以有多个版本值,默认情况下是根据版本号去区分,版本号就是插入数据的时间戳。
7、数据类型单一:所有的数据在hbase中是以字节数组进行存储。
| 扩展阅读
HBase与传统的关系数据库的区别:
1、数据类型:
关系数据库采用关系模型,具有丰富的数据类型和存储方式,HBase则采用了更加简单的数据模型,它把数据存储为未经解释的字符串。
2、数据操作:
关系数据库中包含了丰富的操作,其中会涉及复杂的多表连接。HBase操作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因此HBase在设计上就避免了复杂的表和表之间的关系。
3、存储模式:
关系数据库是基于行模式存储的。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的。
4、数据索引:
关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键,通过巧妙的设计,HBase中的所有访问方法,或者通过行键访问,或者通过行键扫描,从而使得整个系统不会慢下来。
5、数据维护:
在关系数据库中,更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。
6、可伸缩性:
关系数据库很难实现横向扩展,纵向扩展的空间也比较有限。相反,HBase和BigTable这些分布式数据库就是为了实现灵活的水平扩展而开发的,能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。
[免责声明]
文章标题: hbase是什么
文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。