LevelDB

是一个由Google公司所研发的键-值存储嵌入式数据库管理系统编程库,[2]开源BSD许可证发布。[3]

LevelDB
开发者Google
首次发布2012年5月2012-05
当前版本
  • 1.23 (2021年2月23日;稳定版本)[1]
源代码库
编程语言C++
操作系统跨平台
类型嵌入数据库编程库
许可协议BSD许可证
网站github.com/google/leveldb 编辑维基数据

特征

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

例子

保存键/值对,和查找键的值:

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

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;
}

运行结果

(LevelDB安装目录为:leveldb-read-only)[6]

% g++ test.cc -Ileveldb-read-only/include -Lleveldb-read-only -lleveldb -lpthread
% ./a.out 
result = Hello World!

RocksDB

2013年Facebook基于LevelDB开发出RocksDB,特别针对服务器负载而优化。[7]

语言的绑定

参见

参考文献

  1. . 2021年2月23日 [2021年3月13日].
  2. (PDF). [2017-09-05]. (原始内容存档 (PDF)于2012-01-31).
  3. . [2011-08-07]. (原始内容存档于2016-03-26).
  4. . [2011-08-07]. (原始内容存档于2011-08-20).
  5. . [2011-07-30]. (原始内容存档于2015-08-22).
  6. . [2011-08-06]. (原始内容存档于2015-03-18).
  7. . [2014-01-25]. (原始内容存档于2021-02-05).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.