1、HDFS
- 为分布式存储提供文件系统
- 针对存储大尺寸的文件进行优化,不需要对HDFS上的文件进行随机读写
- 直接使用文件
- 数据模型不灵活
- 使用文件系统和处理框架
- 优化一次写入,多次读取的方式
2、HBase
- 提供表状的面向列的数据存储
- 针对表状数据的随机读写进行优化
- 使用key-vale操作数据
- 提供灵活的数据模型
- 使用表状存储,支持MapReduce,依赖HDFS
- 优化了多次读,以及多次写
- 主要用来存储非结构化数据和半结构化的数据
3、Redis
- 分布式缓存
- 基于内存
- 强调缓存
- 支持数据的持久化
- 支持事务的操作
- NoSql类型的Key/value数据库
- 支持List、Set等丰富的类型
4、Hive
- hive是基于Hadoop的数据仓库工具
- 可以将结构化数据文件映射为数据库表
- 并提供sql功能,可以将sql转化为mr任务运行
- sql学习成本低,不必专门开发mr应用
- 十分适合数据仓库的统计分析。
区别
关系型数据和Hive都是支持SQL引擎的数据库;
Redis和Hbase都是NoSQL 类型的Key/vale数据库,
支持简单的行列操作,不支持SQL引擎。
Redis因为存储在内存中所以数据量较小,
而Hbase的存储远远超出内存的大小。
HBase适合做大数据的持久存储,而Redis比较适合做缓存。
RDBMS一般用来做支撑业务系统提供事物或者查询。
hive是面相分析的分析型工具,作为海量数据的分析工具。
Hive和HBase是两种基于Hadoop的不同技术:Hive是一种类SQL的引擎,
并且运行MapReduce任务,HBase是一种在Hadoop之上的NoSQL
的Key/vale数据库,只支持简单的行列操作。
当然,这两种工具是可以同时使用的。
Hive可以用来进行统计查询,HBase可以用来进行快速的实时查询,
二者可进行整合。