2020 年总结:勇敢面对

2020 年发生了许多黑天鹅事件,笔者在这一年也经历了许多意料之外的事情,既定的学习计划一再延期。总体来看,任何选择都伴随着一定的风险,充斥着不确定性,但是不管遇到什么意外事件,笔者认为我们都要学会拥抱变化,勇敢地去面对问题、接受问题、解决问题。

CPU 缓存一致性与内存屏障

在现代的 CPU(大多数)上,所有的内存访问都需要通过层层的缓存来进行,了解 CPU 缓存更新的一致性问题对我们设计与调试程序具有很大的帮助。这篇文章会介绍 CPU 的缓存系统,以及使用内存屏障进行缓存同步。

The Five-Minute Rule 30 年回顾

5分钟法则(The Five-Minute Rule)是用来衡量数据驻留在内存还是从磁盘进行访问的经验法则:在数据被读写之前必须被移动到主存的情况下,如果某项数据被访问频率的足够高,那么将它缓存在内存中比驻留在二级存储(磁盘)中更划算。

漫谈分布式共识算法与数据一致性

分布式系统中最重要的抽象之一就是共识:所有的节点就某一项提议达成一致。分布式系统中的一个或多个节点可以提议某些值,由共识算法来决定最终值,而共识的核心思想在于,决定一致的结果,并且一旦决定,就不能发生改变。本篇文章总结了常见的共识算法与分布式领域的一些理论,希望能获得较为全面的认知。

为什么 MySQL VARCHAR 小于 65535 · Why

CHAR 与 VARCHAR 是 MySQL 中常用的存储字符串的数据类型,在官方文档的介绍中 CHAR 类型的可定义最大长度为 255,而 VARCHAR 类型的最大长度为 65535,然而经过操作发现 VARCHAR 实际可创建的最大“长度”是一个不定值,这篇文章将会对这个问题进行分析。