More than code

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

High-Performance Concurrency Control Mechanisms for Main-Memory Databases

High-Performance Concurrency Control Mechanisms for Main-Memory Databases 这次换一个记录的方式。点出思考和关键点,而不是类似翻译似的看文章 single version locking works well when transaction are short and contention is low The multiversion schemes have higher overhead but are much less sensit…

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

Opportunities for Optimism in Contended Main-Memory Multicore Transactions

Opportunities for Optimism in Contended Main-Memory Multicore Transactions 看这篇文章主要是看看各种并发控制的protocol Abstract 他提到那些与concurrency control无关的implementation choices是导致性能下降原因。 Intrudoction partially-pessimistic concurrency control, dynamic transaction reordering以及M…

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

Serializable Snapshot Isolation in PostgreSQL

Serializable Snapshot Isolation in PostgreSQL Abstract 就是SSI在Postgres中的实现 Overview Postgres之前只有snapshot isolation。9.1版本提供了SSI的实现。 Postgres的SSI实现必须要和现有的特性结合,而不能像research prototype一样忽略很多细节。比如要支持replication,two phase commit,subtransaction。还有控制memory useage。 和之前的系…

2022年7月10日 0条评论 788点热度 1人点赞 sheep 阅读全文
未分类

leveldb-9 Cache

Cache 这次看看Cache 和文档中的不同,文档中的这个是goleveldb的。而我们看的是C++的leveldb C++的leveldb就是一个简单的LRUCache 并发控制通过一个大mutex来保护。为了减少冲突分了Shard 不过leveldb中的LRU是intrusive的,他的Node内嵌了list和hashmap的变量 LRU的主体在这里,其中HandleTable是一个哈系表,由key映射到Handle上 lru和in use其实可以猜到,一个是lru的链表,一个是当前使用的,也就是pin住的链…

2022年7月8日 0条评论 753点热度 1人点赞 sheep 阅读全文
未分类

leveldb-8 SSTable(3) Read & Write

SSTable(3) Read & Write 参考文档在这里 还是看这个图。footer是固定的,通过footer去找到meta index block和index block meta index block指向filter block,为什么不直接让footer指向filter block呢?因为meta index block中存储了filter的名字,是变长的。而footer是定长的。所以增加了一个额外的indirection 代码中主要是在table builder做写操作 table buil…

2022年7月3日 0条评论 655点热度 1人点赞 sheep 阅读全文
未分类

leveldb-7 SSTable(2) filter block

SSTable(2) filter block 文档在这里 这次代码比较简单 StartBlock的作用就是不断构建索引到filter offsets Finish会把剩下的数据的filter构建出来。然后把每块对应的offset追加进来,最后加上总共的array length以及BaseLg。具体含义可以看文档 result就是这些data block 可以看到核心的逻辑就是这个GenerateFilter了。他会先把当前的buffer切成原本的key。然后通过CreateFilter创建filter 这里的Cr…

2022年7月3日 0条评论 573点热度 0人点赞 sheep 阅读全文
分类
  • 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