LevelDB 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
LevelDB 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 BSD
开发语言 C/C++ 查看源码 »
操作系统 Windows
软件类型 开源软件
开发厂商
地区 不详
提 交 者 黄平俊
适用人群 未知
收录时间 2011-06-08

软件简介

Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。

LevelDB 是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。

示例代码:

#include "leveldb/include/db.h"

leveldb::DB* db;
leveldb::Options options;
options.create_if_missing = true;
leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);
assert(status.ok());

std::string value;
leveldb::Status s = db->Get(leveldb::ReadOptions(), key1, &value);
if (s.ok()) s = db->Put(leveldb::WriteOptions(), key2, value);
if (s.ok()) s = db->Delete(leveldb::WriteOptions(), key1);
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (4)

加载中

引用来自“笑天居士”的评论

看介绍,往内存写数据前会先写log到磁盘,那就是每次都有io到磁盘防止数据丢失,那这样怎样能保证高性能,肯定会比纯内存慢好多啊 LevelDB
2014年的评论了
2019/04/26 10:08
回复
举报
#LevelDB# #RocksDB# 要好好学学这两个数据库
2017/11/02 22:31
回复
举报
2017/10/16 23:25
回复
举报
#NoSQL# 还是要佩服#LevelDB#
2017/10/14 09:15
回复
举报
打分: 推荐
Linux下RocksDB、LevelDB、ForestDB性能测试对比 http://www.cnblogs.com/oloroso/p/6323400.html
2017/03/14 22:20
回复
举报
看介绍,往内存写数据前会先写log到磁盘,那就是每次都有io到磁盘防止数据丢失,那这样怎样能保证高性能,肯定会比纯内存慢好多啊 LevelDB
2014/10/27 22:44
回复
举报
写入性能远强于读取性能,数据量增大后,读写性能下降趋平缓。 #LevelDB#
2016/05/16 22:23
回复
举报
更多评论
发表了资讯
2011/08/01 00:00

OSChina 8-1 期推荐 K/V数据库 LevelDB

OSChina 8-1 期(8月第1周)推荐的开源软件是Leveldb。LevelDB是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。 LevelDB 是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒钟写数据超...

10
16
发表了资讯
2011/07/29 00:00

Google 正式开源 LevelDB 项目

Google 宣布 LevelDB 项目开源,使用的开源授权协议为 BSD。 Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。 LevelDB 是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒钟写...

18
38
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2018/04/17 15:18

leveldb

leveldb python

2
0
发表了博客
2014/01/07 05:45

leveldb

leveldb在vc及mingw下编译(windows下编译最新leveldb)

0
0
发表了博客
2014/10/08 16:43

leveldb学习

SST文件 :数据文件 -- sstable格式 *.log : 数据库日志文件 -- 顺序记录所有数据库操作,用来恢复数据 CURRENT : 文本文件,表明当面的manifest文件 LOCK :空文件,数据库锁,防止多进程访问 LOG : 日志文件,文本格式 LOG.old :上一次的日志文件 MANIFEST: 数据库状态文件 leveldb研究8- 内存中的数据结构Memtable/Sk...

0
2
发表了博客
2014/06/19 11:16

leveldb 介绍

Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。

0
0
发表于数据库专区
2019/10/15 12:26

LevelDB:使用介绍

LevelDB 提供的接口其实很简单,下面举例进行简单说明。 安装 git clone https://github.com/google/leveldb cd leveldb mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build . m......

0
0
发表于数据库专区
2012/09/24 10:33

leveldb入门知识

LevelDB是google开源的一个key-value存储引擎库,类似于开源的Lucene索引库一样。其他的软件开发者可以利用该库做二次开发,来满足定制需求。LevelDB采用日志式的写方式来提高写性能,但是牺牲了部分读性能。为了弥补牺牲了的读性能,一些人提议使用SSD作为存储介质。 对于本地化的Key-value存储引擎来说,简单的使用一般...

5
52
发表了博客
2013/06/02 13:02

Leveldb 实现原理

原文地址:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html 郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可以浏览原始页面...

0
7
发表于软件架构专区
2017/11/16 11:51

LevelDB实现原理

LevelDb日知录之一:LevelDb 101   说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二。   Jeff Dean其人:http://research.google.com/people/jeff/inde...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2013/08/31 13:48

转: 单实例支撑每天上亿个请求的SSDB

SSDB 是一个 C++ 开发的 NoSQL 存储服务器, 支持 zset, map 数据结构, 可替代 Redis, 特别适合存储集合数据. SSDB 被开发和开源出来后, 已经在生产环境经受了3个季度的考验, 一直稳定运行. 在一个支撑数千万用户的列表数据(例如用户的订单历史, 用户的好友列表, 用户的消息列表等)的实例上, SSDB 每天处理上亿个读写请求...

11
18
发表了问答
2016/07/12 12:56

leveldb 产生大量ldb文件,导致IO error

在大批量写入的时候,leveldb会产生很多2M的后缀为ldb的文件,将static const int kTargetFileSize = 2 * 1048576; 设置为32* 1048576;会产生好多32M的ldb文件,最终导致文件描述符不够用,而出现IO error: /var/lib/ceph/gbcm/002056.ldb: Too many open files。 -rw-r--r-- 1 root root 33M Jul 12 09:33 002472.ldb -...

4
1
发表了问答
2014/08/30 22:02

公开一个高度兼容Redis的基于成熟kv存储引擎的存储服务Ardb

这个项目从开始到现在已经断断续续开发大约快两年了,之前只在reddit的programming板块发布过,最近感觉完成度已经算比较高了,准备逐步公开。 需要注意的是, 由于项目支持90%以上redis命令, 以及可以和实际redis实例互为主备,支持Redis sentinel, 内置二维空间索引实现等,特性较多,目前自动测试覆盖率并不完全,算...

2
5
发表了问答
2014/09/30 17:04

基于Ardb/Redis构建基于位置实时服务

Ardb是一个高性能完全兼容Redis协议的nosql实现,在Redis现有协议命令外,还增加了空间索引能力的支持,可用于构建LBS基于位置实时服务。 相关实现也可移植到Redis上。 详见 http://my.oschina.net/yinqiwen/blog/323633

1
8
发表了问答
2013/01/08 11:57

我自己写的LevelDB服务器

Google 开源的 LevelDB 是一个单纯的 key-value 存储的类库, 可以理解为是一个存储引擎, 并不是常见意义的服务器. 你无法通过网络接口来使用它, 只能用 C/C++ 语言才能使用它. 所以, 我封装了一个网络服务器 - SSDB, 支持 PHP, Python, Cpy, C/C++, 有感兴趣的同学可以看看. 目前已经有实际应用, 非常稳定! 最重要的, S...

5
11
发表了问答
2014/11/25 16:31

为什么writeoptions.sync在false和true下,测试出的结果差不多呢

我用php操作leveldb,为什么writeoptions.sync在false和true下,测试出的结果差不多呢,都是45W左右 按理说,这个选项对性能影响很大啊,应该差很多啊? <?php /* defau lt open options */ $options = array(   'create_if_missing' => true,  // if the specified database didn't exist will create a new one   'error_...

2
0
发表了问答
2014/11/15 08:55

leveldb怎样解决并发更新

一个key值为500,你我都get到了,然后我加300,put 800,可是你却加100,put 600,最终值为600,但是希望的结果是900 leveldb只有put操作,那怎样实现这个问题,key有没有乐观锁版本号的

2
1
发表了问答
2014/10/28 10:19

leveldb数据完全性及性能问题

看到leveldb的一个文档,向memtable写数据之前会先写log,那意味着每写一次内存都写LOG到磁盘,那么性能如何保证?如果LOG不到磁盘,如何保证极端情况下,如掉电后的数据不丢失呢?

6
1
发表了问答
2013/08/26 20:38

SSDB 配置文件

SSDB 的配置非常简单, 附带的 ssdb.conf 你不用修改便可以使用. 如果你要高度定制, 还是需要修改一些配置的. 下面做介绍. SSDB 的配置文件是一种层级 key-value 的静态配置文件, 通过一个 TAB 缩进来表示层级关系. 以 ‘#’ 号开始的行是注释. 标准的配置文件如下: # ssdb-server config # relative to path of this fi...

3
0
发表了问答
2013/01/09 18:24

SSDB(LevelDB服务器) VS Redis

完整的性能对比在: http://www.ideawu.com/ssdb/

6
2
发表了问答
2011/08/17 08:25

LevelDB、TreeDB、SQLite3性能对比测试

下面是对LevelDB、TreeDB、SQLite3 这几个数据库的性能对比测试,分别使用了LevelDB (revision 39) SQLite3 (version 3.7.6.3) 及 Kyoto Cabinet’s (version 1.2.67)这三个版本的数据库。 测试机器配置:six-core Intel(R) Xeon(R) CPU X5650 @ 2.67GHz, with 12288 KB of total L3 cache and 12 GB of DDR3 RAM at 133...

16
24
发表了问答
2013/09/26 22:07

SSDB Windows安装包

SSDB 预编译的 Windows 可执行安装包 另外, SSDB 提供了预编译的 Windows 下的可执行安装包, Windows 用户可以下载后直接运行 ssdb-server.exe. Windows 下的 SSDB 依赖 cygwin, 所以附带了几个 dll 文件. 使用方式: 1. 从 https://github.com/ideawu/ssdb-bin 下载可执行文件 ssdb-server.exe 和相关 dll. 2. 从 https:...

4
8
发表了问答
2011/06/09 09:56

K/V 最近高速发展啊.

Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。 LevelDB 是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。 对 40W很有感觉...

13
6
发表了问答
2012/10/07 23:08

查看源码的方法有哪些?

经常听大牛们说要看什么什么的源码,我想问下怎么获得这些源码?或者查看源码的方法有哪些?比如说我想LevelDB的源码。请教下,谢谢!

4
0
发表了问答
2012/08/23 14:39

亲 是LSM算法 还是LMS算法 ?

亲 是LSM算法 还是LMS算法 ?

1
0
发表了问答
2011/10/17 22:35

Cassandra 新特性:分层压缩

Cassandra的 数据模型借鉴自Google的BigData模型,简单来说就是将写操作放在一个内存块中,当内存块大小达到一定大小时,将内存中的数据排序后写成一个 sstable文件,而这种方式会有一些问题,而前段时间Google的Chromium团队开发的一个开源的key-value存储以其分层压缩机制给了大家一种新的思路,Cassandra也适时的将这...

2
2
发表了问答
2011/09/26 22:27

LevelDB 学习交流

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

1
8
发表了问答
2011/08/21 09:19

LevelDB内部实现

作者:Jeff Dean, Sanjay Ghemawat 原文:leveldb.googlecode.com 译者:phylips@bmy 译文:duanple.blog.163.com Files LevelDB的实现本质上类似于Bigtable中的tablet(参见Bigtable论文5.3节)。但是,与论文中的具体的文件组织方式稍有不同,解释如下: 每个数据库由一组存储在指定目录下的一个文件集合组成。有如下几种...

1
5
发表了问答
2011/08/04 22:22

LevelDB 和 Kyoto Cabinet 的性能比较

本文翻译自:http://maxpert.tumblr.com/ 作者通过各种情况下对 Google 新兴的 LevelDB 和老牌的 Kyoto Cabinet 进行实际的数据对比性能测试。 1. 小字符串数据插入(10万条数据) Kyoto Cabinet 100,000 entries: Time consumed was 0.328945 Time consumed was 0.207315 Time consumed was 0.286653 Time consumed wa...

3
1
发表了问答
2011/07/31 11:24

用Kyoto Tycoon挂载LevelDB存储

Kyoto Tycoon(以下简称KT)是TokyoTyrant的作者Mikio Hirabayashi 的系列作品之一,KT 是一个数据库网络层服务,它提供一个插件机制,可以挂载几乎所有的数据库存储设备。之前已经有过KT嫁接Memcached 的案例。 本文要讲的是最近Google开源的持久化key-value存储系统LevelDB ,性能相当不错。Mikio刚刚在KT最新版本上实...

2
10
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
4 评论
477 收藏
分享
返回顶部
顶部