存储架构 2018-05-14

以太坊源码分析(36)ethdb源码分析

go-ethereum所有的数据存储在levelDB这个Google开源的KeyValue文件数据库中,整个区块链的所有数据都存储在一个levelDB的数据库中,levelDB支持按照文件大小切分文件的……
存储架构 2018-05-11

go ethereum源码分析之ethdb

这是第一次给大家分析以太坊的源码。因为今天面试了一家公司。人家让我对ethereum的一个模块分析下,写个report。我想想还是写个blog吧。以前用过levelDB,就从ethdb开……
存储架构 2017-12-21

Python操作SQLite/MySQL/LMDB/LevelDB

1. 概述 1.1 前言 最近用Caffe跑自己的数据集,需要学习LMDB和LevelDB,趁此机会复习了SQLite和MySQL的使用,一起整理在此。 代码:https://github.com/liquidconv……
存储架构 2017-07-04

LevelDB 实现分析

LevelDB 是由 Google 开发的 key-value 非关系型数据库存储系统,是基于 LSM(Log-Structured-Merge Tree) 的典型实现,LSM 的原理是:当读写数据库时,首先纪录读写操……
存储架构 2017-06-05

Leveldb二三事

摘要 阅读这篇文章,希望你首先已经对Leveldb有了一定的了解,并预先知晓下列概念:LSM技术 跳表 WAL技术 Log Compaction本文不是一篇专注于源代码解析的文章,也不……
存储架构 2017-05-04

LevelDB详解: Compaction

LevelDB是日志型KV存储系统,所有的更新操作(包括插入、更新、删除)都以(key, value)的形式追加至log文件的尾部,这样,系统中更新的访问模式就变成了顺序写,很适合更新……
存储架构 2017-05-04

LevelDB详解: Compaction

LevelDB是日志型KV存储系统,所有的更新操作(包括插入、更新、删除)都以(key, value)的形式追加至log文件的尾部,这样,系统中更新的访问模式就变成了顺序写,很适合更……
存储架构 2017-04-17

leveldb和fork的初始化顺序

我们服务器内用leveldb存一些不是很重要的, 但是又需要(半)持久化的东西. 可是自从2016到现在, 碰见好几次不同类型的死锁. 直到今天, 才发现真正的原因, 那就是leveldb……
存储架构 2017-03-31

从朴素解释出发解释leveldb的设计

其实大家提的 LSM 最开始论文里面都使用树做搜索结构的, 现在在用的都不是严格的树结构了。如 这篇文章 解释的一样,从最朴素的角度上来讲可以把 SSTable(sorte……
存储架构 2017-03-31

从朴素解释出发解释leveldb的设计

其实大家提的 LSM 最开始论文里面都使用树做搜索结构的, 现在在用的都不是严格的树结构了。如 这篇文章 解释的一样,从最朴素的角度上来讲可以把 SSTable(sorted……
存储架构 2017-03-27

LevelDB原理剖析

LevelDB是能够处理十亿级别规模Key-Value型数据持久性存储的C++程序库,是谷歌两位大牛Jeff Dean和Sanjay Ghemawat发起的开源项目。自己已经将拜读LevelDB纳入了项目完……
存储架构 2017-02-20

庖丁解LevelDB之Iterator

通过之前对LevelDB的整体流程,数据存储以及元信息管理的介绍,我们已经基本完整的了解了LevelDB。接下来两篇要介绍的内容并不是LevelDB的基本组成,却是让LevelDB更优……
存储架构 2017-02-20

庖丁解LevelDB之版本控制

版本控制或元信息管理,是LevelDB中比较重要的内容。本文首先介绍其在整个LevelDB中不可替代的作用;之后从代码结构引出其实现方式;最后由几个主要的功能点入手详细介……
存储架构 2017-02-20

庖丁解LevelDB之数据存储

作为一个存储引擎,数据存储自然是LevelDB重中之重的需求。我们已经在庖丁解LevelDB之概览中介绍了Leveldb的使用流程,以及数据在Memtable,Immutable,SST文件之间的……
存储架构 2017-02-20

庖丁解LevelDB之概览

LevelDB是Google传奇工程师Jeff Dean和Sanjay Ghemawat开源的KV存储引擎,无论从设计还是代码上都可以用精致优雅来形容,非常值得细细品味。接下来就将用几篇博客来由表……
存储架构 2017-02-13

基于leveldb的Nosql数据库SSDB

SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库,支持 zset(sorted set), map(hash), kv, list 等数据结构,用来替代或者与 Redis 配合存储十亿级别的列表数据。 SSD……
存储架构 2017-02-08

leveldb源码学习–Cache实现

Cache目的 为了加快查找速度, leveldb 采用Cache的方式 基本原理 leveldb 中默认实现的Cache是 LRU Cache (最近最少使用)。 LRU Cache新数据插入到链表头……
存储架构 2017-02-07

leveldb源码学习–Arena内存池实现

一. 内存池的优势 1. 直接使用系统调用的弊端调用malloc/new,系统需要根据“最先匹配”、“最优匹配”或其他算法在内存空闲块表中查找一块空闲内存,调用free/delete,系统……