专栏首页大数据学习笔记Hadoop基础教程-第10章 HBase:Hadoop数据库(10.1 NoSQL介绍)(草稿)

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

第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在大数据领域的重要性。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DBeaver链接ClickHouse

    DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,可以运行在各种操作系统上。 DBeaver 通过 JDBC 连接到数据库,可以...

    程裕强
  • ClickHouse常用配置

    程裕强
  • IllegalArgumentException: Invalid character found in the HTTP protocol

    程裕强
  • 为什么要使用redis数据库?它有哪些妙用?

    redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统。它支持存储的value类型相对更多,包括stri...

    Java编程指南
  • 人大代表建议:扩大国产数据库金融领域试点

    “站在国家利益的高度,使用国外数据库,尤其是美国企业的数据库,无疑将给我国带来巨大的信息安全风险,这就迫切需要从国家层面推动相关行业变革。”5月24日,全国人大...

    用户6543014
  • Thinkphp5框架实现获取数据库数据到视图的方法

    本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法。分享给大家供大家参考,具体如下:

    砸漏
  • 【腾讯云的1001种玩法】十分钟轻松搞定云架构 · 数据库的主备 双活 读写分离

    主备是指我们在使用数据库时,同时有主数据库和备数据库,主数据库主要提供服务,备数据库以备不时之需。为什么数据库应该做主备机?数据库的读写分离又到底有什么好处?今...

    白宦成
  • java数据库操作

    数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个重点,今天的任务就是总结java访问数据库的方法和有关API,java访...

    企鹅号小编
  • NoSQL(MongoDB,Hbase,Redis)介绍

      NoSQL,泛指非关系型的数据库,随着互联网的发展传统的关系型数据库面对持续增长的数据处理起来显得越来越力不从心,此时非关系型数据库应运而生。

    用户4919348
  • SQL基础入门

    其实主键的概念,在我们的日常生活中也经常用到,比如每个人都会有的身份证号码,就可以认为是一个主键;以及在读书时拥有的学号,也是一种主键。

    数据医生

扫码关注云+社区

领取腾讯云代金券