Tair ldb(leveldb存储引擎)实现介绍

前两天分享了淘宝核心系统研发团队的资料《leveldb实现解析.pdf》,文章对leveldb的内部实现和运行机制都做了深入的分析。而下面文章来自同一位作者,为大家详细描述了淘宝开源的Tair在结合leveldb作为存储引擎上遇到的挑战和实战经验。

LevelDB实现解析

LevelDB是Google开发的一个key-value存储,其已经作为存储引擎被Riak和Kyoto Tycoon所支持,在国内淘宝的Tair开源key-value存储也已经将LevelDB作为其持久化存储引擎,并部署在线上使用。

Cassandra新特性:分层压缩

Cassandra的数据模型借鉴自Google的BigData模型,简单来说就是将写操作放在一个内存块中,当内存块大小达到一定大小时,将内存中的数据排序后写成一个sstable文件,而这种方式会有一些问题,本文介绍了一种新的压缩方法,借鉴自LevelDB。

LevelDB学习交流

下面PPT作者是@淘宝解伦,PPT中对LevelDB的特点、设计思想及实现原理都有所涵盖,是一篇不错的LevelDB入门教材。对LevelDB感兴趣的同学可以看看。

LevelDB中的Skip List(跳跃表)

本文是关于Skip List数据结构的,Skip List是在有序List(链表)数据结构的基础上的扩展,解决了有序链表结构查找特定值困难的问题,使用Skip List,可以使得在一个有序链表里查找特定值的时间复杂度为O(logn),在本文中我们看到,Skip List被用在leveldb中,实际上它还被使用在Redis的sorted sets数据结构中。

cpy-leveldb:Python版的LevelDB

cpy-leveldb是在leveldb(google开源的高性能key-value数据库)的 C API 基础上开发的 python 绑定,目前支持leveldb 的 Put, Get, Delete, Write操作,以及 WriteBatch 的原子更新操作,WriteBatch 还可以通过将多个更新放到同一个 batch 里,在存在大量更新操作时,加速它们的执行…

LevelDB内部实现

本文是一篇转载的翻译文章,翻译对象是LevelDB的官方文档中实现一章,主要描述了LevelDB内部的数据结构,文件结构及相关的存储,压缩恢复等功能的实现过程,看完后你就能知道,LevelDB为什么会叫这个名字了。:)

LevelDB、TreeDB、SQLite3性能对比测试

下面性能测试对比来自LevelDB官方,由 NoSQLFan 进行翻译整理。从结果上看,这不像某些田忌赛马式的性能对比,总体来说还是比较客观全面。通过多种场景下的不同性能测试结果的对比,我们也能对这三个数据库分别擅长和适用的场合有所了解。同时对其性能调优的方法理解也有一定的帮助。

来自Riak的LevelDB与InnoDB性能对比测试

在Google发布了其Key-Value存储LevelDB后,引起了Riak的注意,他们发现LevelDB好像正好能够弥补Bitcask和InnoDB在大量小体积数据存储中的缺点,于是他们做了如下几个InnoDB和LevelDB的性能测试:

用Kyoto Tycoon挂载LevelDB存储

Kyoto Tycoon(以下简称KT)是TokyoTyrant的作者Mikio Hirabayashi 的系列作品之一,KT 是一个数据库网络层服务,它提供一个插件机制,可以挂载几乎所有的数据库存储设备。之前已经有过KT嫁接Memcached 的案例。

本文要讲的是最近Google开源的持久化key-value存储系统LevelDB ,Mikio刚刚在KT最新版本上实现了对LevelDB 的挂载程序。