好程序员大数据培训HBase简介
好程序员大数据培训:HBase简介
Hbase介绍
Apache HBase是Hadoop数据库,一个分布式的、可伸缩的大数据存储。当用户需要对大数据进行随机的、实时的读/写访问时,可以使用Apache HBase。这个项目的目标是在商品硬件的集群上托管非常大的表——数十亿行、百万列。Apache HBase是一个开源的、分布式的、版本化的、非关系的数据库,它模仿了Google的Bigtable,是一个结构化数据的分布式存储系统,就像Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS上提供了类似于bigtable的功能。
HBase的特点
大:一个表可以有数十亿行,上百万列;
无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
面向列:面向列(族)的存储和权限控制,列(族)独立检索;
稀疏:对于空(null)的列,并不占用存储空间,表可以设计得非常稀疏;
数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;
数据类型单一:HBase中的数据都是字符串,便于压缩。
HBase与关系型数据库的对比如下:
传统行式数据库:
数据是按行存储的,一行是一条数据。数据量大时,要在经常查询的字段上建立索引以提高查询性能,但是建立索引和物化视图需要花费大量时间和资源 ,为了满足性能需求数据库被大量膨胀。
列式数据库:
数据是按列存储,每一列单独存放,数据本身就是索引,查询时只访问查询涉及的列,大大降低了I/O ,每一列由一个线程来处理,数据类型一致,便于压缩。
HBase与HDFS的对比
两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点; HBase适合数据的随机存取,数据的增加,数据的更新。HDFS适合批处理场景,不适合存储大量小文件。比如:现在要存储多台服务器上的日志文件,要求数据可以按天进行查询。如果使用HDFS存储只可以存成小文件,但是HDFS又不适合这样存储数据,这种场景使用HBase就可以很好地解决。
以上是好程序员大数据讲师对于HBase简介,如有疑问欢迎留言咨询。
Hbase介绍
Apache HBase是Hadoop数据库,一个分布式的、可伸缩的大数据存储。当用户需要对大数据进行随机的、实时的读/写访问时,可以使用Apache HBase。这个项目的目标是在商品硬件的集群上托管非常大的表——数十亿行、百万列。Apache HBase是一个开源的、分布式的、版本化的、非关系的数据库,它模仿了Google的Bigtable,是一个结构化数据的分布式存储系统,就像Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS上提供了类似于bigtable的功能。
HBase的特点
大:一个表可以有数十亿行,上百万列;
无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
面向列:面向列(族)的存储和权限控制,列(族)独立检索;
稀疏:对于空(null)的列,并不占用存储空间,表可以设计得非常稀疏;
数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;
数据类型单一:HBase中的数据都是字符串,便于压缩。
HBase与关系型数据库的对比如下:
传统行式数据库:
数据是按行存储的,一行是一条数据。数据量大时,要在经常查询的字段上建立索引以提高查询性能,但是建立索引和物化视图需要花费大量时间和资源 ,为了满足性能需求数据库被大量膨胀。
列式数据库:
数据是按列存储,每一列单独存放,数据本身就是索引,查询时只访问查询涉及的列,大大降低了I/O ,每一列由一个线程来处理,数据类型一致,便于压缩。
HBase与HDFS的对比
两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点; HBase适合数据的随机存取,数据的增加,数据的更新。HDFS适合批处理场景,不适合存储大量小文件。比如:现在要存储多台服务器上的日志文件,要求数据可以按天进行查询。如果使用HDFS存储只可以存成小文件,但是HDFS又不适合这样存储数据,这种场景使用HBase就可以很好地解决。
以上是好程序员大数据讲师对于HBase简介,如有疑问欢迎留言咨询。