文章目录
1.认识数据系统
1.1 数据密集型 VS 计算密集型
数据密集型侧重于“数据”,关键在于数据量、数据的复杂度及数据的快速多变性。
计算密集型侧重于“运算”,CPU的处理能力往往是关键考量。
1.2 数据密集型应用系统的架构
数据密集型应用通常也是基于各自独立的标准模块构建而成,这些模块有着各自不同的性能特征和设计实现,每个模块负责单一的功能,一般都包含如下五个模块:
数据库、高速缓存、索引、流式处理、批处理。
流式处理:关注实时性。kafka,storm,spark streaming,flink等
批处理:关注处理性能,不太要求实时性。MapReduce,spark.
2.可靠性
可靠性意味着:即使发生了某些错误故障,系统仍然可以继续正常工作。
针对不同类型的故障,如何实现可靠性?
硬件故障