Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > 大数据云计算 >

大数据技术之HBase PDF 下载


分享到:
时间:2020-10-12 09:02来源:http://www.java1234.com 作者:转载  侵权举报
大数据技术之HBase PDF 下载
失效链接处理
大数据技术之HBase PDF 下载


本站整理下载:
提取码:jrhr 
 
 
相关截图:
 
主要内容:

第 1 章NoSQL简介
 
1.1  关系型数据库的查询瓶颈
当用户表的数据达到几千万甚至几亿级别的时候,对单条数据的检索将花费数秒甚至达到分钟级别。实际情况更复杂,查询的操作速度将会受到以下两个因素的影响:
①高并发的更新(插入、修改、删除)操作。大中型网站的并发操作一般能达到几十乃至几百并发,此时单条数据查询的延时将轻而易举地达到分钟级别。
②多表关联后的复杂查询,以及频繁的group by或者order by操作,此时,性能下降较为明显。
1.2  CAP定理
分摊读写压力的有效方式是将单个关系型数据库扩展为分布式数据库。但是,随之而来的问题则是很难保证原子性。没有了原子性,事务也无从谈起,关系型数据库也就没有了存在的意义。
为了保证原子性,则需要增加很多额外的必要操作,此时一次写操作的性能却面临大幅下降了。
20世纪90年代初期Berkerly大学有位Eric Brewer教授提出了一个CAP理论。全称是Consistency Availability and Partition tolerance。
Consistency(强一致性):数据更新操作的一致性,所有数据变动都是同步的。
Availability(高可用性):良好的响应性能。
Partition tolerance(高分区容错性):可靠性。
Brewer教授给出的定理是:任何分布式系统只可同时满足二点,没法三者兼顾。
Brewer教授给出的忠告是:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。所以专家们始终没有办法构建出一个既有完美原子性又兼具高性能的分布式数据库。
 
 
 
1.3. NoSQL
有些数据库在实现性能的同时会牺牲一部分一致性,即数据在更新时,不会立刻同步,而是经过了一段时间才达到一致性。这个特性也称之为最终一致性!例如你发了一条朋友圈,你的一部分朋友立马看到了这条信息,而另一部分朋友可能要等到1分钟之后才能刷出这条消息。虽然有延时,但是对于这样一个社交的场景,这个延时是可以容忍的。而如果使用传统关系型数据库,可能这些即时通信软件就早已崩溃!
NoSQL数据库最初指不使用SQL标准的数据库,现在泛指非关系型数据库。NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的数据库。
现在NoSQL被普遍理解理解为“Not Only SQL”,意为不仅仅是SQL。NoSQL和传统的关系型数据库在很多场景下是相辅相成的,谁也不能完全替代谁。
第 2 章 HBase简介
 
2.1 HBase的来源
2006年Google技术人员Fay Chang发布了一篇文章Bigtable: ADistributed Storage System for Structured Data。该文章向世人介绍了一种分布式的数据库,这种数据库可以在局部几台服务器崩溃的情况下继续提供高性能的服务。
2007年Powerset公司的工作人员基于此文研发了BigTable的Java开源版本,即HBase。刚开始它只是Hadoop的一部分。
2008年HBase成为了Apache的顶级项目。HBase几乎实现了BigTable的所有特性。它被称为一个开源的非关系型分布式数据库。
2010年HBase的开发速度打破了一直以来跟Hadoop版本一致的惯例,因为HBase的版本发布速度已经超越了Hadoop。它的版本号一下从0.20.x跳跃到了0.89.x。其Logo也进行了更换!
 
 
2.2 HBase定义
HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。
Hbase面向列存储,构建于Hadoop之上,类似于Google的BigTable,提供对10亿级别表数据的快速随机实时读写!
2.3 Hbase的特点
2.3.1 HBase的特点
1)海量存储
HBase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与HBase的极易扩展性息息相关。正式因为HBase良好的扩展性,才为海量数据的存储提供了便利。
2)列式存储
这里的列式存储其实说的是列族存储,HBase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。
3)极易扩展
HBase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。
通过横向添加RegionSever的机器,进行水平扩展,提升HBase上层的处理能力,提升Hbase服务更多Region的能力。
4)高并发
由于目前大部分使用HBase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之间。这里说的高并发,主要是在并发的情况下,HBase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。
5)稀疏
稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。
2.3.2 Hbase的优点
①HDFS有高容错,高扩展的特点,而Hbase基于HDFS实现数据的存储,因此Hbase拥有与生俱来的超强的扩展性和吞吐量。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐