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