第10章 HBase:Hadoop数据库

10.1 NoSQL介绍


10.1.1 NoSQL简介

随着互联网技术(互联网+,物联网)发展,特别是大数据时代到来,我们需要存储处理更多数据,这种需求远远超出传统关系型数据库的存储和处理能力。
为了应对这种情形,我们需要不停的扩展。扩展分为两类:一种是纵向扩展,即购买更好的机器,更多的磁盘、更多的内存等等;另一种是横向扩展,即购买更多的机器组成集群。在巨大的规模下,纵向扩展发挥的作用并不是很大。首先单机器性能提升需要巨额的开销并且有着性能的上限,永远不可能使用一台机器支撑所有的负载。鉴于这种情况,我们需要新的数据库,因为关系数据库并不能很好的运行在集群上。不错你也可能会去搭建关系数据库集群,但是他们使用的是共享存储,这并不是我们想要的类型。于是就有了以Google、Facebook、Amazon这些试图处理更多传输所引领的NoSQL纪元。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动。

NoSQL数据库的四大分类:
(1)键值数据库。键值数据库就像在传统语言中使用的哈希表。你可以通过key来添加、查询或者删除数据,鉴于使用主键访问,所以会获得不错的性能及扩展性。代表产品Redis。
(2)列数据库。列存储数据库将数据储存在列族(column family)中,一个列族存储经常被一起查询的相关数据。代表产品HBase。
(3)文档型数据库。面向文档数据库会将数据以文档的形式储存。每个文档都是自包含的数据单元,是一系列数据项的集合。代表产品MongoDB。
(4)图数据库。图数据库允许我们将数据以图的方式储存。实体会被作为顶点,而实体之间的关系则会被作为边。代表产品Neo4J。

10.1.2 列数据库

列数据库,可称为列式数据库、列存储数据库。列数据库是以列相关存储架构进行数据存储的数据库,主要适合于批量数据处理和即时查询。相对应的是行式数据库,数据以行相关的存储体系架构进行空间分配,主要适合于大批量的数据处理,常用于联机事务型数据处理。

从上图可以很清楚地看到,行式存储下一张表的数据都是放在一起的,但列式存储下都被分开保存了。

优缺点 行式存储 列式存储
优点 数据被保存在一起
INSERT/UPDATE容易
查询时只有涉及到的列会被读取;
投影(projection)很高效;
任何列都能作为索引
缺点 选择(Selection)时即使只涉及某几列,
所有数据也都会被读取
选择完成时,被选择的列要重新组装
INSERT/UPDATE比较麻烦

10.2.2 HBase简介

Google公司的三大论文:Google File System(GFS)被设计成了HDFS,Google-MapReduce被设计出了MapReduce,而第3篇论文Google-Bigtable被设计成了HBase。由此可见HBase在大数据领域的重要性。

Hadoop基础教程-第10章 HBase:Hadoop数据库(10.1 NoSQL介绍)(草稿)相关推荐

  1. Hadoop基础教程-第12章 Hive:进阶(12.3 HiveServer2)(草稿)

    第12章 Hive:进阶 12.3 HiveServer2 12.3.1 HiveServer1 HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果.H ...

  2. 《Hadoop基础教程》之初识Hadoop

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  3. hadoop基础教程

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  4. Hadoop基础教程》之初识Hadoop【转】

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  5. 《Hadoop基础教程》读后感

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  6. 【Hadoop基础教程】7、Hadoop之一对一关联查询

    我们都知道一个产品唯一对应一个单价,本案例将通过两种类型输入文件:product类(产品)和price类(价格)进行一对一的关联查询,得到产品名(例如:手表)与产品价格(例如:$100)的关联信息. ...

  7. 计算机应用基础李健,计算机应用基础教程 李健苹 计算机应用基础教程 第4章...

    计算机应用基础教程 李健苹 计算机应用基础教程 第4章 (58页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 主讲人:李健苹 2011.2 ...

  8. iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序

    iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序 程序是为了实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.本章将以编写第一个Sprite Kit程序为 ...

  9. Unity4.x 2D游戏开发基础教程第1章Unity及其组成的介绍

    Unity4.x 2D游戏开发基础教程第1章Unity及其组成的介绍 本书主要讲解的是,如何使用Unity开发2D游戏.但在开始讲解之前,最好先熟悉一下Unity这个工具.本章会首先介绍Unity的下 ...

最新文章

  1. linux创建redis容器,docker-compose实现redis部署及键值添加
  2. Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 3 ----数据访问层
  3. wxWidgets:wxRecursionGuard类用法
  4. java http 接口制定_java調用http接口
  5. go build不从本地gopath获取_跟我一起学习go语言,包依赖管理工具go mod
  6. 测试Rockey 4 Smart加密锁的C语言代码
  7. (转)编码剖析Spring管理Bean的原理
  8. 【转】如何在win10(64位系统)上安装apache服务器
  9. 类的继承和派生java_Java 类的继承与派生
  10. cad会提示计算机中缺少,cad2014缺少shx文件该怎么解决?
  11. 【产品】产品设计:美工线的设计
  12. python爬虫—Requests
  13. L1-079 天梯赛的善良 (20 分)
  14. 基于matlab的自动识别谱峰的程序设计,基于MATLAB的自动识别谱峰的程序设计
  15. Leetcode刷题100天—3. 无重复字符的最长子串(滑动窗口+集合+双指针)—day21
  16. rockchip buildroot wifibt
  17. adb与monkey命令的联合使用
  18. 【小月电子】安路国产FPGA开发板系统学习教程-LESSON7串口通信
  19. 几款常用的OCR技术软件 新4
  20. JSP中form的action如何确定

热门文章

  1. 大面积瘫痪!昨晚,B站、A站集体崩了...
  2. 图灵完备及TypeScript图灵完备性验证
  3. 51单片机DS12C887时钟芯片和1602液晶显示完善前人例程版本
  4. Openvas的安装调试
  5. SpringBoot前端模板
  6. 360杀毒下载|360杀毒电脑版下载
  7. Android Framework层播放器评分机制
  8. 【Android Camera】马达相关
  9. Android启动模式介绍
  10. 全网最全PDF压缩方法by 忘小寒——标题党警告