学习Hbase第一天

学习Hbase第一天

Hbase概述

Hbase是一个基于Hadoop的分布式,可扩展,巨大数据仓库,当用户需要对海量数据进行实时(时效性)随机(单条记录级别数据)读写,用户可以使用Hbase,设计目标是能够持有一张巨大的表,该的规模能达到数十亿行×数百万列,并且可以运行在商用的硬件集群之上.Hbase是一个开源的,分布式的,版本化的,非关系型的数据库.该设计仿照了Goole的BigTable设计
分布式:指的是各个异构的节点形成的系统,所谓异构,就是结构不同、功能不同的节点。讲究的是各司其职,效率谈不上。这里可能会有人将集群和分布式弄混,举个例子:一个电脑上可能会配置多个硬件,各个硬件负责不同的任务,zookeeper->namenode->yarn,这就叫分布式。而集群是相同的硬件处理同一个任务,它们是同构的,可以解决单个服务器的压力问题。
可扩展:解决并发问题的,可以集群。

Hdfs和HBase的区别在这里插入图片描述这里先介绍一下数据库的三层结构
文件系统层:用于存储数据的层,mysql->操作系统,HBase->HDFS文件系统。
服务层:也就是我们安装的mysql数据库,其实它是一种服务,用于管理数据的结构。
驱动层:类似于代理,通过代理访问数据库服务层,数据库服务层管理数据结构,把数据交给文件系统层。
区别:HBase是构建在HDFS上的一个数据库服务,能够使得用户通过HBase数据库服务间接操作HDFS,使得用户对HDFS上的数据实现CRUD操作(细粒度操作).

Hbase特性-官方

  • 线性和模块化扩展。
    线性:存储的数据量与服务器规模呈正比。
    模块化:例如DataNode就是NameNode存储的某一个板块。
  • 严格一致 reads 和 writes.
    任何时刻读取HBase,大家读到的数据都是一致的。
  • 表的自动和可配置分片(自动分区)
    由于一张表中的数据过大,可以将管辖的数据分到不同的区
  • RegionServers之间的自动故障转移支持。
    分区服务器管理对应的分区
  • 方便的基类,用于使用Apache HBase表支持Hadoop MapReduce作业。
  • 易于使用的Java API,用于客户端访问。
  • Block cache 和 Bloom Filters 以进行实时查询。
    Block cache:区域缓存,提升查询效率
    Bloom Filters:布隆过滤器,查询一条记录,读数据时会通过布隆过滤器的布隆算法过滤不必要的信息,根据分区去排除的。

列存储

常见的NoSQL数据库常见分类:
Key-Value- Redis|SSDB
Document - MongoDB|Elasticsearch|Solr
列存储 - HBase
图像关系 - Neo4j 等.
NoSQL数据库和关系数据库不同,NoSQL不同种类产品之间不可相互替换.

  • 存储特点-RDBMS(关系型数据库管理系统,操作的最小单位是行)
    在这里插入图片描述思考:存在的问题
    在这里插入图片描述
    数据库的操作步骤:

  • 按照name和password索引快速定位当前记录

  • 数据库底层加载id,name,password,age,sex,address

  • 进行投影过滤出id,name,password
    从上面过程不难看出age/sex/address的读取过程是多余的,这一部分IO的读取对于系统而言浪费.- IO利用率低;
    其次关系型数据库由于不支持稀疏存储(null值不存储),导致null值也会占用磁盘空间,给系统带来磁盘空间的浪费-磁盘利用率低.

  • 解决(列共现性问题,会导致业务逻辑更加复杂)
    t_user_base
    在这里插入图片描述t_user_detail(依然存在空值问题)
    在这里插入图片描述

  • 列存储(hbase)
    ROWKEY:等价关系型数据库的主键ID
    列簇(Column-Family):把特性相似的列归为一个簇放在一起,成为列共现性。
    :列簇/列名/列值/时间戳构成
    时间戳:用于记录Hbase中数据的版本,一般系统会自动指定为插入数据时间
    列信息:列簇+列名
    记录排序:HBase底层在检索的时候以列簇为最小文件加载单位,先按照ROWKEY排,之后按列簇排再按照列名排(字典顺序排),最后按时间戳排(降序),能够快速的索引到数据,默认查询范围时间戳最新版本记录。

在这里插入图片描述 在这里插入图片描述优点:1.支持稀疏存储,null不存,磁盘利用率100%
缺点:1.值包含ROWKEY,列信息,时间戳

初学,可以一起学习讨论,错误的地方,麻烦大神指导下!!!
感激不尽!!!

参考网站:hbase.apache.org
https://blog.csdn.net/weixin_38231448/article/details/89357104

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值