More than code

未分类
未分类

TaurusMM

开头点明文章逻辑: * 单节点更新性能有瓶颈,需要拓展到多节点 * 协调多节点更新会导致网络负载比较高。(猜测是读remote page,lock page什么的,应该相当于多节点的MESI协议) * 云环境下,网络由多个tenant共享,所以网络负载的问题变得更加严重 MultiMaster的好处: * 多节点写入,吞吐不受限制 * 可用性提高。(单主的系统在切主的时候可能会有抖动,需要比较多工作来优化这个抖动点) 这里他把一些分片的系统也认为是MultiMaster了,我就不提了 SharedStorage下的…

2024年5月1日 0条评论 336点热度 0人点赞 sheep 阅读全文
未分类

WiredTiger ColumnStore

WiredTiger作为MongoDB的默认存储引擎,以B+树的方式来组织数据,其中BTree页内支持3种格式的数据,分别是RowStore,Fixed-Length ColumnStore,以及Variable-Length ColumnStore。这篇文章介绍一下WiredTiger的ColumnStore。主要关注下WiredTiger ColumnStore对外提供的接口,Btree内部数据的组织方式,以及数据的读写方式。 MongoDB的使用方式,用来存储时序数据。https://www.mongodb.…

2024年3月2日 0条评论 414点热度 0人点赞 sheep 阅读全文
未分类

WiredTiger Introduction

这篇文章介绍下MongoDB的存储引擎WiredTiger,主要关注WiredTiger作为存储引擎自身的提供的能力。和MySQL Server和Innodb的交互不同的是,WiredTiger针对MongoDB做了很多定制化的功能,导致他本身提供的接口看起来非常的奇怪,所以后面也会有一篇文章来介绍一下MongoDB和WiredTiger交互的逻辑。 因为我看的时间并不算长,有些也是结合文档一起理解的,不免出现一些错误,如果出现,还请大佬们帮忙指正。 Overview WiredTiger是一个高性能,多核拓展性强…

2024年2月9日 0条评论 545点热度 0人点赞 sheep 阅读全文
未分类

2023年终总结

现在是23年的年底,正好腾出一点时间写一下23年的年终总结。 23年的话,可能和前两年的快速进步不同,今年的学习速度明显减缓了下来,然后也遇到了一些不是很愉快的事情。不过整体的进步还是有的,22年的一些目标也有完成,下面细说一下。 从工程能力这块,整体上还是有很大进步的,无论是花费半年时间完成的一个数据库系统的毕业设计,还是自己在实习期间参与的项目,都使我的工程能力有了很大的进步。 感觉比较特殊的一点是这块的成长一定程度是随着自己的自信心来的,最开始我在设计毕业设计的时候,其实并不是很敢激进的搞一个比较复杂的系统,…

2023年12月31日 1条评论 554点热度 2人点赞 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条评论 777点热度 1人点赞 sheep 阅读全文
未分类

GPT as innodb master

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

2023年5月3日 1条评论 747点热度 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条评论 708点热度 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条评论 710点热度 5人点赞 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条评论 683点热度 0人点赞 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 阅读全文
1…56789
分类
  • 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