More than code

More Than Code
The efficiency of your iteration of reading, practicing and thinking decides your understanding of the world.
database

Innodb Undo

Innodb Undo 在前文中已经介绍了Innodb中的Undo Log的作用,主要有三个点,分别是保存旧版本,回滚事务,以及作为持久化的活跃事务状态表。这篇文章中来细节介绍一下Innodb中的Undo Log,对于Undo Log来说,需要关注的有:Undo Log是如何组织的,Undo Log的类型,Undo Log何时做GC,Innodb如何通过Undo做事务回滚,保证事务原子性,在Crash Recovery的时候,Undo起到了什么作用。 Undo Log 组织 先回忆一下,Innodb中的一个表空间下…

2023年11月11日 2条评论 902点热度 0人点赞 sheep 阅读全文
database

Innodb Introduction

这篇文章简略介绍一下Innodb中的一些组件,以及一些实现的优化。后续会针对不同的模块做细致的分析。之所以要先做一个简略的介绍,是因为Innodb本身的代码结构层次划分的并不是很清晰,无法层层递进式的去分析,个人在阅读源码的时候流程也是这样,先有一个大概的思路,再去扣细节。所以先有一个简略的介绍,每个模块的作用都是什么,也可以让读者在后续文章的阅读中有更多的背景,也省略了后续文章中需要介绍相关模块背景的时间。 可能叫Introduction不是很妥,因为并没有很全面的介绍,这篇文章我们主要关注前台的读写链路。 In…

2023年9月20日 0条评论 798点热度 0人点赞 sheep 阅读全文
未分类

brpc-bvar

brpc-bvar 这篇文章介绍一下bvar的实现,之前有写过一些brpc的文章放到了我的博客中,有同学感兴趣也可以去看看:http://heavensheep.xyz/?s=brpc 有关bvar的实现和使用方法可以看这里: https://github.com/apache/brpc/blob/master/docs/cn/bvar_c%2B%2B.md https://github.com/apache/brpc/blob/master/docs/cn/bvar.md 因为我也没用过多维度的bvar,所以就只…

2023年7月2日 0条评论 1053点热度 1人点赞 sheep 阅读全文
其他

The Design and Implementation of Modern Column-Oriented Database Systems 笔记

The Design and Implementation of Modern Column-Oriented Database Systems 笔记 刚刚入门AP相关的技术,很多地方不是很懂,所以读一读这本册子来获取一个大概的overview Introduction 一些背景介绍什么的就不贴在这里了。这篇文章主要就是结合MonetDB,C-Store以及VectoeWise这三个系统讲述了列存数据库的大体架构以及一些主要使用的技术。不过要注意的是这里面说的技术虽然整体方向仍然是不变的,但是很多技术的细节以及选择…

2023年6月25日 1条评论 925点热度 1人点赞 sheep 阅读全文
未分类

GPT as innodb master

GPT as innodb master 向GPT学习innodb。虽然我还不清楚他回答的到底是不是正确的,但是看上去还是蛮正确的。 感觉只需要几句prompt GPT4就变成innodb大师了。 粘一下我和他的对话记录,我的目的是想知道Innodb有没有类似ARIES中提到的CLR机制。

2023年5月3日 1条评论 969点热度 1人点赞 sheep 阅读全文
未分类

C++ Coroutines Notes

C++ Coroutines 这个文章算是一个个人的笔记,想简单记录一下Coroutine相关的细节,以便后续回忆。如果想从头学习coroutine的话,我更推荐这个系列,本文也是从这个系列中摘取一些关键点记录而已。 Awaiter A type that supports the co_await operator is called an Awaitable type. An Awaiter type is a type that implements the three special methods tha…

2023年4月23日 0条评论 907点热度 0人点赞 sheep 阅读全文
未分类

async_simple Coroutine

async_simple Coroutine 简单看看async simple的coroutine的实现。 async_simple的coroutine是通过Lazy<T>实现的,即每一个Coroutine的返回值都是Lazy<T>,然后我们可以通过co_await Lazy来等待一个coroutine的返回值。 所以这里要关注的有两个点,一个是Lazy是怎么开始执行一个coroutine的,即关注Lazy的promise_type,另一个就是在coroutine内去co_await一个La…

2023年4月23日 0条评论 922点热度 5人点赞 sheep 阅读全文
rocksdb

RocksDB WAL概览

WAL 简单看一下RocksDB的WAL SyncWAL 接口处有一个叫SyncWAL的函数,作用是把当前的日志同步到盘上。 相关的数据结构有一个deque<LogWriterNumber>,以及一个锁叫做log_write_mutex_。 其中LogWriterNumber中保存了log filter number,log writer,一个标识当前日志正在进行Sync的标记,以及pre_sync_size,代表在调用Sync之前的已经写入当前日志的数据大小,这里注释是说这个值会被记录在Manifes…

2023年4月16日 0条评论 961点热度 0人点赞 sheep 阅读全文
未分类

async_simple Future/Promise 概览

async_simple Future/Promise 概览 简单看看async_simple的Future/Promise。注意这里不会关注coroutine/uthread部分 Future/Promise这块和folly,以及seastar的接口都是类似的,之后可以再写一下他们实现上的区别。 简单来说,就是Promise可以获取一个对应的Future,对应生产者和消费者。然后Future可以通过then(Func &&func)来创建一个continuation,表示在这个future获取到结…

2023年4月16日 0条评论 908点热度 0人点赞 sheep 阅读全文
rocksdb

RocksDB WritePath概览

RocksDB WritePath概览 简单过一遍RocksDB前台的写链路。 忽略这些,从下面的第一张写链路图开始看。。 DB::Put 没给CF的话会用DefaultCF 构造一个WriteBatch,把key,value,以及column family塞进去 这里有个Comparator的timestamp size,还不知道是干啥的 DBImpl::Write 先走到没有Callback的版本 然后有一堆InvalidArg的检查。disable memtable先不看,pipelined write先不看…

2023年4月5日 0条评论 753点热度 0人点赞 sheep 阅读全文
1…910111213…31
分类
  • Agent/RAG
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • RL
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 2025 年 12 月
  • 2025 年 11 月
  • 2025 年 10 月
  • 2025 年 9 月
  • 2025 年 8 月
  • 2025 年 7 月
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 9 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 1 月
  • 2020 年 12 月

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS