Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

codedump.info

codedump

Get the latest updates from codedump directly as they happen.

Follow now 58 followers

Latest posts

Last updated 5 days ago

http://localhost:1313/page/weekly/

5 days ago

周刊目录 # 2022年 # 周刊(第14期):重读Raft论文中的集群成员变更算法(二):实践篇 周刊(第13期):重读Raft论文中的集群成员变更算法(一):理论篇 周刊(第12期):Page oriented类存储引擎里可能同时存在多种结构 周刊(第11期):mmap适用于存储引擎吗? 周刊(第10期):“忘记目标,专注于体系” 周刊(第9期):Mozilla rr使用简介...

写代码与做菜

4 months ago

过去的几年里,由于长期在家远程办公,多了很多自己做菜的机会,厨艺也精进了不少。目前一些普通的家常菜,即便我之前没有做过,但是可以根据网上的视频教程就能

写代码与做菜

4 months ago

过去的几年里,由于长期在家远程办公,多了很多自己做菜的机会,厨艺也精进了不少。目前一些普通的家常菜,即便我之前没有做过,但是可以根据网上的视频教程就能还原大体的风味出来。究其原因,我想是写代码中模块化的思想,用在了做菜上。 不妨把做菜大体分为三个阶段: 准备阶段:包括一些预处理,如改刀、腌制、去腥等等; 烹饪阶段:使用日常说的煎炒烹炸等手段对材料进行烹制,包括煮、红烧、煎、炒、清蒸等等; 收尾阶段:烹饪阶段完毕之后,还要对菜进行一些收尾工作,例如收汁、清蒸鱼时的泼油等等。 做菜三阶段 按照写代码模块化的思想,当把这些阶段划分成具体的模块之后,模块之间进行排列组合之后,就可以做成不同的菜,举例来说,红烧鱼和清蒸鱼是两种不同的料理鱼的方式,但是却有着相同的预处理阶段: 准备阶段:鱼去腥、鱼背花刀方便入味 烹饪阶段: 清蒸鱼:清蒸 红烧鱼:调入酱料红烧 收尾阶段:...

https://www.codedump.info/page/weekly/

over 2 years ago

周刊目录 2022年 周刊(第14期):重读Raft论文中的集群成员变更算法(二):实践篇 周刊(第13期):重读Raft论文中的集群成员变更算法(一):理

周刊(第24期):sqlite并发读写的演进之路

almost 3 years ago

引言:本文梳理sqlite并发读写方案的演进之路。 sqlite并发读写的演进之路 # 概论 # sqlite底层的存储基于B-tree,B-Tree对底层存储的基本读写单位是页面,而每个页面都由全局唯一的页面编号与之对应,一般来说页面编号从1开始递增。 类B-Tree的存储引擎修改数据的流程如下图所示: b-tree 从上图中,需要区分B-Tree类的存储引擎几个核心的模块: B-Tree算法模块:从页面管理器中读取页面到内存,进行逻辑的修改,修改完毕之后标记该页面为脏页面,这样页面管理器就知道哪些页面被修改,后续需要进行落盘。 页面管理器:负责向B-Tree算法模块提供根据页面编号读、写页面的接口。 数据库文件:这其实不是一个模块,泛指在磁盘上的数据库相关文件,任何的修改最终都要落到数据库文件。在sqlite中,数据库文件是单一文件,在其他存储引擎里可能是一组相关的文件。...

周刊(第24期):sqlite并发读写的演进之路

almost 3 years ago

引言:本文梳理sqlite并发读写方案的演进之路。 sqlite并发读写的演进之路 概论 sqlite底层的存储基于B-tree,B-Tree对底层存储的基

周刊(第23期):图解Blink-Tree:B+Tree的一种并发优化结构和算法

almost 3 years ago

引言:《Efficient Locking for Concurrent Operations on B-Trees 》论文中提出了一种称为“Blink-Tree”的数据结构,这个数据结构提供了B+Tree并发访问的一些优化方式,本文对这篇论文进行解读。 概论 # 由于Blink-Tree本质上是B+Tree的一种优化,所以要理解它首先要对B+Tree有一些了解,在这以前介绍过B+Tree,就不在这里阐述了,可以参考: B树、B+树索引算法原理(上)...

周刊(第23期):图解Blink-Tree:B+Tree的一种并发优化结构和算法

almost 3 years ago

引言:《Efficient Locking for Concurrent Operations on B-Trees 》论文中提出了一种称为“Blink-Tree”的数据结构,这个数据结构提供了B+Tree并发访问的一些优化方式,

周刊(第23期):《Concurrency of Operations on B-Trees》论文笔记

almost 3 years ago

引言:《Concurrency of Operations on B-Trees》论文中提供了一些并发访问B-Tree的优化算法,本文对这篇论文进行分析。 Concurrency of Operations on B-Trees # 本文将假设读者对B-Tree有一定的了解,如果还不了解可以先看看之前的文章:...

周刊(第22期):图解一致性模型

almost 3 years ago

引言:本文使用大量的图例,同时没有难懂的公式,意图解释清楚一致性模型要解决什么问题,以及三种一致性模型:顺序一致性、线性一致性、因果一致性。 图解一致性模型 # 概述 # 解决什么问题? # 分布式系统要保证系统的可用性,就需要对数据提供???定的冗余度:一份数据,要存储在多个服务器上,才能认为保存成功,至于这里要保存的冗余数,有Majority和Quorum之说,可以参考之前的文章:周刊(第17期):Read-Write Quorum System及在Raft中的实践。 同一份数据保存在多个机器上提供冗余度,也被称为副本(replica)策略,这个做法带来下面的好处: 容错性:即便分布式系统中几台机器不能工作,系统还能照常对外提供服务。...

周刊(第22期):图解一致性模型

almost 3 years ago

引言:本文使用大量的图例,同时没有难懂的公式,意图解释清楚一致性模型要解决什么问题,以及三种一致性模型:顺序一致性、线性一致性、因果一致性。 图解一致性

周刊(第21期):Lamport时钟介绍

almost 3 years ago

引言:在分布式系统中,由于有多个机器(进程)在一起协调工作,于是如何定义分布式系统中事件的先后顺序就成了难题,本文介绍论文 《Time, Clocks, and the Ordering of Events in a Distributed System》中提到的Lamport时钟。...