levelDB—初识levelDB

原创 2013年12月01日 22:35:03

levelDB是google实现的一个非常高效的key-value数据库,是能够处理十亿级别规模key-value型数据持久性存储的C++程序库。具有极高的读写速度。官方网站报道其随机写性能达到40万条记录每秒,随机读性能达到6万条记录每秒。写操作要远快于读操作,顺序读写操作大于随机读写操作。

levelDB的作者是Jeaf Dean (http://research.google.com/people/jeff/index.html)和 Sanjay Ghemawat(http://research.google.com/pubs/SanjayGhemawat.html),是Google的Fellow,属于重量级工程师。


levelDB的安装过程:

1)下载源码,http://code.google.com/p/leveldb/downloads/detail?name=leveldb-1.14.0.tar.gz&can=2&q=

2) 解压tar -xzvf  leveldb-1.14.0.tar.gz

3) 进入leveldb-1.14.0目录,执行命令:make

4) 当目录中生成.a 和 .so文件时,说明安装成功。


levelDB的使用方法:

1) 编写如下代码MainTest.cpp:

#include "leveldb/db.h"
#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
    leveldb::DB *db;
    leveldb::Options options;

    options.create_if_missing = true;

    //open the database 打开数据库
    leveldb::DB::Open(options, "testdb", &db);

    //key-value pair  键值对声明
    string key = "key", value = "value", result;

    //store the key-value  插入键值对
    db->Put(leveldb::WriteOptions(), key, value);

    //select the key-value  查询键值
    db->Get(leveldb::ReadOptions(), key, &result);

    //output to the screen
    cout << "result = " << result << endl;

    //close the database 关闭数据库
    delete db;

    return 0;
}
2)编译MainTest.cpp

     g++ MainTest.cpp  -Ileveldb-1.14.0/include/  leveldb-1.14.0/ibleveldb.a  -lpthread
     其中leveldb-1.14.0为leveldb的安装目录,就是刚才解压出来的目录。

3)第二步生成a.out, 执行命令 ./a.out

     打印, result = value, 并且在目录下生成testdb文件夹,里面有LOG CURRENT等文件。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

leveldb 初识

一.leveldb安装与使用 1.  下载leveldb-1.15.0.tar.gz 2.  解压tar  -zxvf leveldb-1.15.0.tar.gz 3.  cd leveldb-1.1...

levelDB—整体架构介绍

levelDB的整体架构见下图1。总体而言分内存和磁盘两部分。      1:memtable:内存中存放key-value的数据结构      2:Immutable memtable:是memta...

leveldb源码

  • 2017年10月31日 18:51
  • 452KB
  • 下载

levelDB源码在vs2010上编译全过程

1 下载 boost_1_54_0-msvc-11.0-32.exe, 网址 http://sourceforge.net/projects/boost/files/boost-binaries...

mnist数据集(leveldb和lmdb格式)

  • 2016年10月24日 09:04
  • 23.93MB
  • 下载

leveldb实现解析

  • 2012年01月03日 17:07
  • 661KB
  • 下载

Caffe2——cifar10数据集创建lmdb或leveldb类型的数据

cifar10数据集和mnist数据集存储方式不同,cifar10数据集把标签和图像数据以bin文件的方式存放在同一个文件内,这种存放方式使得每个子cifar数据bin文件的结构相同,所以cifar转...

leveldb-1.15.0修正版

  • 2014年10月11日 12:07
  • 204KB
  • 下载

leveldb code

  • 2014年07月02日 22:07
  • 201KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:levelDB—初识levelDB
举报原因:
原因补充:

(最多只允许输入30个字)