设为首页 加入收藏

TOP

2018.10.17 HDFS,Hive,HBase,MongoDB,Redis,ES
2019-04-23 13:46:35 】 浏览:102
Tags:2018.10.17 HDFS Hive HBase MongoDB Redis

HDFS

Hadoop 的分布式文件系统称为 HDFS,它是为以流式数据访问模式存储超大文件而设计的文件系统。

HDFS适合:

  • 存储并管理PB级数据
  • 处理非结构化数据
  • 注重数据处理的吞吐量
  • 应用模式为:一次写多次读

不适合:

  • 存储小文件
  • 大量的随机度
  • 需要修改文件

Hive

Hive是一个构建与Hadoop顶层的数据仓库工具,可以查询和管理PB级的分布式数据,适用于大规模数据的批量处理,Hive本身不存储数据,依赖于HDFS和Mapreduce,提供简单的类似SQL的查询语言HiveQL,但使用hive有一些限制,某些标准的sql在hive中不存在。

查询速度慢,不提供实时查询和基于行级的数据更新操作。

HBase

HBase是一个分布式、面向列的开源非关系型数据库(NoSQL),基于HDFS文件系统之上,支持记录级别的高效读写,不适合离线分析场景。

适合结构简单,但数据量非常大的的数据(通常在TB/PB),查询条件简单,列与列之间联系不大的轻查询应用场景,如历史订单记录,日志数据,监控数据等。每一行数据定义一个key,提供了简单的基于key值的快速查询能力,查询灵活性较弱。

数据会按照列进行分组和存储,同一列的数据存储在同一个地方,若干列又构成一个列族,一个列族的所有列存储在同一个底层的存储文件里,这个存储文件叫做HFile。列族需要在表创建的时候定义好,并且不能修改的太频繁,数量也不能太多。

MongoDB

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。将数据存储为一个文档,数据结构由键值(key->value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

模式自由,表结构灵活可变,字段类型可以随时修改。修改很方便,不适合多表查询、复杂事务等高级操作。

很适合那些表结构经常改变,数据的逻辑结构没那么复杂不需要多表查询操作,数据量又比较大的应用场景。

Redis

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

速度快,读写性能优异;支持数据持久化;数据结构丰富,如list,set;支持主从复制备份;支持事务,操作都是原子性;数据存储在内存中,不能用作海量数据的高性能读写,主要局限在较小数据量的高性能操作和运算上;查询依赖key,不能进行复杂的查询。

适合那些对读写性能要求极高,且数据表结构简单(key-value、list、set之类)、查询条件也同样简单的应用场景。

ES

Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

自动对字段建立索引,支持高性能的复杂聚合查询,适合数据分析;字段类型无法修改,写入性能较低,高硬件资源消耗。

时间有限,而且也不是主要为了学习这些技术,所以并没有仔细的去看原理构架,只是对于HDFS仔细看了一下架构和读写的流程,其他的主要就是看了简介与特点,以后有时间或者需要再仔细的学习。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hbase监控简单实用脚本 下一篇Solr+Hbase+Hbase Indexer查询方..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目