面经学习笔记

1.关于分布式存储

分布式存储需要对数据进行切片,然后要确定数据所处的节点,比如使用一致性哈希,一致性哈希能够相比于直接哈希更均匀的把数据分配到不同节点而且移动量比较少,只移动一部分。

分布式存储也需要做冗余备份,然后结构包括主从结构的,无主结构,多主库结构的。

2.关于视频都存储,以及带宽的优化

视频是分成数据块存储在不同的节点,使用元数据记录数据块所处的位置可以根据元数据去获取数据。

采用主从结构,主库写从库读,也就是内容分发到边缘的服务器可以减少直接对中心数据库的访问,降低了 90%以上的访问。

3.RDB 和 AOF 的全称

Redisdatabase

append only file

4.MySQL 日志相关的内容

MySQL 有三种日志,undolog 用于数据回滚,事务执行失败回滚,还有 Redolog 用于持久化宕机恢复 以及 binlog。

redolog 和 binlog 结合起来使用两阶段提交可以确保两个日志都记录完全,也方便从库去跟踪主库。Redolog 先标记 prepare,然后 binlog 标记 commit,然后 Redolog 标记 commit。

5.MVCC 多版本并发控制相关的内容

用于实现可重复读,不会读大于自己的 id 的事务的数据,以及虽然小于自己但是还未提交还处于活跃状态的事务的数据。

对于删除和更改的数据可以通过放入 undolog 用于后续回滚。多版本并发控制加上临键锁实现了可重复读而且快照读,或者单纯的 update 读都不会有问题。

相关推荐
努力实干11 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
Interview Aid11214 小时前
Snowflake OA 面试真题:前缀和、BFS 与动态规划
面试·动态规划·宽度优先
syagain_zsx14 小时前
jsoncpp 使用指南:编译链接、Json::Value 取值与高频坑
c++·json·库·http格式
学顶教育14 小时前
学顶教育:公务员面试常见问题!
面试·职场和发展
布莱克60515 小时前
理解 = delete 与 = default:两种赋值语义的差异
c++
小小、码农16 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++
库玛西16 小时前
外部排序全解析:败者树、置换-选择排序与最佳归并树
c语言·数据结构·c++·笔记·考研·算法
库玛西16 小时前
计算机网络第三章:数据链路层
服务器·网络·计算机网络·考研·算法·面试
专业程序开发源18 小时前
springboot校企合作双选会一站式预约与面试系统16010-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·面试·php·课程设计