Mapreduice:
理解:
大数据并行处理的计算模型。
用途:
为保证数据处理速度,大数据处理部分用这个模型去做。
Elasticsearch:
理解:
Elasticsearch是提供持久存储、统计等多项功能的现代搜索引擎。
用途:
可以用它来存储已经算好,或者不需要去更新的数据,主要用它做数据查询。
Hive:
理解:
构建在基于静态批处理的Hadoop之上,基于MapReduce任务实现大数据集的批处理作业。
用途:
大数据处理基于这个数据库去做大量结构化数据的离线分析、多维度离线数据分析,存储离线的日志信息供后续定位、分析使用。
MongoDB:
理解:
基于分布式文件存储的非关系数据库。
用途:
可以用它来做web网站实时结构化数据缓存。
Redis:
理解:
高性能的key-value数据库。
用途:
可以用它来做web网站非结构化数据的缓存。也可以用于高性能的任务队列。
Mysql:
理解:
web服务最好用的RDBMS
用途:
用它来存储量级不是很大的网站数据,例如用户数据,会员等级数据,用户的登录、操作日志数据。
Kafka:
理解:
一种高吞吐量的分布式发布订阅消息系统,每秒可以处理几十万条消息,延迟低,支持数千个客户端同时读写,支持热扩展
用途:
1. 服务日志收集
2. 用作消息队列,例如爬虫抓取完的数据存到kafka,数据处理从kafka获取数据进行后续处理。
3. 榜单数据收集,每次打开榜单页,可直接从kafka从头到尾按顺序读出榜单数据
4. 用户活动跟踪,记录用户活动行为
5. 运营监控数据的存储
6. 流式处理的数据存储
memcache:
理解:
基于多线程的key-value数据库。
用途:
暂时用不到,redis就够了。
Hbase:
理解:
可以理解为能存更多数据,扩展更容易,大数据量频繁操作成本更低的redis
用途:
暂时用不到,数据量级没那么大。
Spark:
理解:
Spark是大规模数据处理的通用框架
用途:
可以和kafka配合使用,做流式处理和机器学习。