面经学习笔记

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 读都不会有问题。

相关推荐
麻辣布丁1 小时前
java基础篇面试模拟
面试·职场和发展
影视飓风TIM1 小时前
C++11 新特性:Lambda表达式、std::function与std::bind
开发语言·c++
程序员清风1 小时前
为什么不推荐走Agent开发?
java·后端·面试
欧特克_Glodon2 小时前
OpenCV计算机视觉开发入门与实践<三十六>:机器学习概述
c++·opencv·机器学习·计算机视觉
小七在进步2 小时前
C++入门(3)
android·java·c++
码匠许师傅2 小时前
【设计模式精讲】27.模板方法模式(Template Method)
c++·设计模式·uml·模板方法模式
王老师青少年编程2 小时前
信奥赛csp初赛高频考点【排序算法】(详细解析)
c++·排序算法·csp-j·csp·高频考点·初赛·信奥赛
qeen872 小时前
【C++】C++中的错误处理机制-异常
开发语言·c++·异常
Zixhy2 小时前
Boost 库实现异步高并发服务器
linux·服务器·c++