文件名称:设计数据密集型应用-翻译
文件大小:7.49MB
文件格式:PDF
更新时间:2021-08-21 13:55:12
大数据
数据密集应用 作为一个开发者来说,目前绝大多数应用程序都是数据密集型的,而不是计算密集型的。CPU的计算能力不再成为这些应用程序的限制因素,而更加亟待解决的问题是海量的数据、数据结构之间的复杂性,应用的性能。 先看看我们经常打交道的数据系统: 存储数据,以便它们或其他应用程序稍后再找到它(数据库) 记住昂贵操作的结果,以加快读取速度。(缓存) 允许用户按关键字搜索数据或通过各种方式过滤数据(搜索索引) 将消息发送到另一个进程,异步处理(流处理) 周期性地压缩大量的累积数据(批处理) 而很多时候,我们所谓应用程序的绝大工作就是将这些数据系统进行组合,然后添加我们的运行逻辑,但是如何更加合理的整合这些数据系统,对我们来说仍然是一个值得学习和思考的问题。而数据系统也在慢慢变得越来越相似,不同的数据系统也在各自学习彼此的优点。如Redis这样的缓存系统可以支持数据落地,很多时候的应用场合我们可以替代传统的RDBMS。而Kafka这样的数据队列也可以支持数据落地来存储消息。更加深刻的理解这些数据系统,来更好的权衡架构设计,是一门很精深的课题。