线索栏 | 笔记栏 |
---|---|
什么是数据密集型应用? 什么是计算密集型应用? 二者有何区别? | 数据密集型应用:一个应用的良好运行取决于:数据量、数据产生和变化的速度、数据复杂度。【如淘宝】 计算密集型应用:一个应用的良好运行取决于CPU和显卡的计算速度等。【如人脸识别、识图等】 |
数据密集型应用常见的模块 | 1. 数据库【存取数据】 2. 缓存【加快访问】 3. 定时处理积累的数据 4. 索引【加快查询】 5. 异步 总结:大部分都是为了快速存取数据 |
什么是数据系统? 为什么要提到数据系统? | 数据系统:数据库、缓存、消息队列等 临时或者永久存储的系统 1. 因为现在我们大多数系统都需要两个或者以上的数据系统相互配合。比如,Redis做缓存,Mysql做数据库。 2. 因为现在各种数据系统设计时考虑了多种情况,适配了多种场景;比如Redis可以做消息队列,也可以做持久性存储。消息队列也可以持久化消息等。 |
一个数据密集型应用涉及到数据系统时可能存在哪些问题? | 1. 缓存和数据库不一致 2. 缓存失效 3. 访问系统的人数变多了,需要提高服务的响应速度 4. 某部分服务挂掉了,如何能保证其余服务受影响的程度是可控的,并且返回的数据和没有出故障的时候是一致的。 总结:数据一致、数据存取速度等 |
针对可能出现的问题,你能试着总结一下吗? | 首先就是故障:硬件故障或软件故障发生时,系统能尽量保证不被影响:可靠性。【可以靠的住的,“无论什么时候,你都可以相信它”】 其次是服务的性能:当用户量增多,数据变多时,系统可以保证比较容易扩充服务性能,使得在用户增多的情况下,应用也可以提供服务。【即使用的人多了,系统也能流畅地使用】 再者就是服务的维护:系统由新人维护起来也很简单,扩充新的功能比较容易【系统容易被维护】 |
《数据密集型应用系统设计》-读书笔记-技术-更新中
最新推荐文章于 2022-07-03 10:24:57 发布