系统日知录

《系统日知录》会持续更新数据库、分布式系统、存储、ML System 相关的想法、翻译、笔记和文章,通过深入浅出的持续解析,帮助业务开发程序员建立底层知识体系。 写代码不是全部,系统是综合学问。 不谋全局者,不足谋一域; 不学系统者,不足学代码。 专栏是买断制,在保证每篇文章的知识密度的基础上,持续不定期更新。会随缘将一些文章分享到公众号:“木鸟杂记”。关注该公众号后回复:“优惠券”,可以领取本专栏八折优惠券。 关于专栏内容,想交流可以留言、也可加我微信 qtmuniao。有个交流群,如果想加群可备注。

查看专栏
系统日知录

专栏介绍

如果想要试读,可以点击标签页的“免费预览”,查看当前几篇露出的免费文章。

简介

现在初步打算围绕“系统”开几个系列:

图数据库101系列

每天学点数据库系列

工业界架构解析系列

论文导读系列

好文翻译系列

系统,既是数据库系统中的系统,也是分布式系统中的系统,也是人类组织系统中的系统,也可是一切有迹可循、有规律可考的系统。学习系统的架构,借鉴系统的组织,使我们的认知也系统起来。

由于是买断制,因此会不定期更新,请谨慎订阅。作为给先订阅同学的福利,如果有同学通过你的分享订阅本专栏,你可以拿到该同学订阅费用的 20% 的抽成~ 分享方式见专栏介绍。另外,可以关注我的公众号:“木鸟杂记”,回复:“优惠券”,即可获取订阅的八折优惠券。

如果有任何建议以及想看的系统文章,欢迎留言~ 另外我们还有个专门读者群和大家进行写作方向沟通、技术交流、职场交流,在订阅后可以加我微信:qtmuniao 拉你入群。订阅后,任何关于数据库和分布式系统方向的就业和发展咨询,也可以找我聊。

最后,欢迎在微信中打开订阅:https://xiaobot.net/p/system-thinking

ps:我的公开博客:https://www.qtmuniao.com/

当前文章列表 面试系列

Infra 面试之数据结构(一):阻塞队列

Infra 面试之数据结构(二):无锁队列

infra 面试之数据结构三:事件队列

infra 面试之数据结构四:哈希表

Infra 面试之数据结构五:顺序组装

Infra 面试之数据结构六:LRU

infra 面试之数据结构七:堆

infra 面试之数据结构八:前缀树

RocksDB 相关的一些面试题

数据库面试的几个常见误区 ὒ5

图数据库系列

图数据库资料汇总

译: Factorization & Great Ideas from Database Theory

Memgraph 系列(二):可串行化实现

Memgraph 系列(一):数据多版本管理

【图数据库系列四】与关系模型的“缘”与“争”

【图数据库系列三】图的表示与存储

【图数据库系列二】 Cypher 初探

【图数据库系列一】属性图模型是啥、有啥不足 ὒ5

数据库

译:数据库五十年来研究趋势

译:数据库中的代码生成(Codegen in Databas...

Facebook Velox 运行机制解析

分布式系统架构(二)—— Replica Placement

【好文荐读】DuckDB 中的流水线构建

数据处理的大一统——从 Shell 脚本到 SQL 引擎

Firebolt:如何在十八个月内组装一个商业数据库

论文:NUMA-Aware Query Evaluation Framework 赏析

优质信息源:分布式系统、存储、数据库 ὒ5

ER 模型背后的建模哲学

什么是云原生数据库?

译:时下大火的向量数据库,你了解多少?

向量数据库 Milvus 架构解析(三):索引构建和数据检索

向量数据库 Milvus 架构解析(二):数据插入

向量数据库 Milvus 架构解析(一):架构概览

Azure DB SQL 背后系统 Socrates

架构速览(一):LinkedIn 的分布式 NoSQL 存储 Espresso

数据库如何进行序列化和反序列化,如何进行索引设计?

存储

存储引擎概述和资料汇总 ὒ5

译:RocksDB 是如何工作的

RocksDB 优化小解(二):Prefix Seek 优化

RocksDB 优化小解(三):Async IO

大规模系统中使用 RocksDB 的一些经验

一文带你重新认识“宕机一致性”

现代操作系统最核心抽象之一 —— 文件 ὒ5

像推公式一样推出 LSM-Tree

大道至简,返璞归真——构建和维护星球最强对象存储系统的一点微小经验

分布式系统

用 Raft 术语来表述 MultiPaxos

Basic Paxos 再回首

流批一体 Apache Hudi (一):概念和架构速览 ὒ5

分布式存储系统在大数据处理中扮演着怎样的角色?

一文带你重新认识“宕机一致性”

代码&编程基础

不变性——写“对”代码的利器

影响我写代码的三个 “Code” ὒ5

Folly 异步编程之 futures

关于接口和实现

C++ 私有函数的 override

ErrorCode 还是 Exception ?

数据结构与算法(四):递归和迭代

所有递归都可以改写成循环吗?

为什么要学数据结构和算法?对程序员来说有多重要?

从零构造一个极简文件系统

每天学点数据库系列

【每天学点数据库】Lecture #13:并行粒度

【每天学点数据库】Lecture #13: 并行执行

【每天学点数据库】Lecture #12:数据访问

【每天学点数据库】Lecture #12:执行模型

【每天学点数据库】Lecture #11:Join 算法

【每天学点数据库】Lecture #10: 排序和聚合算法

【每天学点数据库】Lecture #09:索引的并发安全

【每天学点数据库】Lecture #09:Locks 和 Latches

【每天学点数据库】Lecture #08:B+ 树的权衡和优化

【每天学点数据库】Lecture #07:哈希表概要

【每天学点数据库】Lecture #07:哈希模式

【每天学点数据库】Lecture #08:树型索引

【每天学点数据库】Lecture #06:内存管理

【每天学点数据库】Lecture #05:数据压缩

【每天学点数据库】Lecture #05:负载类型和存储模型

【每天学点数据库】Lecture #04:数据编码

【每天学点数据库】Lecture #04:日志构型存储

【每天学点数据库】Lecture #03:Data Layout

【每天学点数据库】Lecture #03: Database and OS

【每天学点数据库】Lecture #03:存储层次体系

【每天学点数据库】Lecture #01:关系代数

【每天学点数据库】Lecture #01:关系模型

【每天学点数据库】Lecture #01:数据模型

杂谈

生活工程学(一):多轮次拆解ὒ5

生活工程学(二):处理复杂依赖

系统中一些有趣的概念对

系统设计时的简洁和完备

工程经验的周期

关于“名字”拿来

Cache 和 Buffer 都是缓存有什么区别?

英国剑桥初次见闻(一)

从系统设定来聊聊最近看的一部动画

Y Combinator 2024 年关注 20 个创业领域是什么

该专栏创作了如下内容

##本专栏的正确“打开姿势”和“优惠信息”

由于对各种矩阵运算物理意义的理解总是跟不上,因此尽管多年多次尝试入门机器学习,却总是被拒之门外。偶然间同事推荐了 MIT 那门经典的线性代数公开课,听了几节,煞是过瘾,之前紧闭的大门竟有打开一丝......

##有趣的线性代数(一):矩阵向量乘法的一种理解

我之前在数据处理的大一统——从 Shell 脚本到 SQL 引擎这篇文章中提到过,进行数据处理的一个标准模型是:数据集标准化、算子可组合标准化的数据集合:对应待组装对......

##使用 ray.data 进行大规模数据处理(一):用户接口

虽然上云的最大红利被 Amazon AWS 吃走了,但是 Google 在 2014 年将集群管理系统 Borg 经验,开源为 k8s。短短几年间,k8s 就成了云上容器编排系统的事实标准,从而......

##“一文打尽” Google Borg(k8s 前身)的精华 —— 任务调度

内容主要来自 CMU 15445 Fall 2022 的课程讲义和授课视频,结合笔者的一些内核开发实践,形成一系列相对独立、但又相对勾连的小文。如果你对数据库内核开发感兴趣,欢迎关注。<......

##【每天学点数据库】Lecture #14:查询优化概述

前缀树,也叫字典树、Trie 树。利用树的特性:从根节点到叶子节点能确定唯一路径所有路径可以在不同程度上共享前缀来索引一个“词库”。通常来说,该“词库”......

##infra 面试之数据结构八:前缀树

一般面试官不会让你直接实现一个堆,而多是用堆(或者优先级队列)来解题。常见的题目有:有一堆数,找出最小的前 k 个数。一个整数流,输出当前看到所有数字的中位数。

##infra 面试之数据结构七:堆

LRU 在基础架构面试中考察的非常高频,因它是一道典型的、都有思路、但是细节很多的题目。Ὂ1 解这道题的关键是,如何管理复杂度。题目leetcode 146,感兴趣的可以先......

##Infra 面试之数据结构六:LRU

这是我在很早之前遇到的一个题,很有意思,所以到现在仍然记得。题意借用了 TCP 的上下文,要求实现 TCP 中一个“顺序组装”的关键逻辑:对于 TCP 层来说,IP 层的 pack......

##Infra 面试之数据结构五:顺序组装

这是我面试的时候喜欢问的一道基础题,我喜欢这道题的主要原因在于其“丰俭由人”:基础版实现并不难:但仍需要做些假设、处理些细节可以有很多 Follow U......

##Infra 面试之数据结构四:哈希表

这是基础架构程序员面试系列第三篇,本系列主要是讲一些面试中常被问到的偏数据结构的题目(而不是偏算法),主要侧重考察工程代码能力。前两篇:Infra 面试之数据结构(一):阻塞队列<......