软考-系统分析师考试-计算机系统基础
2024-12-20 14:23:31 0 举报
AI智能生成
软考-系统分析师考试-计算机系统基础(基础、网络、数据库、性能、协议)
作者其他创作
大纲/内容
3. 操作系统
进程管理
基本概念:进程通常由程序、数据集合、进程控制块 PCB 组成。PCB是一种数据结构,是进程存在的唯一标识。
进程特征
线性方式
把所有PCB组织在一张线性表中,每次查找是需要扫描全表。
链接方式
把具有同一状态的 PCB,用其中 的链接字链接成-个队列,PCB存储在一个连续的区域。
索引方式
同一状态的进程归入一个索引表,多个状态对应多个不同的索引表。
进程的三种状态
运行态
一个进程在处理机上运行时
就绪态
一个进程获得了除处理机以外的一切资源,一旦得到处理机就可以运行
阻塞态
一个进程正在等待某一事件发生而暂时停止运行,此时即使把处理机给它也无法运行
前趋图
概念:前趋图是一个有向无循环图,由节点和有向边组成,节点代表各程序段的操作,而节点间的有向边表示两个程序段操作之间存在的前趋关系。用于这种图可以描述多个程序或进程之间的执行顺序关系。
进程的通信
进程的互斥
进程的互斥是指系统中多个进程因争用临界资源而互斥执行。
进程的同步
在系统中有一些进程是需要互相合作,协同工作的。这样的进程之间的联系就叫同步。
PV操作
P操作:①将信号量S的值减1,即S=S-1;②如果S>=0,则该进程继续执行;否则该进程置为等待状态。
V操作:①将信号量S的值加1,即S=S+1;②)如果S>0该进程继续执行;否则说明有等待队列中有等待进程需要唤醒等待进程。
信号量S的物理意义:S>0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。
死锁
死锁:两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。
产生死锁的必要条件:(1)互斥条件;(2)请求保持条件;(3)不可剥夺条件;(4)环路的等待
m个并发进程竞争资源R,每个进程需要n个R,需要多少个才不会发生死锁
(n-1)*m
存储管理
地址重定义
地址重定位是指将程序中的地址虚拟地址(逻辑地址)变换成内存的真实地址(物理地址)的过程。
逻辑地址:相对地址。用户目标程序所使用的地址单元,一般以0作为基址。
物理地址: 绝对地址。加载到内存地址寄存器中的地址,内存单元的真正地址。
存储管理方案
存储管理的主要目的是解决多个用户使用主存的问题。
存储管理
分区存储管理
把主存的用户区划分成若干个区域,每个区域分配给个用户作业使用,并限定它们只能在自己的区域中运行。
缺点:空间浪费
分页存储管理
分页存储管理将一个进程的地址空间划分成若干个大小相等的区域,称为页。相应地,将主存空间划分成与页相同大小的若干个物理块,称为块或页框。
优点:解决储存空间不够不连贯的问题
缺点:没有考虑程序大小,分页一样大小
分段存储管理
分段式存储管理系统中,为每个段分配一个连续的分区,而进程中的各个段可以离散地分配到主存的不同分区中。在系统中为每个进程建立一张段映射表,简称为“段表”。每个段在表中占有一个表项,在其中记录了该段在主存中的起始地址(又称为“基址”)和段的长度。进程在执行时,通过查段表来找到每个段所对应的主存区。
段页式存储管理
虚拟存储管理
设备管理
基本概念:设备管理的目标主要是如何提高设备的利用率,为用户提供方便、统一的界面。提高设备的利用率,就是提高CPU与I/0设备之间的并行操作程度。在设备管理中,主要利用的技术有:中断技术、DMA技术、通道技术和缓冲技术。
中断技术
cpu与输入输出设备并行工作
需要与CPU中的寄存器参与,cpu压力大
DMA技术
比中断技术并行程度更高
在<font color="#a23c73"><i><b>主存</b></i></font>和<b><font color="#a23c73">I<span>/O设备</span></font></b>之间加一个MDA接口进行数据交换,进一步解放CPU
通道技术
缓冲技术
磁盘调度
磁盘是可被多个进程共享的设备。当有多个进程请求访问磁盘时,为了保证信息的安全,系统在每一时刻只允许一个进程启动磁盘进行I/0操作,其余的进程只能等待。因此,操作系统应采用一种适当的调度算法,使各进程对磁盘的平均访问(主要是寻道)时间最小。
磁盘调度分为移臂调度和旋转调度两类,并且是先进行移调度然后进行旋转调度。
移臂(磁道)
旋转(扇区)
由于访问磁盘量耗时的是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。
文件管理
文件结构
逻辑结构
从用户角度看到的文件组织形式。用户知道文件名就可以存取文件中的信息。
物理结构
文件在文件存储器上的存放方式。
文件的索引
直接索引
一级索引
二级索引
相关题型计算
文件存储空间管理
位示图
在外存上建立一张位示图(Bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
相关题型计算
Linux常用命令包括:<br>
2. 系统性能评价
系统性能指标
主频
主频又称为时钟频率,在很大程度上决定了计算机的运算速度。时钟频率的计量单位已由原来的MHz逐步推进到以GHz来进行标识。
CPU时钟周期
时钟周期是计算机中最基本的单位基准时间,是一个时钟脉冲所需要的时间,也叫震荡周期,其实就是主频的倒数。
机器周期
每个阶段完成一个基本操作,一个基本操作所需的时间就是一个机器周期。一个机器周期由若干时钟周期组成。一个指令周期又包含若干机器周期。
例如,2个时钟周期组成1个机器周期,平均3个机器周期可完成1条指令,则执行一条指令需要2x3=6个时钟周期。
CPI
CPl(Cycles PerInstruction,每条指令执行所用的时钟周期数),由于不同指令的功能不同,造成指令执行时间不同,所以CPI是一个平均值。
IPC
IPC等于CPI的倒数。
MIPS
MIPS(MillionInstructions Per Second,每秒百万条指令)的执行速度定义是:MIPS=指令条数/(执行时间x10的 6次方)=主频/CPI=主频XIPC
例如,某台计算机的CPU主频为1.8GHz,如果2个时钟周期组成1个机器周期,平均3个机器周期可完成1条指令,则该计算机的指令平均执行速度为() MIPS。
阿姆达尔解决方案
阿姆达尔定律(Amdahl)是这样的:对系统中某组件采用某种更快的执行方式,所获得的系统性能的改变程度,取决于该组件被使用的频率,或所占总执行时间的比例。
阿姆达尔定律定义了采用特定组件所取得的加速比。假设使用某种改进了的组件,系统的性能就会得到提高,则加速比的计算公式如下: R=Tp/Ti 其中,Tp表示不使用改进组件时完成整个任务的时间,Ti表示使用改进组件时完成整个任务的时间。
性能优化
对于数据库应用系统,造成性能不好的原因可能有数据库连接方式、系统应用架构、数据库设计、数据库管理、网络通信等,基于这些原因,可以采取修改应用模式、建立历史数据库、利用索引技术和分区技术等优化措施,需要调整的参数主要包括CPU和主存使用状况、数据库设计、进程或线程状态、硬盘剩余空间、日志文件大小等;
对于Web应用系统,性能瓶颈可能有客户端程序、网关接口、数据库互连等,可以来取的优化措施 主要有改善应用程序的性能和数据库连接、进行流量管理与负载均衡、使用Web交换机 和Web缓存等,需要调整的参数主要包括系统的可用性响应时间、并发用户数,以及 特定应用占用的系统资源等。
性能评估方法
经典评估方法
时钟频率法
计算机的时钟频率在一定程度上反映了机器速度。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
指令执行速度法
表示机器运算速度的单位是MIPS。
等效指令速度法
也称为吉普森或混合<font color="#ec7270">比例</font>计算法,是通过各类指令在程序中所占的比例进行计算后得到的计算机运算速度
数据处理速率法(PDR)
采用计算PDR值的方法来衡量机器性能,PDR值越大机器性能越好。PDR与每条指令和每个操作数的平均位数以及每条指令的平均运算速度有关。PDR主要对CPU和主存储器的速度进行度量,不适合衡量机器的整体速度,不能全面反映计算机的性能,因为它没有涉及Cache、多功能部件等技术对性能的影响。
综合理论性能法
该方法是首先计算出处理部件每个计算单元的有效计算率,再按<font color="#e74f4c">不同字长加以调整</font>,得出该计算单元的理论性能,所有组成该处理部件的计算单元的理论性能之和即为最终的计算机性能。
基准测试程序
把应用程序中用得最多、最频繁的那部分核心程序作为评估计算机系统性能的标准程序,称为基准测试程序(benchmark)基准程序法是目前一致承认的测试系统性能的较好方法。
4. 计算机网络
概述
网络互联模型
应用层
处理网络应用
直接为端用户服务,提供各类应用过程的接口和用户接口。例如HTTP、Tenlent、FTP、SMTP、NFS等
表示层
数据表示
使应用层可以根据其服务解释数据的涵义。通常包括数据编码的约定、本地句法的转换。例如JPEG、ASCII、GIF、DES、MPEG等
会话层
互连主机通信
负责管理远程用户或进程间的通信,通常包括通信控制、检查点设置、重建中断的传输链路、名字查找和安全验证服务。例如:RPC、SQL等
传输层
端到端连接
实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余的传输。其服务访问点为端口。代表性协议有TCP、UDP、SPX等
网络层
分组传输和路由选择
通过网络连接交换传输层实体发出的数据,解决路由器选择、网络拥塞、异构网络互联的问题。服务访问点为逻辑地址(网络地址)。代表性协议有IP、IPX等
数据链路层
传输以帧为单位的信息
建立、维持和释放网络实体之间的数据链路,把流量控制合并在一起。为MAC(媒介访问层)和LLC(逻辑链路层)两个子层。服务访问点头物理地址(MAC地址)。代表性协议有IEEE802.3/.2、HDLC、PPP、ATM等
物理层
二进制为传输
通过-系列协议定义了通行设备的机械的、电气的、功能的、规程的特征。代表性协议有RS232、V.35、RJ-45、FDDI等
互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族
应用层
传输层
网际层
网络接口层
网络设计
分层设计
接入层
允许终端用户连接到网络、负责一些用户管理功能(如地址认证、用户认证、计费管理等),以及用户信息收集工作(如用户的IP地址、MAC地址、访问日志等)
汇聚层
是核心层和接入层的分界面,完成网络访问策略控制、<font color="#e74f4c">数据包处理、过滤、寻址</font>,以及其他数据处理的任务。
核心层
<font color="#e74f4c">高速转发</font>通信、采用双机冗余热备份
网络布线
工作区子系统
终端设备连接到信息插座
水平子系统
将用户工作区引至管理子系统
管理子系统
有线路管理器件及各种公用设备、干线子系统和水平子系统的桥梁
垂直(干线)子系统
实现计算机设备、控制中心与各管理子系统间的连接
设备间子系统
由设备间中的电缆、连接跳线架及相关支撑硬件、防雷电保护装置等构成
建筑群子系统
连接多个建筑物
网络协议
应用层协议
FTP协议
文件传输协议,建立两条 TCP 连接,一条用于传送<font color="#e74f4c">控制信息</font>(<font color="#e74f4c">使用 21 号端口</font>),另一条用于<font color="#e74f4c">传送文件内容(使用 20 号端口</font>)。
TFTP协议
<font color="#e74f4c">简单</font>文件传输协议,<font color="#e74f4c">UDP连接</font>,<font color="#e74f4c">端口号69</font>。
SFTP协议
安全文件传输协议
端口号:22
HTTP协议
超文本传输协议,TCP连接,端口号80。
HTTPS协议
安全超文本传输协议,HTTP+SSL,端口号443。
DHCP协议
动态主机配置协议,<font color="#e74f4c">端口号67</font>。租约默认为 8 天,租约过半需续约。
通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配P地址,使网络环境中的主机动态的获得IP地址、网关地址、DNS服务器地址等信息,并能够提升地址的使用率。
在网络范围内可能存在多个DHCP服务器,各自负责不同的网段,也可能由同一个DHCP服务器,负责多个不同网段的地址分配。
如果网络中有多个DHCP服务器发送OFFER报文,客户端只根据第一个收到的OFFER报文,返回REOUEST报文。
DNS协议
把主机域名解析为IP地址,<font color="#e74f4c">端口号53</font>。对应<font color="#e74f4c">PTR(Pointer Recored)将IP地址映射到域名的解析</font>。查询算法:迭代(引用)、递归(彻底解析)。
迭代查询
查询得到的是其他服务器的引用本地服务器就要访问被引用的服务器,做进一步的查询。(踢皮球)
递归查询
查询方式要求服务器彻底地进行名字解析,并返回最后的结果。
SMTP协议
简单邮件传输协议,<font color="#e74f4c">发送邮件</font>,<font color="#e74f4c">端口号25</font>。(用户代理向源服务器发送邮件以及源服务器向目的服务器发送邮件使用的协议。)
MIME协议
多用途互联网邮件扩展类型,包含多媒体数据。S/MIME安全的多功能互联网邮件扩展与安全电子邮箱服务相关。
POP3协议
<font color="#e74f4c">邮件的收取</font>。TCP协议,<font color="#e74f4c">端口号110</font>。POP3允许用户从服务器上把邮件存储到本地主机上,同时<font color="#e74f4c">删除保存在邮件服务器上的邮件</font>。
IMAP协议
交互式邮件存取协议,<font color="#e74f4c">服务器保留收取的邮件</font>,同时在客户端上的操作都会反馈到服务器上。如:删除邮件,标记已读。
SET协议
安全电子交易协议,解决用户、商家和银行之间通过信用卡支付的交易问题,保证支付信息的机密、支付过程的完整、商户和持卡人身份合法性及可操作性。
PGP协议
优良保密协议,应用多种密码技术与数字签名算法,用于电子邮件安全。
传输层协议
TCP协议
提供可靠的、面向连接的、字节流服务。<font color="#e74f4c">首部开销20个字节</font>。<font color="#e74f4c">具有差错校验和重传、流量控制、拥塞控制等功能</font>。适用于数据量比较少,且对可靠性要求高的场合。
TCP连接的建立,三次握手,客户端主动打开,服务端被动打开
子主题
UDP协议
提供不可靠的、无连接、面向报文的服务,<font color="#e74f4c">首部开销8个字节</font>。适合数据量大,对可靠性要求不是很高,但要求速度快的场合。
网络层协议
IPV4协议
IP地址由32位二进制组成,4个字节组成,由网络号和主机号两个字段组成。如网络号为n位,主机位为m,则:网络号的位数决定了可以分配的网络数:2^n, 主机号的位数决定了网络中的最大主机个数:2^m-2。子网掩码(网络号部分全为1,主机号部分全为0;用于计算网络地址使用(只需将IP地址和子网掩码做与操作,就可以得到网络地址)
网络地址:主机号全0表示网络地址
广播号:主机号全1表示广播地址
子网掩码:网络号全为1 主机号全0 用于计算网络地址使用
每个IP地址都有一个子网掩码
首部长度
可表示的最大数值是15个单位(4 字节为一个单位),<font color="#ec7270">60字节</font>。
区分服务
不同优先级服务质量不同,只有在使用区分服务(DiffServ)时有效
总长度
首部与数据之和的长度,最大长度为<font color="#ec7270">2^16-1</font>=65535字节。
标识
唯一标识数据报的标识符。
标志
DF:不分片位,MF:片未完位。
片偏移
指明该段处于原来数据报中的位置。
生存时间
记为TTL(Time To Live),指示数据报在网络中可通过的路由器的最大值。
协议
数据报携带的协议(TCP、UDP、IGMP等)
首部检验和
只检验首部,不检验数据。采用16位二进制反码求和算法。
可选字段
可记录时间戳,通过路径,安全信息等。
填充
填充为4的倍数
IPV4网络地址的分类
A类
标准A类地址固定前8位为网络号,固定0开头,子网掩码:255.0.0.0
B类
标准B类地址固定前16位为网络号,固定10开头,子网掩码:255.255.0.0
C类
标准C类地址固定前24位为网络号,固定110开头,子网掩码:255.255.255.0
D类
E类
三级IP地址
三级IP地址=网络号+子网号+主机号
子网号从主机号中分得位数,类似分班分组广播,避免主机号的浪费还起到了信息的安全传递
IPV6协议
IPv6数据报的目的地址有:(1)单播∶点对点通信;(2)多播/组播:一点对多点的通信;(3)任播∶新增类型,一对最近。IPv4 to IPv6 过渡技术:双协议栈技术(两种技术共存)、隧道技术(在IPv4 网络中部署隧道)、NAT-PT 技术(用网关实现两种协议的转换翻译和地址的映射)。
IPV6地址长度128位,通常写作8组,每组位4个16进制数
ICMP协议
Internet <font color="#e74f4c">控制报文协议</font>(Internet Control Message Protocol,ICMP)是TCP/IP协议簇的一个子协议,是网络层协议,用于IP主机和路由器之间传递控制消息。
<font color="#e74f4c">控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。</font>这些控制消息虽然并不传输用户数据,但是对用户数据的传递起着重要的作用。
ICMP报文封装在IP数据报内传输,由于IP数据包首部校验并不校验IP数据报内容,因此不能保证经过传输的ICMP报文不产生差错
IPSec
互联网安全协议,提供安全服务不需要更改应用程序。
实现功能
①<font color="#e74f4c">数据机密性性</font>:IPSec发送方将包加密后再通过网络发送。
② <font color="#e74f4c">数据完整性</font>:IPSec可以验证IPSec发送方发送的包,以确保数据传输时没有被改变。
③<font color="#e74f4c">数据认证</font>:IPSec接受方能够鉴别IPsec包的发送起源。此服务依赖数据的完整性。
④<font color="#e74f4c">反重放</font>:IPSec接受方能检查并拒绝重放包。
组成
认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;
封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;
安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
密钥协议(IKE),提供对称密码的钥匙的生存和交换。
Telnet远程登录协议
是Internet远程登录服务的标准协议和主要方式。
要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet协议使用TCP 协议,<font color="#e74f4c">端口号23</font>。
Telnet 是一个<b>明文传送协议</b>,它将用户的所有内容,包括用户名和密码都明文在互联网传送,具有一定的安全隐患。
子主题
1. 计算机体系结构
计算机硬件组成
计算机系统的多层级结构
硬联逻辑
微程序机器 微指令系统
传统机器机器指令语言
操作系统机器作业控制语言
汇编语言机器 汇编语言
高级语言机器高级语言
应用语言机器 应用语言
处理器的类型
CPU
特征:通用处理器、 复杂运算
一条指令执行的步骤:<br>取指:PC(程序计数器)-->AR(地址寄存器)-->M存储器-->DR(数据寄存器)--IR(指令寄存器)<br>分析:OP-->ID-->CU(控制器)<br>执行:Ad-->AR(地址寄存器)-->M存储器-->DR(数据寄存器)-->AC(累加器)
运算器
算术逻辑单元ALU:数据的算术运算和逻辑运算;
累加寄存器AC:通用寄存器,为ALU提供一个工作区,用来暂存数据;
数据缓冲寄存器DR:写内存时,暂存指令或数据;
状态条件寄存器PSW:存状态标志与控制标志。
控制器
程序计数器PC:存储下一条要执行指令的地址
指令寄存器IR:存储即将执行的指令
指令译码器ID:对指令中的操作码字段进行分析解释
地址寄存器AR:用来保存当前CPU所访问的内存单元的地址。
时序部件:提供时序控制信号。
GPU 特征:专用处理器 、并发强、 视频处理图形渲染
DSP 特征:专用处理器 、处理大量数字信号、 众多乘法器
FPGA 特征:专用处理器 、实时数据处理
国产处理器:龙芯、飞腾、申威、兆芯、国微、国芯、华睿、翔腾微和景嘉微等
指令系统
复杂指令系统CISC
指令数量众多,使用频率相差悬殊。可变长指令格式。
多种寻址方式
与主存直接交互。微程序控制
编译器复杂
精简指令系统RISC
指令数量少,长度固定
寻址方式少
硬布线逻辑控制。流水线技术。与寄存器交互
流水线吞吐率与最大吞吐率
流水线加速比
优化的编译器
指令的流水
指令流水技术:指令步骤的并行、提高处理器执行指令的效率。
(1)顺序方式。各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令。缺点是速度慢,机器各部件利用率低。
(2)重叠方式。在解释第K条指令的操作完成之前就可以开始解释第K+1条指令。
(3)流水方式
流水线周期:<font color="#e74f4c"><b>执行时间最长的一段</b></font>
流水线执行时间(tl+t2+...+tk)+(n-1)*At
流水线的吞吐率和最大吞吐率:吞吐率是指单位内流水线处理机流出的结果数。对指令而言,就是单位时间内执行的指令数。
TP=指令条数/流水线执行时间
最大吞吐率=1/流水线周期
流水线加速比=不使用流水线执行时间/使用流水线执行时间
寻址方式
立即寻址
操作数就包含在<b><font color="#ec7270">指令中</font></b>。在形成指令的机器代码形式时,立即数就跟在指令操作码的后面,取出指令时即可得到操作数。
直接寻址
操作数存放在<b><font color="#ec7270">内存单元中</font></b>,指令中直接给出操作数所在存储单元的地址。
间接寻址
操作数存放在<b>内存单元中</b>,指令中给出操作数地址的地址,取操作数需要访问两次主存。
寄存器寻址
操作数存放在某一<b>寄存器中</b>,指令中给出存放操作数的寄存器名。
寄存器间接寻址
操作数存放在<b>内存单元中</b>,操作数所在存储单元的地址在某个寄存器中。
基址寻址
操作数存放在<b>内存单元中</b>,指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量。
变址寻址
操作数存放在<b>内存单元中</b>,操作数地址等于变址寄存器的内容加偏移量。
存储系统
存储器的层次
按照与处理器的物理距离
片上缓存:SRAM结构 处理器直接集成 容量小
片外缓存:SRAM 处理器核心外 容量大
主存(内存):DRAM、 独立部件
外存:磁盘、磁带、光盘Flash等 速度慢 容量大
按速度、容量、价格
寄存器
Cahe
高速缓存
SRAM静态的随机存储器(Static-RAM),“电路”存储
优点:速度快,简单、不需刷新,不断电信息不丢失。
缺点:集成度低,运行功耗较大,容量小,价格高。
主存(内存)
DRAM动态的随机存储器(Dynamic-RAM),“电容”存储
优点:集成度高、功耗低、价格低
缺点:速度较慢、必须刷新、关机丢失数据
外存
数据存取方式
<b>顺序存取</b>:数据的访问必须按特定的线性顺序进行。如,<b>磁带</b>
<b>直接存取</b>:每个数据块都拥有唯一的地址标识,读写装置可以直接移动到目的数据块的所在位置进行访问。如,<b>磁盘存储器</b>。
<b>随机存取</b> :存储器的每一个可寻址单元都具有自己唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问。如,<b>主存</b>。
<b>相联存取</b>:相联存取也是一种随机存取的形式,根据所访问的内容来决定要访问的存储单元。如,<b>Cache</b>。
高速缓冲存储器
定义:为了解决高速运行的<b><font color="#e74f4c">cpu与主存</font></b>储器之间速度不匹配的问题。Cache中存放的是主存的部分拷贝(副本)。它是按照程序的局部性原理选取出来的最常使用或不久将来仍将使用的内容。
局部性原理
时间局部性
空间局部性
映射方式
直接映像方式:优点是地址变换很简单,缺点是不灵活,块冲突率高。
全相联映像 :位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
组相联映像:前两种方法的折中。用直接映像决定组号,全相联映像决定块号。
平均访问时间:如果以Hc为代表对Cache的访问命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache的平均访问时间ta为:ta=Hc×tc+(1-Hc)×tm
替换算法
随机
先进先出FIFO
近期最少使用LRU
最不经常使用LFU
写策略
写回法:当CPU对cache写命中时,只修改cache的内容不立即写入主存,只当此行被换出时才写回主存。这种策略使cache在CPU-主存之间,不仅在读方向而且在写方向上都起到高速缓存作用。
写直达法: 又称全写法,写透。是当cache写命中时,cache与主存同时发生写修改。
标记法:数据进入cache后,有效位置1,当cpu对该数据修改时,数据只写入主存并将该有效位置0。要从cache中读取数据时要测试其有效位,若为1则直接从cache中取数,否则从主存中取数。<br>
磁盘阵列
RAID 0:无冗余和无校验
<font color="#e74f4c">具有最高的I/0性能和最高的磁盘空间利用率</font>,易管理,但系统的故障率高,属于非冗余系统,
RAID 1:磁盘镜像无校验
<font color="#e74f4c">具有最高的安全性</font>,但磁盘空间利用率只有50%。RAID 1主要用于存放系统软件、数据以及其他重要文件。它提供了数据的实时备份,一旦发生故障,所有的关键数据即刻就可使用。
RAID 2:海明码校验
采用了海明码纠错技术,对数据的访问涉及阵列中的每一个盘。大量数据传输时I/0性能较高,但不利于小批量数据传输。实际应用中很少使用。
RAID 3:奇偶校验,位校验
把奇偶校验码存放在一个独立的校验盘上。如果有一个盘失效,其上的数据可以通过对其他盘上的数据进行异或运算得到。读数据很快但因为写入数据时要计算校验位,速度较慢。
RAID3采用位交叉奇偶校验码
RAID 3适用于大型文件且I/0需求不频繁的应用
RAID 4:奇偶校验,块校验
RAID 4采用块交叉奇偶校验码
RAID4适用于大型文件的读取
RAID 5:奇偶校验,N块磁盘,N-1块可用
没有独立的校验盘,校验信息分布在组内所有盘上,对于大批量和小批量数据的读写性能都很好。使用了独立存取技术,阵列中每一个磁盘都相互独立地操作,所以I/0请求可以并行处理。因此,该技术非常适合于I/0需求频繁的应用而不太适合于要求高数据传输率(大型文件)的应用,例如银行、金融、股市等大型数据处理中心的OLTP应用。当有N块阵列盘时,用户空间为N-1块盘容量。
RD5实际容量=(总盘块-1)*最小磁盘的容量
RAID 6:分布式独立奇偶校验
在RAID 6级的阵列中设置了一个专用的、可快速访问的异步校验盘。该盘具有独立的数据访问通路,但其性能改进有限,价格却很昂贵。
RAID 7:高I/O速率和高数据传输率
是对RAID6的改进。在这种阵列中的所有磁盘,都具有较高的传输速度,有着优异的性能,是目前最高档次的磁盘阵列。
RAID 10:RAID0和RAID1的组合,高可靠性与高性能
校验码
循环冗余校验码
(Cyclic Redundancy Check,CRC)广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r。
采用CRC进行差错校验,生成多项式为G(X)=X4+X+1,信息码字为10111则计算出的CRC校验码是()。A.00001B.0100 C.0010D.1100 解题步骤:1、化解多项式为10011(1)2、信息码加0做模二除运算(不进位加法)3、得到的余数即为校验码
总线
按总线相对于 CPU 或其他芯片的位置
内部总线
外部总线
按总线功能
地址总线
数据总线
控制总线
按照总线中数据线的多少
并行总线:多条双向数据线、有传输延迟,适合近距离连接,应用:系统总线 (计算机各部件)
串行总线 :一条双向数据线 或两条单向数据线、速率不高,但适合长距离连接、应用:通信总线 (计算机之间或 计算机与其他系统间)
5. 数据库基础
数据库体系结构
三级模式
外模式
外模式(<font color="#e74f4c">子模式、用户模式</font>)用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。
概念模式
<font color="#e74f4c">概念模式是数据库中全体数据的逻辑结构和特征的描述是所有用户的公共数据视图。</font>
内模式
内模式是数据<font color="#e74f4c">物理结构和存储方式</font>的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式。
两级映像
逻辑独立性
当模式改变时(例如增加新的关系,新的属性,改变属性的由数据库管理员对各个<font color="#e74f4c">外模式/模式的映像</font>数据类型等),做相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
物理独立性
当数据库的存储结构改变了,由数据库管理员对<font color="#e74f4c">概念模式/内模式映像</font>做响应的改变,可以使模式保持不变从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据模型
概念数据模型
概念数据模型是按照用户的观点来对数据和信息建模,主要用于数据库设计。
概念模型主要用实体一联系方法(Entity-RelationshipApproach)表示,所以也称 E-R 模型。
基本数据模型
基本数据模型是按照计算机系统的观点来对数据和信息建模,主要用于 DBMS 的实现。基本数据模型是数据库系统的核心和基础。常用的<font color="#e74f4c">基本数据模型有层次模型、网状模型、关系模型和面向对象模型。</font>
关系模型
数据模型三要素
数据结构
数据操作
数据的约束条件
实体完整性
实体的主属性不能取空值
参照完整性
在关系数据库中主要是指的外键参照的完整性。
用户定义完整性
如定义属性值范围
关系代数运算
概念
元组:可以理解为二维表中的一行,在数据库中经常被称为记录。
属性:可以理解为二维表中的一列,在数据库中经常被称为字段。
域:属性的取值范围,也就是数据库中某一列的取值限制。
关键字:组可以唯一标识元组的属性,数据库中常称为主键由一个或多个列组成。
关系模式:指对关系的描述。其格式为:关系名(属性1,属性……,属性N),在数据库中成为表结构。
选择
取得关系R中符合条件的行,例如,σ1>6(R)表示选取关系R中第1个属性值大于等于第6个属性值的元组;σ1>'6'(R)表示选取关系R中第1个属性值大于等于6的元组。
投影
取得关系R中符合条件的列组成新的关系,例如:查询学生的姓名和所在系 π sname,sdept(Student)
笛卡尔积
两个关系分别为n列和m列的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。其中的前n列是关系R的一个元组,后m列是关系S的一个元组,记作RXS,如果R和S有相同的属性名,可在属性名前加关系名作为限定,以示区别。若R有K,个元组,S有K,个元组,则R和S的笛卡尔积有K,xK,个元组。
连接
等值连接
关系R、S,取两者笛卡尔积中属性值相等的元组进行连接
自然连接
一种特殊的等值连接,它要求比较的属性列必须是相同的属性组,并且把结果中重复属性去掉。
外连接
左外连接
取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值null填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。
右外连接
取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值null填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
全外连接
完成左外连接和右外连接的操作。即填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,并填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中。
关系数据库的范式
函数依赖
函数依赖概念:
“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
X→Y,Y¢X,则称X→Y是非平凡的函数依赖。
X→Y,但YCX,则称X→Y是平凡的函数依赖。
如 学号和课程号能够推出学号
超键
在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。
候选键
不含有多余属性的超键称为候选键,是超键的最小子集。
主键
用户挑选出来做元组标识的一个候选键称为主键。
外键
如果关系模式R中的某些属性集不是R的主键,而是关系模式S的主键则这个属性集对模式R而言是外键。
主属性
包含在任何一个候选键中的属性称为主属性,否则称为非主属性。
完全函数依赖
例如:关系式Student(Sno,Sdept,Mname,Cno,Grade)
(Sno,Cno)→&gt;Grade 是完全函数依赖
部分函数依赖
(Sno,Cno)→&gt;Sdept是部分函数依赖
传递依赖
Sno→Sdept,Sdept→&gt;Mname,则称Mname传递依赖于Sno
Armstrong公理
概念:Armstrong公理:从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”
设关系式R(U,F),U是关系模式R的属性集,F是U上一组函数依赖,则有以下三条推理规则:
A1自反律:若YCXCU,则X→Y为F所蕴含;
A2增广律:若X→Y为F所蕴含,且ZCU,则XZ→YZ为F所蕴含;
A3传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。
合并规则:若X→Y,X→Z,则X→YZ为F所蕴含;
伪传递规则:若X→Y,WY→Z,则XW→Z为F所蕴含;
分解规则:若X→Y,ZCY,则X→Z为F所蕴含。
规范化
第一范式1NF
若关系模式R的每一个分量是不可再分的数据项,则关系式R属于第一范式。
第二范式2NF
第二范式(2NF)若关系模式R为1NF,且每一个非主属性完全依赖主键时,则关系式R是2NF(第二范式)
联合主键容易出现部分依赖
如果不满足第二范式要求,则会有冗余较大、修改异常、插入异常、删除异常等问题。
第三范式3NF
第三范式(3NF)即当2NF消除了非主属性对主键的传递函数依赖,则称为3NF。
BC范式
R∈3NF,且消除了主属性对候选键的部分和传递函数依赖。
BCNF范式是在第三范式(3NF)的基础上进一步优化的数据表设计,可以减少数据冗余,并保证数据库的完整性和一致性。
4NF
4NF是限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖。注意:如果只
考虑函数依赖,关系模式最高的规范化程度是BCNF;如果考虑多值依赖关系模式最高的
规范化程度是 4NF。
数据库的控制功能
事务管理
原子性
操作。操作序列要么全做要么全不做。
一致性
数据;数据库从一个一致性状态变到另一个一致性状态。
隔离性
执行;不能被其他事务干扰。
持续性
变化一旦提交,改变就是永久性的。
使用分布式存储方案可以提高持久性。
并发控制
执行问题
丢失更新
读脏数据
不可重复读
排他型封锁
排他型封锁(简称X封锁、写锁)。如果事务T对数据A(可以是数据项、记录、数据集,乃至整个数据库)实现了X封锁,那么只允许事务T 读取和修改数据 A,其他事务要等事务T解除X封锁以后,才能对数据A 实现任何类型的封锁。可见X封锁只允许一个事务独锁某个数据,具有排他性。
共享性封锁
共享型封锁(简称S封锁、读锁)。X封锁只允许一个事务独锁和使用数据,要求太严。需要适当放宽,例如可以允许并发读,但不允许修改这就产生了 S 封锁概念。S 封锁的含义是:如果事务T对数据 A 实现了S 封锁,那么允许事务T读取数据 A,但不能修改数据 A,在所有S封锁解除之前绝不允许任何事务对数据A实现X封锁。
备份
逻辑备份
逻辑备份是指利用DBMS自带的工具软件备份和恢复数据库的内容。
物理备份
概念:物理备份是在操作系统层面上对数据库的数据文件进行备份,物理备份分为冷备份和热备份两种。
冷备份
关闭数据库进行备份
热备份
不关闭数据库进行备份
可使用备份软件
完全备份
将数据库的内容<font color="#e74f4c">全部备份</font>,备份所需时间较长
增量备份
只备份<font color="#e74f4c">上次完全、增量或差异备份以来修改的数据</font>。
差异备份
备份自<font color="#e74f4c">上次完全备份后发生变化的所有数据</font>。
故障恢复
事务故障的恢复
事务故障是指事务未运行至正常终止点前被撤销,这时恢复子系统应对此事务做撤销处理。事务故障的恢复是由系统自动完成的,不需要用户干预
步骤:<br>1. 反向扫描文件日志,查找该事务的更新操作。<br>2. 对该事务的更新操作执行逆操作。<br>3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。<br>4. 如此处理下去,直至读到此事务的开始标记,事务故障恢复完成。<br>
系统故障的恢复
系统故障发生时,造成数据库不一致状态的原因有两个:一是由于一些未完成事务对数据库的更新已写入数据库:二是由于一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库。系统故障的恢复是在重新启动时自动完成的,不需要用户干预
步骤:<br>1. 正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做(Redo)队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤销(Undo)队列。<br>2. 对撤销队列中的各个事务进行撤销处理:反向扫描日志文件,对每个Undo 事务的更新操作执行逆操作。<br>3. 对重做队列中的各个事务进行重做处理:正向扫描日志文件,对每个Redo 事务重新执行日志文件登记的操作。<br>
介质故障与病毒破坏的恢复
在发生介质故障和遭病毒破坏时,磁盘上的物理数据库被破坏,这时的恢复操作:<br>1. 装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。<br>2. 从故障点开始反向读日志文件,找出已提交事务标识将其记入重做队列。<br>3. 从起始点开始正向阅读日志文件,根据重做队列中的记录,重做所有已完成事务,将数据库恢复至故障前某一时刻的一致状态。<br>
具有检查点的恢复技术
具有检查点的恢复技术。检查点记录的内容可包括:<br>1. 建立检查点时刻所有正在执行的事务清单。<br>2. 这些事务最近一个日志记录的地址。<br>采用检查点的恢复步骤如下:<br>3.找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。<br>4.由该检查点记录得到检查点建立时所有正在执行的事务清单队列(A)。<br>5.建立重做队列(R)和撤销队列(U),把A队列放入U队列中,R队列为空。<br>
数据库设计
需求分析
自顶向下,逐步分解。采用数据流图进行图形化的描述。
概念结构设计
概念:建立概念模型,即E-R图。
概念结构设计 阶段
抽象数据
设计局部视图
合并取消冲突
局部ER图转换成全局ER图时需要消除冲突
属性冲突
属性域冲突 例如,零件号有的部门定义为整数,有的部门定义为字符型
属性值冲突 例如,零件的重量有的以公斤为单位,有的以克为单位
结构冲突
同一对象在不同应用中的抽象不同,职工在某一应用中是实体在另一应用中是属性。
同一实体在不同ER图中属性个数和排列次序不同。
命名冲突
同名异义 例如,使用了系统保留的关键字
异名同义 例如,职工、员工
修改重构消除冗余
逻辑结构设计
概念:将ER图转换为关系模式确定完整性约束,确定用户视图。
ER图的实体转换为关系
ER的属性转换为关系的属性
复合属性
多值属性
派生属性
BLOB型属性
1:1的联系
1. 一个1:1联系可以转换为一个独立的关系模式。
2. 或者也可以与任意一端对应的关系模式合并。
1:n的联系
1. 一个1:n的联系可以转换为一个独立的关系模式。
2. 与n端对应的关系模式合并,
n:m的联系
-个n:m的联系可以转换为一个独立的关系模式。
多元的联系
一个多元联系可以转换为一个独立的关系模式。
ER图的关键字转换为关系的关键字
物理设计
存储结构设计等。
分布式数据库
分布式数据库体系结构
(1)全局外模式
全局外模式是全局应用的用户视图,是全局概念模式的子集,该层直接与用户(或应用程序)交互。
(2)全局概念模式
全局概念模式定义分布式数据库中数据的整体逻辑结构,<font color="#ec7270">数据就如同根本没有分布一样</font>,可用传统的集中式数据库中所采用的方法进行定义。
(3)分片模式
将一个关系模式分解成为几个数据片
(4)分布模式
分布式数据库的本质特性就是数据分布在不同的物理位置。分布模式的主要职责是定义数据片段(即分片模式的处理结果)的存放节点。
(5)局部概念模式
局部概念模式是局部数据库的概念模式。
(6)局部内模式
局部内模式是局部数据库的内模式
分布式数据库特点
共享性
不同的结点的数据共享
自治性
每个结点对本地数据都能独立管理
可用性
某一场地故障时,可以使用其他场地上的副本而不至于使整个系统瘫痪
分布性
数据分布在不同场地上的存储
分布透明
分片透明性
分片透明性是分布透明性的最高层次。所谓分片透明性是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。
位置透明性
位置透明性是分布透明性的下一层次。所谓位置透明性是指,用户或应用程序应当了解分片情况,但不必了解片段的存储场地。
局部数据模型(逻辑透明)透明性
指用户或应用程序应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型。
复制透明性
Nosql数据库
关系型数据库缺点
不满足高并发读写需求
不满足海量数据的高效率读写
不满足高扩展性和可用性
Nosql数据库
Nosql数据库特点
灵活的可扩展性
灵活的数据模型
与云计算结合
按需获取云上资源
CAP理论
C(Consistency)一致性
-致性是指更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致,与ACID的C完全不同。
A(Availability)可用性
可用性是指服务一直可用而且是正常响应时间。
P(Partition tolerance)分区容错性
分区容错性是指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。
CA
优先保证一致性和可用性,放弃分区容错。缺点:不再是分布式系统
CP
优先保证一致性和分区容错性,放弃可用性。缺点:牺牲用户体验
AP
优先保证可用性和分区容错性,放弃一致性。缺点:全局数据的不一致性
BASE理论
基本可用BasicallyAvailable
指分布式系统在出现不可预知故障的时候允<font color="#e74f4c">许损失部分可用性允许分区失败</font>的情形出现。
软状态Soft state
硬状态数据库状态必须一直保持数据库一致性。软状态状态<font color="#e74f4c">可以有一段时间不同步</font>。
最终一致性Eventuallyconsistent
系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。
与SQL数据库的比较
SQL数据库
数据类型
结构化
数据一致性
强一致性
事务
高事务性
扩展性
一般
数据容量
有限数据
标准化
是
技术支持
高
可维护性
复杂
Nosql数据库
数据类型
非结构化
数据一致性
弱一致性
事务
弱事务性
扩展性
好
数据容量
海量数据
标准化
否
技术支持
低
可维护性
复杂
分类
键值数据库
(key-Value)数据库
键可以是一个字符串对象,值可以是任意类型的数据。如整型、字符型、数组、列表、集合等。
相关产品
Redis、Riak、<font color="#e74f4c">SimpleDB</font>、Chordless、Scalaris、Memcached
优点
扩展性好,灵活性好,大量写操作时性能高
缺点
无法存储结构化信息,条件查询效率较低
列族数据库
列式存储
相关产品
BigTable、Hbase、Cassandra、<font color="#e74f4c">HadoopDB</font>、GreenPlum、PNUTS
优点
查找速度快,可扩展性强,容易进行分布式扩展,复杂性低
缺点
功能较少,大都不支持强事务一致性
文档数据库
相关产品
MongoDB、CouchDB、Terrastore、ThruDB、RavenDB、SisoDB.CloudKit、Perservere、Jackrabbit
键/值(value)是版本化的文档
优点
性能好(高并发),灵活性高,复杂性低,数据结构灵活提供嵌入式文档功能,将经常查询的数据存储在同一个文档中既可以根据键来构建索引,也可以根据内容构建索引
缺点
缺乏统一的查询语法
图形数据库
相关产品
Neo4J、OrientDB、InfoGrid、Infinite Granph、GraphDB
优点
灵活性高,支持复杂的图形算法,可用于构建复杂的关系图谱
缺点
复杂性高,只能支持一定的数据规模
数据库应用
数据库安全性技术
视图
保存在数据库中的SELECT查询语句,其内容由查询定义,视图不是真实存<br>在的基础表,而是从一个或者多个表中导出的虚拟的表。
优点<br>
视点集中<br>
简化操作
定制语句
合并分割数据
安全性
缺点
效率不如物化视图,物化视图会将结<br>果固化<br>
存储过程
是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存<br>储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数<br>(如果该存储过程带有参数)来执行它。存储过程供第三方调用,从而避免了向<br>第三方提供系统的表结构,保证了系统的数据安全。<br>
数据库完整性技术<br>
触发器
一种特殊的存储过程,当数据发生变化时,触发器会产生某种动作。使<br>用触发器有助于强制保持数据库的数据完整性。
数据库性能优化技术<br>
反规范化技术
优点
避免进行表之间的连接操作,提高数<br>据操作的性能。
缺点
数据的重复存储,浪费磁盘空间<br>
可能出现数据的完整性与一致性问题。
反规范化数据不一致问题解决方案
触发器
事务机制
批处理脚本
应用保证
反规范化分类
增加冗余列
指在多个表中具有相同的列,可以在查询时避免连接操作
增加派生列
指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减
少计算量,从而加快查询速度。
重新组表
指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表
重新组成一个表来减少连接而提高性能
水平分割表
按记录进行分割,把数据放到多个独立的表中,主要用于表数据规模
很大、表中数据相对独立或数据需要存放到多个介质上时使用
垂直分割表
对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另
一个表中, 在查询时减少 I/0 次数
分区技术
优点<br>
减少维护工作量
增强数据库的可用性
均衡I/O,减少竞争
提高查询速度
水平分区
子主题
主从复制<br>
主服务器负责数据的写操作,从服务器负责数据的读操作
优点<br>
避免数据库单点故障<br>
提高查询效率
主从复制的步骤
1、从库连接主库,请求binglog同步<br>
2、主库dumpd读取binglog
3、主库发送binglog中的日志信息
4、从库将接到的日志信息存放到relay log
5、从库读取relay log 中的日志信息
6、从库将数据库更新时间在存储引擎中执行
Mysql主从复制的类型
基于SQL语句的复制<br>
优点:简单、日志量少
缺点:有不确定性问题,如主从服务器时间不一致。
基于行的复制<br>
优点:解决不确定性问题
缺点:日志量大
混合复制
选取两者的优点,有不确定性问题的选择基于行的复制,否
则选择基于SQL语句的复制。
Mysql主从同步的同步模式<br>
全同步
半同步
异步
分表(也叫分片)
解决并发能力、I/O性能提升、将一张大表分成若干小表,业务<br>同时访问多个表。
分库
将原本存放在一个实例上众多分类的数据(表),分开存放到不同的实例
上。有利于差异化管理。
分布式
分布式事务
2PC协议
在准备阶段,如所有节点返回OK,则在提交阶段执行提交操作,否则就<br>在提交阶段执行回滚操作。<br>
分准备阶段和提交阶段
分布式缓存
redis
用作缓存组件时,其基于内存的读写特性,比基于磁盘读写的数<br>据库性能要高很多,适合缓存高频热点的数据,来提高读性能。这样可<br>以降低对数据库服务器的查询请求,提高系统性能。
子主题
由于存在“一份数据存放了多个位置”<br>,所以要考虑数据的一致性<br>问题。所以读写数据的基本步骤为
读数据
① 根据key读缓存;
② 读取成功则直接返回;
③ 若key不在缓存中时,根据key 读数据库 ;
④ 读取成功后,写缓存 ;
⑤ 成功返回
写数据
① 根据key值写数据库;
② 成功后更新缓存key值 ;
③ 成功返回。
nosql数据库
CAP理论
C(Consistency)一致性<br>
一致性是指更新操作成功并返回
客户端完成后,所有节点在同一
时间的数据完全一致,与ACID的
C完全不同
A(Availability)可用性
可用性是指服务一直可用,而且
是正常响应时间
P(Partition tolerance)分区容错性
分区容错性是指分布式系统在遇
到某节点或网络分区故障的时候,
仍然能够对外提供满足一致性和
可用性的服务。
BASE理论<br>
基 本 可 用
B a s i c a l l y A v a i l a b l e
指分布式系统在出现
不可预知故障的时候,
允许损失部分可用性。
允许分区失败的情形
出现
软 状 态
S o f t s t a t e
软状态<br>状态可以有一段时间<br>不同步。<br>
最 终 一 致 性<br>E v e n t u a l l y c o n s i s t e n t
系统中所有的数据副
本,在经过一段时间
的同步后,最终能够
达到一个一致的状态。
nosql数据库与sql数据库比对
子主题
nosql数据库特点
数据模型灵活、高可扩展性、 高性能、低一<br>致性、 适用于大数据和实时数据处理等
nosql数据库类型<br>
KV键值对<br>
应用:缓存redis、 日志<br>
列式数据库<br>
大数据分析
适合一次写 多次读取
文档型数据库<br>
web应用
如发博客
图形数据库
0 条评论
下一页