部门分享——HBase

今天部门分享了HBase。发一下自己的稿子

本次分享的开始,想要旧事重提一下,Google被誉为大数据领域的“三驾马车”的那三篇论文:
第一篇是:The google file system
第二篇是:MapReduce:Simplified Data Processing on Large Clusters
第三篇是:2006年发表的 BigTable:A Distributed Storage System for Structured Data. 它介绍了很多BigTable的设计原理,但其实这些原理大多都能在HBase中找到影子。

尽管有微小异同,例如压缩算法,时间戳单位等,但是,HBase实现了BigTable的储存架构。

本次分享会,我会从HBased 的一些特性讲起,并且明确什么样的使用场景和数据场景适用HBase。再简述一下架构与API。最后讲一下实际项目中遇到过的坑。至于如何安装和配置这些就不提了,这个网上都能查到。

为什么想要讲这么多适用场景与特性,因为我觉得,首先我们得明白一个组件、技术的使用场景,那么等到需求到来的时候,我们才能够及时、准确地挑选组件,我觉得这点很重要。最后等到实践场景中,真正需要用这个组件的时候,再进行针对性地熟练与学习,也来得及的。
翻页
要想知道 HBase 的用途,就需要看一看其在 Apache 的 Hadoop 生态系统中的位置,可以看到 HBase 是构建在 HDFS 之上的,这是由于 HBase 内部管理的文件全部都是存储在 HDFS 当中的。同时,MapReduce 这个计算框架在 HBase 之上又提供了高性能的计算能力来处理海量数据。

1.HBase简介
前面提到过,HBase是按照BigTable模型实现的,是一个稀疏的、分布式的、持久化的、多维的映射。
在这里插入图片描述
那么HBase的特点又有那些呢?
作为大数据组件,它的特点第一就是容量大:
那传统关系型数据库为例,关系型数据库的单表一般不会超过五百万,一旦超过则需要要做分表分库。列数也不会超过30列。
但Hbase单表,就可以有百亿行、百万列。有用数据矩阵,横向,和纵向两个维度。所支持的数据量级也非常具有弹性

面向列:
面向列的存储和权限控制,可以动态增加列。这样的话读的效率也会很高
稀疏性:
为空的列并不占用存储空间,表可以设计的非常稀疏。不必像关系型数据库那样需要预先知道所有列名,然后再进行默认值填充
多版本:
Hbase的每一个列的数据存储有多个Version,也就是timestamp。举个栗子,假如你要存一个人的住址列信息,可能由于搬家,有多个版本变更,所以该列就可以有多个version

拓展性:
底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加datanode&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值