(1)Redis 分布式缓存,基于内存,强调缓存,支持数据持久化,支持事务操作,NoSQL 类型的Key/vale数据库,同时支持List、Set等更丰富的类型。 (2)hbase HBase是建立在HDFS之上,提供高可靠性的列存储,实时读写的数据库系统。它介于Nosql和关系型数据库之间,仅通过主键和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化的松散数据。
(3)关系数据库 有mysql、Oracle、SqlServer等,支持事务性操作,属于写模式,即写入数据时进行检查。它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。支持完善的sql功能,可以对少量数据进行统计分析。 (4)hive hive是基于Hadoop的数据仓库工具,可以将结构化数据文件映射为数据库表。并提供简单的sql功能,可以将sql转化为mr任务运行。因为sql学习成本低,不必专门开发mr应用,十分适合数据仓库的统计分析。
3.区别
这里可以分为两大类:关系型数据和Hive都是支持SQL引擎的数据库;Redis和Hbase都是NoSQL 类型的Key/vale数据库,支持简单的行列操作,不支持SQL引擎。 SQL类数据库中,关系型数据库更侧重于事务性操作,属于写模式,支持的数据量较小,支持索引延迟低;而Hive更侧重于查询分析操作,属于读模式,不支持索引延迟高,支持的数据量大,为数据仓库而设计。 K/V数据库中,Redis的读写性能更高,通常是几十微秒,而Hbase是几毫秒;Redis不仅支持K/V操作,也支持List、Set等更丰富的类型;Redis因为存储在内存中所以数据量较小,而Hbase的存储远远超出内存的大小。HBase适合做大数据的持久存储,而Redis比较适合做缓存。