More than code

More Than Code
The efficiency of your iteration of reading, practicing and thinking decides your understanding of the world.
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条评论 117点热度 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条评论 127点热度 0人点赞 sheep 阅读全文
rocksdb

RocksDB-1 HyperClockCache

RocksDB-1 HyperClockCache 接口 目前有两类Cache。分别是LRUCache,以及HyperClockCache。(还有一个CompressedSecondaryCache,注释中写是experimental的,就不看了。) 两种CacheOptions都会继承一个ShardedCacheOptions,说明都是分shard的cache 比较有意思的是RocksDB支持一个叫SecondaryCache的东西,是在In-memory Cache和磁盘层中间的又一层Cache,有点Cache…

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

2022年终总结

年终总结这个玩意确实有点难写,有点写周报的感觉,站在年底往回看,基本回忆不出太多自己干了什么事,可能这也和干的事大多意义不大以及比较琐碎有关了。 这里从几个纬度回忆一下自己22年的经历,捋一捋脉络,看看22年自己在这些方面有什么变化,对比一下之前的做法,看看那里需要改进,也希望给23年找出一点启发了。 这过程有点类似梯度下降?设定好损失函数,就朝着这个目标不断优化自己,过程中也要加上点随机性,不然掉到了一些局部最优点自己也不知道,就呆在自己的舒适圈里自嗨了。所以抓住大体的方向,感觉到梯度不够的时候,可以适当的莽撞一…

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

Innodb-1 Linkbuf

Innodb-1 Linkbuf 代码主要在innobase/include/ut0link_buf.h中 link buf的作用在注释中有写到 Link buffer - concurrent data structure which allows: concurrent addition of links single-threaded tracking of connected path created by links limited size of window with holes (missing l…

2022年9月28日 0条评论 247点热度 0人点赞 sheep 阅读全文
database

ARIES/IM

ARIES/IM Tree Architecture A key in a leaf page is a key-value, record-ID pair. The leaf pages alone are forward and backward chained. A high key stored in the nonleaf page for a given child page is always greater than the highest key that is actually stored i…

2022年9月24日 0条评论 201点热度 0人点赞 sheep 阅读全文
C++

brpc-16 doubly buffered data

brpc doubly buffered data doubly buffered data提供两个接口,Read和Modify This data structure makes Read() almost lock-free by making Modify() much slower. It's very suitable for implementing LoadBalancers which have a lot of concurrent read-only ops from many threads …

2022年9月4日 0条评论 342点热度 0人点赞 sheep 阅读全文
paper

HTAP Databases notes

HTAP Databases notes Preliminary Gartner’s definition in 2014: utilizes in-memory computing technologies to enable concurrent analytical and transaction processing on the same in-memory data store Gartner’s new definition in 2018: supports weaving analytical a…

2022年9月4日 0条评论 452点热度 0人点赞 sheep 阅读全文
paper

ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads

ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads Desired properties: * To provide robust and balanced concurrency control for the logical interactions over heterogeneous transactions. * To address the physical interactions between threa…

2022年7月30日 0条评论 304点热度 0人点赞 sheep 阅读全文
paper

An Analysis of Concurrency Control Protocols for In-Memory Databases with CCBench

An Analysis of Concurrency Control Protocols for In-Memory Databases with CCBench 本文就是总结了一下之前比较经典的CC protocol,以及他们使用的优化。并将他们集成到了一个统一的CCBench中来做测试。 但是作为读者来说我们读的核心不在于他的bench,而是他所提炼出的这些cc protocol的关键点 Preliminaries 先回顾一下这几个协议 Silo Silo的核心有两个,一个是避免读对内存造成影响(比如TO会在读…

2022年7月25日 0条评论 297点热度 0人点赞 sheep 阅读全文
12345…21
分类目录
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • paper
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 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