linjinhe的专栏

39 篇文章
26 人订阅

全部文章

linjinhe

理解 CPU 利用率

在 Linux shell 上执行 top 命令,可以看到这样一行 CPU 利用率的数据:

765
linjinhe

WiscKey:LSM-Tree 写放大优化WiscKey 简介WiscKey 带来的好处WiscKey 面临的问题和挑战参考文档

WiscKey 的提出,主要是为了优化 LSM-Tree 的写放大问题。此前已经有不少论文讨论过这个问题,如 LSM-trie 和 PebblesDB,但是大部...

962
linjinhe

LSM-Tree 的写放大写放大、读放大、空间放大RockDB 写放大简单分析参考文档

基于 LSM-Tree 的存储系统越来越常见了,如 RocksDB、LevelDB。LSM-Tree 能将离散的随机写请求都转换成批量的顺序写请求(WAL + ...

2932
linjinhe

Linux 存储架构图

772
linjinhe

C++右值引用和移动语义学习小结

在 C++11 之前,将一个对象移动(move)到另一个对象的通用做法只有 copy constructor 或者 copy assignment ,然后销毁原...

753
linjinhe

周末学了点 Rust简介工具链宏(macros)返回值和错误处理Ownership 和生命周期闭包小结参考文档

Rust 是最近几年开始兴起的编程语言,虽然目前还没看到要像 Go 一样”大火“的趋势。但是,官网的一些 featuring 看着就很让人心动(虽然还不知道现实...

722
linjinhe

隔离级别、SI 和 SSIACID隔离级别Snapshot IsolationSerializable Snapshot Isolation

1174
linjinhe

LevelDB:读操作

前面写了两篇文章介绍 LevelDB 的整体架构和接口使用。这篇文章,我们从代码的角度看看 LevelDB 的设计与实现,先从读操作开始。

2133
linjinhe

LevelDB:Compaction

LevelDB 的写操作是 Append-Only 的,新的数据写入后,相应的旧数据就过期了。过期的数据需要被 Garbage Collection,不然数据文...

2746
linjinhe

LevelDB:使用介绍

Get 接口和 Put 接口比较像,除了 leveldb::ReadOptions 参数是用来控制读操作的,具体见链接指向的代码。

3825
linjinhe

LevelDB:整体架构

上图简单展示了 LevelDB 的整体架构。LevelDB 的静态结构主要由六个部分组成:

2433
linjinhe

TCP 为什么是三次握手四次挥手?

我们都知道 TCP 有建立连接时的三次握手和断开连接时的四次挥手,如上图所示。这个过程具体怎么样就不多说了。 今天主要想讨论一下,为什么 TCP 是三次握手,...

2364
linjinhe

LevelDB:写操作

其中,Put 和 Delete 的实现都是通过封装 Write 来实现的,函数调用关系如下:

2244
linjinhe

密码学工具箱

对称加密算法(Symmetric-key_algorithm)是指在加密和解密时使用同一密钥的方式,如AES。

1453
linjinhe

Linux进程内存管理(一)

Linux 环境下,进程的内存管理器默认是使用 glibc 实现的 ptmalloc 。另外,还有两个比较有名的内存管理器:google 的 tcmalloc ...

1453
linjinhe

LSM简介

2006年,Google 发表了 BigTable 的论文。这篇论文提到 BigTable 单机上所使用的数据结构就是 LSM。

2964
linjinhe

Linux进程内存管理(二)

进程启动后,在 jemalloc 载入的时候会调用 jemalloc_constructor 执行一些初始化操作。这里利用了编译器的一些特殊支持,让函数在库加载...

2054
linjinhe

非对称加密和混合密码系统

非对称加密算法的特点是,密钥分为加密密钥和解密密钥,并且这两个密钥是不一样的(非对称)。发送者用加密密钥对消息进行加密,接受者用解密密钥对密文进行解密。

1443
linjinhe

对称加密算法和分组密码的模式

由于加密出来的数据很可能有很多不可见字符,因此这里会将加密后的结果进行一次Base64Encode。

2616
linjinhe

Go语言:map使用笔记

Go 的 map 是 hash map; C++ 的 map 是 tree (主流实现是红黑树); C++ 的 hash map 是unordered_ma...

2495

扫码关注云+社区