介绍 GFS的诞生来源于google日益增长的数据量的处理需求,它是一个可扩展的分布式文件系统,用于大型分布式数据密集型应用,在廉价的通用硬件上运行时提供容错机制,并且可以为...
介绍 bigtable是一个管理结构化数据的分布式存储系统,支持数千台机器和PB级的数据,被广泛用于google内部的产品和项目。bigtable在许多方面与数据库相似,但有...
"organization and maintenance of large ordered indices"这篇论文在1970年由Bayer和McCreight教授提出,可...
raft是管理复制日志的一致性算法,功能与paxos一样,但相比paxos,raft更加好理解,在真实系统中具备更佳实践性。这篇论文主要介绍了复制状态机的问题(一致性算法的典...
线程概念 典型的UNIX进程可以看作只有一个控制线程,任务的执行只能串行来做。有了多个控制线程后,就可以同时做多个事情。每个线程都包含执行环境所需要的信息: 线程id 寄存器...
系统 gdb gdb跟踪zlib库 编译debug版本 链到编译的库 gdb -derictory 指定目录 gdb打印jemalloc输出信息 set scheduler-...
摘要 kv存储引擎近些年越来越受欢迎,因为它可以弹性地扩缩容,对于get/put可以维持高吞吐量,有更低的延迟。这些得益于它的简单,然而简单也带来一定的代价:目前的kv存储系...
vim ~/.bash_profile 在文件中加上下面两行 export CLICOLOR=1export PS1="[\e[32;1m][[\e[33;1m]\u[\e[...
作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:http://www.jianshu.com/p/bd24f3202011 内容简介 前...
是block .
key的值可以理解为file_id(block 所在的file)+block_offset, 也就是通过这个key可以独一无二的定位到一个block。
在进入shard之前,是要先在hashtable中查找handle的,这个就是hashtable中的key,它的value是对应的handle,而handle中的value指针就是指向真正的block块。
RocksDB. LRUCache源码分析Block Cache RocksDB使用Block cache作为读cache。用户可以指定Block cache使用LRUCache,并可以指定cache的大小。Bloc...
上篇介绍了systemtap的使用。承接上篇,这篇接着纪录后续,用systemtap统计了信息,如何更加直观的观察内存分配情况,这时火焰图就派上了用场。用stap脚本主要统计...
安装 使用之前需要安装一些内核调试包安装systemtap 可以用这个命令看下需要的包 正常的安装流程.假设之前相关的包都没有装先看一下自己的系统环境,安装包必须要跟内核版本...
在前一篇文章,我们简单提到了 perf,实际 perf 能做的事情远远不止这么少,这里就要好好介绍一下,我们在 TiKV 性能调优上面用的最多的工具 - 火焰图。 火焰图,也...
智能指针 c++作为一个底层语言与其它语言的一个主要区别是它需要自己管理内存。比如一个新建一个对象,可以有两种方式 栈上分配,栈退出,内存自动释放。生命周期与栈息息相关。 n...