zhaowcheng

Nix 入门 - 1 - 简介

1 Nix 是什么 Nix 是一个纯函数式的包管理器。 纯函数式的意思是输入决定输出:比如一个求平方的函数 f,当输入为 1 时输出为 1,当输入为 2 时输出为 4。只要输入不变,输出就不变,输入改变,输出一般也会改变。虽然从理论上来说纯函数式也有可能存在不同的输入得到相同的输出的情况,但是像 Nix 这种输入内容非常多而且使用哈希算法的情况下概率非常小,这个在密码学上叫做哈希碰撞,我...

PostgreSQL WAL(Write-Ahead Logging)

1 简介 PostgreSQL 以页(page,默认 8KB)为单位对数据文件进行访问,为了提高访问的效率,会先把需要访问的页从磁盘加载到共享缓冲区(shared_buffers,内存)再进行操作,然后由后台写入进程(bgwriter)定期把缓冲区中的脏页(被修改过的)写入磁盘。由此带来一个问题,就是当发生数据库故障、操作系统故障、电源故障等情况时,缓冲区中还未来得及写入磁盘的数据会丢失。...