计算机网络/数据库: 知识回顾与总结以及每日新增知识(7.11)

1、数据库事务实现原理

分为原子性、隔离性、一致性、持久性
其中原子性表示了该事务成功与失败的两种情况,成功时所有的提交都要成功,不存在一部分成功的说法,失败则全部失败,不存在只失败一部分的说法
隔离性表示两个不同的事务互相独立,不互相影响,例如AB两个事务,A就是A,B就是B
一致性表示两个事务之间出现关联时,前后保持一致,比如A+B=100,当A给B转账50之后A加B依旧是100
持久性表示当数据完成后,存储在数据库中的数据会一直持续存在,不会说半路消失

2、事务的锁有哪些?

1)共享锁,即读加锁,不能写并且可以并行读
2)排它锁,写加锁,其他读写阻塞
3)表锁,最大的锁,锁住整张表,读写挂起
4)行锁,锁住整行
5)间隙锁,可分为不包含间隙锁和包含间隙锁

3、MCVV

多版本并发控制,主要用于数据库存储引擎中,是通过保存数据某个节点的快照来存储,不同的存储引擎下MCVV的实现是不同的,常见有乐观并发控制和悲观并发控制

4、乐观并发控制和悲观并发控制

乐观并发控制并不会对数据进行上锁,是在前一个读取数据的人读取数据之后,后面进行了更新数据,之后由系统进行自查,发现数据不一致将产生错误,前一个读取数据的人数据将进行回滚并且重新读取,主要用于数据争用不大且偶尔回滚事务的成本低于读取数据时锁定数据的成本

悲观并发控制,是处理与加锁点产生冲突的避免方式,当数据的变化与加锁点产生冲突,该锁只有加锁人能够解除,有效避免了固定点不希望发生改变。主要用于数据争用激烈的环境中,以及发生并发冲突时用锁保护数据的成本低于回滚事务的成本的环境中。

5、TCP连接出现大量TIME_WAIT的解决办法

1)TIME_WAIT是在tcp断开连接,依旧保持一段时间,当时间过了才会释放端口,当对端口连接请求过多时就出现大量TIME_WAIT,会占用端口资源,造成资源浪费
2)当出现的时候可以通过修改TCP/IP的内核参数来处理状态,通过这样调整能大大提高服务器负载能力同时能够一定程度防止DDOS攻击
3)如果本身连接数就很高,可以通过优化端口范围,进一步提高服务器并发能力

详情点击

6、tcp半连接和全连接

客户端到服务器的连接是当客户端connect发送连接,服务端阻塞在listen步骤,当服务器监听到客户端的连接之后两端进行三次握手,在系统中存在半连接队列(syns queue)和全连接队列(accpet queue),当两端进行第一次握手时,将信息存入半连接队列,当两端第三次握手完成时,会查看全连接队列是否满了,如果没满则将信息从半连接队列挪出移至全连接队列,连接完成建立,如果全连接队列满了,则舍弃本次握手,隔一段时间再次发送第二次握手(注意是第二次,是服务端发送syn请求)进行连接,如果没满则进入,满了则舍弃(默认请求次数为5次)
syn floods攻击就是针对半连接状态的,在握手的第一步不断发送请求,让队列满了,那么其他的正常请求就无法入队,并且对服务端回复的ack进行舍弃

7、rpc框架

rpc框架主要作用是用于远程过程调用,是一种思想,而不是一种规范,举个栗子,AB在同一个进程可以很好通信,但是如果将其中一个移出进程,那么需要的通信过程就会更加复杂,那么rpc就是用于这个的,也可以适用于进程间的通信。

8、动态库和静态库

动态库在linux中以.so结尾,在windows中以dll结尾,又称共享库,因为可以随时更新链接代码,故取名动态,在使用过程中将编译文件编译后和需要使用的库源码文件压缩,两者一起发送出去,其中编译文件可以随时更新
静态库在linux中以.a结尾,在windows中以.lib结尾,在使用中直接把编译文件打包压缩 ,形成静态库文件。

9、程序编译过程

有四个阶段,预处理阶段、编译阶段、汇编阶段、链接阶段
其中预处理过程去注释,同时将#代码进行替换,文件有.c到.i的过程
编译阶段,将c语言等语言文件编程为汇编代码,文件由.i到.s的过程
汇编阶段,将汇编代码编程为机器代码(二进制代码),文件由.s到.o的过程
链接阶段,链接静态库或者动态库的过程,文件最终到达可执行文件

10、RAID磁盘冗余阵列

好比逻辑管理层,企业中存储数据使用硬盘,硬盘过多也会过于庞杂,通过raid将磁盘规范化,整合成一整块逻辑硬盘,调用时通过raid管理进行调用,在操作系统下作为一个大型的存储系统,集合了多个硬盘的总和
提高了磁盘的安全性,当一块磁盘损坏时,会有其他磁盘补充,同时提高了其并行度,对规范化管理起到极大作用

详情点击

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值