2018.10.17 HDFS,Hive,HBase,MongoDB,Redis,ES

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仔细看了一下架构和读写的流程,其他的主要就是看了简介与特点,以后有时间或者需要再仔细的学习。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值