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

灰常灰常感谢原博主的辛苦工作,为防止删博,所以转载,只供学习使用,不做其他任何商业用途。 https://blog.csdn.net/chengyuqiang/article/details/75808039

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

猜你喜欢

转载自blog.csdn.net/airufengye/article/details/80948925