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

特点

LevelDB 是单进程的服务,性能非常之高,在一台4核Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。
此处随机读是完全命中内存的速度,如果是不命中 速度大大下降

高性能
简单的体系结构:只支持API调用,不支持SQL语言
自由软件和开放源代码软件
数据支持被Snappy函式库压缩,以减少Disk I/O提升效能

局限

LevelDB 只是一个 C/C++ 编程语言的库, 不包含网络服务封装, 所以无法像一般意义的存储服务器(如 Mysql)那样, 用客户端来连接它. LevelDB 自己也声明, 使用者应该封装自己的网络服务器.

示例

#include "leveldb/db.h"
#include 
 
using namespACE std;
 
int main()
{
  leveldb::DB *db;
  leveldb::Options options;
 
  options.create_if_missing = true;
 
  // 開啟數據庫
  leveldb::DB::Open(options, "/tmp/testdb", &db);
 
  // 鍵 = MyKey29,值 = "Hello World!"
  string key = "MyKey29", value = "Hello World!", result;
 
  // 儲存 鍵/值對
  db->Put(leveldb::WriteOptions(), key, value);
 
  // 查詢 MyKey29 鍵的值
  db->Get(leveldb::ReadOptions(), key, &result);
 
  // 輸出值到屏幕
  cout << "result = " << result << endl;
 
  // 關閉數據庫
  delete db;
 
  return 0;
}

 


Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务