大数据技术原理与应用——第4章


参考:大数据技术原理与应用(第3版)林子雨 编著

BigTable

BigTable是一个分布式存储系统。

BigTable解决谷歌公司内部大规模网页搜索问题,存储其大量网页。

BigTable的诞生:

1.主要满足互联网搜索引擎的基本需求

2.用于网页搜索

3.用于谷歌非常多的项目里面,包括搜索、地图、财经、打印

4.还用于一些社交网站、视频共享网站、博客网站等

BigTable受到广泛关注的原因:

1.具有非常好的性能(可以支持PB级别的数据)

2.具有非常好的可扩展性(用集群去存储几千台服务器完成分布式存储)

BigTable特性:

1.支持大规模海量数据
2.分布式并发数据处理效率极高
3.易于扩展、支持动态伸缩
4.适用于廉价设备
5.适合读操作不适合写操作

HBase简介

HBase是谷歌BigTable的开源实现

Hadoop生态系统中HBase与其他部分的关系

  • HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算
  • 利用ZooKeeper作为协同服务,实现稳定服务和失败恢复
  • 使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力
  • Sqoop提供了高效、便捷的关系数据库管理系统数据导入功能
  • Pig和Hive为HBase提供了高层语言支持

HBase和BigTable的底层技术对应关系

BigTableHBase
文件存储系统GFSHDFS
海量数据处理MapReduceHadoop MapReduce
协同服务管理ChubbyZookeeper

已有关系数据库、Hadoop(HDFS和MapReduce),为什么还要去设计HBase?

1.虽然已有HDFS和MapReduce,但Hadoop主要解决大规模数据离线批量处理,Hadoop是没办法满足大数据实时处理需求。
2.随着这些年数据大规模爆炸式增长,传统关系数据库的扩展能力有限
3.两个缺陷:不便利、效率低

HBase与传统关系数据库的对比分析

  • 数据类型:关系数据库采用关系模型,具有丰富数据类型和存储方式。HBase采用更简单的数据模型,把数据存储为未经解释的字符串
  • 数据操作:HBase避免复杂的表与表之间的关系,采用单表主键查询,无法实现像关系数据库中那样的表与表之间的连接操作
  • 存储模式:关系数据库基于行模式存储,HBase基于列存储
  • 数据索引:关系数据库通常多个索引。HBase只有一个索引——行键
  • 数据维护:关系数据库会替换旧值,更新后旧值不存在。HBase不会删除数据的旧版本,生成一个新版本后,旧版本仍然保留。
  • 可伸缩性:关系数据库难实现横向扩展,纵向扩展空间也有限。HBase实现灵活的横向扩展,能轻易通过在集群中增加或减少硬件数量来实现性能的伸缩。

HBase访问接口

HBase访问接口类型、特点、使用场合

HBase数据模型

​HBase是一个稀疏、多维度、排序的映射表。采用行键、列族、列限定符、时间戳进行索引。

数据模型的相关概念

1.表:HBase采用表来组织数据,由行和列组成,列划分为若干个列族。
2.行键:每个行有行键来标识。行键可以是任意字符串。经常一起读取的行存储在一起。
访问表中的行的方式(3种):
(1)通过单个行键访问
(2)通过一个行键的区间来访问
(3)全表扫描
3.列族:一个HBase表被分组成许多列族集合,是基本的访问控制单元。支持动态扩展、保留旧版本。
4.列限定符:列族中数据通过列限定符(或列)来定位,不需要事先定义。
5.单元格:每个单元格中可以保存一个数据的多个版本,每个版本对应一个时间戳。
6.时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。

数据坐标

HBase使用四维坐标来定位表中的数据。四维坐标:[“行键”,“列族”,“列限定符”,“时间戳”]
HBase可以看作一个键值数据库。

列式存储——>按一个列去存储——>可以带来很高的数据压缩率

HBase的实现原理

HBase的功能组件

HBase的实现包括三个主要的功能组件:
库函数:一般用于连接每个客户端
Master服务器:充当管家的作用
Region服务器:负责存储不同的Region

Master服务器的功能:
1.对分区信息进行维护和管理
2.维护一个Region服务器列表
3.检测整个集群当中有哪些Region服务器在工作
4.负责对Region进行分配
5.负载平衡

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L__iiiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值