首页 > TAG信息列表 > memtable
哪些C++源代码项目值得阅读
必须是 Facebook Folly!这是facebook 开源的基于C++14的库,在facebook内部广泛使用 很多 C++ 项目都不错,但是不适合全部阅读,比如 Chromium ,源码总计 2000w+行,可以说没有任何人能够完全掌握,就算是1/100难度也不小,我看有不少博主在鼓吹看了 Chromium,这种除了是内核开发者,其它人说大概leveldb实现之写入流程
leveldb的写入流程是先写入预写日志(WAL)然后写入memtable,最后通过只读memtable刷盘为sstable 知识准备 写入示例 leveldb的写入流程 #include <iostream> #include "leveldb/db.h" #include <cassert> using namespace std; namespace ld=leveldb; int main(){ ld::DB *db;《DDIA》读书笔记:SSTable and LSM Trees
目录Hash Index + logSSTable的特点处理读写请求与保证crash-safecompact和merge的策略 本文是第三章SSTable and LSM-Trees部分的读书笔记。 这部分包括的内容为 介绍如何用Hash Index与log组成key-value数据库,为了引入以SSTable作为log的实现 SSTable的特点 如何处理读写请求,如设计数据密集型应用-存储与检索章节读书总结
这一章节介绍了两大类存储引擎: 1、日志结构的存储引擎(log-structured) 2、面向页面的存储引擎(page-oriented),比如B树 拿最简单的append only的日志作为例子,引出存储和检索功能,为了加快查询速度,增加Hash索引,在内存中使用Hash映射来存储key-value在文件中的偏leveldb代码阅读(一)
leveldb是一个由谷歌开源的高效的单机key-value存储系统,该系统提供了key到value的有序映射,现有的主流的kv存储系统有很多基于或者借鉴了leveldb的思想。主体代码大约1w行。基于 LSM(LOG Structured Merge Tree) 实现,将所有的 Key/Value 按照 Key 的词法序有序地储存在文件中,具有很OceanBase 源码解读(六):存储引擎详解
此前,带你读源码第五篇《戳这里回顾:OceanBase 源码解读(五):租户的一生》为大家介绍了社区版中创建、删除租户、资源隔离的相关代码,本文将为大家详细讲解 OceanBase 存储引擎。 本文将回答关于 OceanBase 数据库的相关提问: OceanBase 是否依赖其他开源KV数据库(例如:LevelDB、RoGoogle Bigtable 简介
Google Bigtable 简介 Bigtable 本质是一个分布式 K-V 数据库,其主要目标就是数据的高性能读写。 分布式 Bigtable 将整个大的表水平划分为多个 Tablet ,每个 Tablet 负责一定范围内的 Key 对应的数据,Bigtable 的服务节点称为 Tablet Server,每个 Tablet Server 中有若干个 TabletSSTable 与 LSM 引擎
SSTable 与 LSM 引擎 假设我们需要设计一个K-V数据库,为了提升 K-V 数据库的写性能,要尽量避免对磁盘上的内容做随机写,所以对已经持久化在磁盘上的 K-V 不做原地更改,当这个 Key 对应的 Value 发生更新或者删除时,我们仍然继续向磁盘新增一条数据,在读取时同一个 Key 以最后的数据记分布式——吞吐量巨强、Hbase的承载者 LSMT
今天是分布式系统的第九篇文章。 今天给大家分享的内容是LSM树,它的英文是Log-structed Merge-tree。看着有些发怵,但其实它的原理不难,和B树相比简直算是小儿科了。 并且这也是一个非常经典的数据结构,并且在大数据系统当中有非常广泛的应用。有许多耳熟能详的经典系统,底层就是基于LS系统卡写入量过大之---LSM-tree 基本原理及应用
LSM-tree 在 NoSQL 系统里非常常见,基本已经成为必选方案了。今天介绍一下 LSM-tree 的主要思想,再举一个 LevelDB 的例子。 LSM-tree 起源于 1996 年的一篇论文《The Log-Structured Merge-Tree (LSM-Tree)》,这篇论文 32 页,我一直没读,对 LSM 的学习基本都来自顶会论文的背景Cassandra 集群配置
集群机制 一致性哈希(数据一致性) Token Range Partitoner Gossip协议(流言,无中心获取领导者) 用于在环内节点之间传播状态信息 周期运行,每次在环中随机挑选一个对象节点,发起会话 每次会话传送三条消息 Phi增量故障检测算法 Snitch(机架感知) 复制策略 Cassandra的数据存