仓库源文站点原文

一、计算机基础

自然连接

属性列相同只显示一次

属性列相同的行相同的记录

A B C A C D
a b c a c d
b a d d f g
c d e b d g
d f g

{% asset_img jiagou1.png %}{% asset_img jiagou59.png %}

{% asset_img jiagou2.png %}{% asset_img jiagou60.png %}{% asset_img jiagou61.png %}

1、先找出从未在右边出现过的属性,必然是候选键之一。

2、以该属性位基础,根据依赖集依次扩展,看能否遍历所有属性,将无法遍历的加入候选键中。

{% asset_img jiagou3.png %}

操作系统

{% asset_img jiagou4.png %}

{% asset_img jiagou5.png %}

{% asset_img jiagou6.png %}

{% asset_img jiagou7.png %}

文件管理

{% asset_img jiagou8.png %}

一级间接索引,保存一个索引表,代表5个地址项,对应5个物理块

二级间接索引,保存5个索引表,每个索引表代表5个物理块

{% asset_img jiagou9.png %}

最大长度:6 4 + 1024 4 + 1024 1024 4 = 4198424

一级间接索引是一个磁盘索引块4k,每个地址项大小4字节,所以一共4*1024B/4B=1024块地址项

直接索引:对应逻辑块号0-5

一级间接索引:6-1029

二级间接索引:1030-

计算机网络

{% asset_img jiagou10.png %}

{% asset_img jiagou11.png %}

{% asset_img jiagou12.png %}

二、信息系统基础

三、信息安全

四、软件工程

五、系统分析

{% asset_img jiagou13.png %}

六、系统设计

七、数据库

{% asset_img jiagou14.png %}

{% asset_img jiagou15.png %}

{% asset_img jiagou16.png %}

{% asset_img jiagou17.png %}

{% asset_img jiagou18.png %}

{% asset_img jiagou19.png %}

八、系统架构设计

九、软件可靠性设计

4/5/6/7/8 案例题

十、大数据架构设计

十一、未来信息技术

十二、运筹学

十三、知识产权

十四、案例分析

架构设计方向

{% asset_img jiagou20.png %}

{% asset_img jiagou21.png %}

{% asset_img jiagou22.png %}

a需求、b安全性、c可用性、d需求、e可用性、f性能、g可修改、h安全性、i可修改、j性能、k需求、l需求

{% asset_img jiagou23.png %}

{% asset_img jiagou24.png %}

{% asset_img jiagou25.png %}

{% asset_img jiagou26.png %}

{% asset_img jiagou27.png %}

{% asset_img jiagou28.png %}

{% asset_img jiagou29.png %}

{% asset_img jiagou30.png %}

{% asset_img jiagou31.png %}

{% asset_img jiagou32.png %}

{% asset_img jiagou33.png %}

{% asset_img jiagou34.png %}

{% asset_img jiagou35.png %}

{% asset_img jiagou36.png %}

{% asset_img jiagou37.png %}

{% asset_img jiagou38.png %}

{% asset_img jiagou39.png %}

{% asset_img jiagou40.png %}

{% asset_img jiagou41.png %}

{% asset_img jiagou42.png %}

{% asset_img jiagou43.png %}

{% asset_img jiagou44.png %}

{% asset_img jiagou45.png %}

{% asset_img jiagou46.png %}

{% asset_img jiagou47.png %}

{% asset_img jiagou48.png %}

{% asset_img jiagou49.png %}

{% asset_img jiagou50.png %}

{% asset_img jiagou51.png %}

{% asset_img jiagou52.png %}

{% asset_img jiagou53.png %}

{% asset_img jiagou54.png %}

论文

{% asset_img jiagou55.png %}

质量属性

性能、安全性、可修改性,可用性

质量特性

敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。

权衡点:指影响多个质量特性,并对多个质量特性来说都是敏感点的质量特性。

风险:不以标准术语出现。某些做法有一些隐患可能导致一些问题。

非风险:某些做法是可行的,可接受的。

Redis

string、hash、set、zset、list

为了保证数据的一致性,读写数据的基本操作步骤为:

读数据

1、根据key读缓存;

2、读取成功则直接返回;

3、若key不在缓存中,根据key读数据库;

4、读取成功后,写缓存;

5、成功返回。

写数据

1、根据key值写数据库;

2、成功后更新缓存key值;

3、成功返回。

过期策略

策略 描述 优点 缺点
定时删除 在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除 保证内存被尽快释放 1、若过期key很多,删除这些key会占用很多的CPU时间,在CPU时间紧张的情况下,会延误业务的执行<br/>2、定时器的创建耗时,若为每一个设置过期时间的key创建一个定时器(将会有大量的定时器产生),性能影响严重
惰性删除 key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。 删除操作只发生在从数据库取出key的时候发生,而且只删除当前key,对CPU时间的占用比较少。 若大量的key在超出超时时间后,很久一段时间内,都没有被请求过,那么可能发生内存泄露(无用的垃圾占用了大量的内存)
定期删除 每隔一段时间执行一次删除过期key操作 1、通过限制删除操作的时长和频率,来减少删除操作对CPU时间的占用(避免"定时删除"的缺点)<br/>2、定期删除过期key(避免"惰性删除"的缺点) 1、在内存使用方面,不如"定时删除"<br/>2、在CPU时间方面,不如"惰性删除"

内存淘汰机制 | 机制 | 描述 | | --- | --- | | volatile-lru<br/>最近最少使用 | 从已设置过期时间的key中,移出最近最少使用的key进行淘汰 | | volatile-lfu<br/>最不经常使用 | 从已设置过期时间的key中选择最不经常使用的进行淘汰。 | | volatile-random<br/>随机淘汰算法 | 从已设置过期时间的key中随机选择key淘汰。 | | volatile-ttl<br/>生存时间淘汰 | 从已设置过期时间的key中,移出将要过期的key。 | | allkeys-lru | 从所有key中选择最近最少使用的进行淘汰 | | allkeys-lfu | 从所有key中选择最不经常使用的进行淘汰。 | | allkeys-random | 从所有key中随机选择key进行淘汰 |

数据持久化

RDB内存快照(RedisDataBase) AOF日志(Append Only Flie)
说明 把当前内存中的数据集快照写入磁盘(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。 通过持续不断地保存Redis服务器所执行的更新命令来记录数据库状态,类似mysql的binlog。恢复数据时需要从头开始回放更新命令。
磁盘刷新频率
文件大小
数据恢复效率
数据安全

Redis缓存异常问题

1、缓存穿透

{% asset_img jiagou56.png %}{% asset_img jiagou62.png %}

2、缓存雪崩

{% asset_img jiagou57.png %}{% asset_img jiagou63.png %}

3、缓存击穿

{% asset_img jiagou58.png %}{% asset_img jiagou64.png %}