More than code

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

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条评论 644点热度 1人点赞 sheep 阅读全文
未分类

GPT as innodb master

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

2023年5月3日 1条评论 736点热度 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条评论 699点热度 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条评论 702点热度 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条评论 712点热度 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条评论 668点热度 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条评论 510点热度 0人点赞 sheep 阅读全文
database

LevelDB Recover

LevelDB Recover 过一遍LevelDB的Recover流程。 DB::Open DBImpl::Recover 给当前的db上锁。防止有什么并发的OpenDB之类的。 看看有没有CurrentFile,没有的话打开一个新的DB。 VersionSet::Recover 读取Current,找到Manifest文件。 读取Manifest,重放VersionEdit。 如果Manifest过大,或者是重新将Manifest文件通过Append的方式打开的时候失败了,就会放弃Reuse Manifest。…

2023年4月4日 0条评论 474点热度 0人点赞 sheep 阅读全文
database

LevelDB Read

LevelDB Read 读链路主要分为两个,一个是点读,一个是RangeScan。 点读的接口是Get DBImpl::Get ref住当前的mem table,immmutable mem table,以及version 先读mem table,再读immutable memtable,最后调version->Get() 读完后更新统计信息,可能触发SeekCompaction Unref 读MemTable的时候会构建LookupKey。这是因为写入MemTable的时候会用一个varint作为leng…

2023年4月4日 0条评论 420点热度 0人点赞 sheep 阅读全文
database

LevelDB Compaction

LevelDB Compaction Compaction分为MinorCompaction和MajorCompaction。我们就直接叫Flush Memtable和Compaction SST。 LevelDB的Immutable memtable只能由一个。Flush Memtable优先级比较高,因为会影响前台写链路。 Flush memtable的调用点为CompactMemTable()。有两个调用点,不过都是后台线程做Compaction,所以不会出现并发Compaction的情况。 调用链路如下: …

2023年4月4日 0条评论 418点热度 0人点赞 sheep 阅读全文
1…678910…28
分类
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 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