• Stars
    star
    457
  • Rank 95,363 (Top 2 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 11 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A fork of LevelDB intended to meet the needs of HyperDex while remaining compatible with LevelDB.
leveldb: A key-value store
Authors: Sanjay Ghemawat ([email protected]) and Jeff Dean ([email protected])

The code under this directory implements a system for maintaining a
persistent key/value store.

See doc/index.html for more explanation.
See doc/impl.html for a brief overview of the implementation.

The public interface is in include/*.h.  Callers should not include or
rely on the details of any other header files in this package.  Those
internal APIs may be changed without warning.

Guide to header files:

include/db.h
    Main interface to the DB: Start here

include/options.h
    Control over the behavior of an entire database, and also
    control over the behavior of individual reads and writes.

include/comparator.h
    Abstraction for user-specified comparison function.  If you want
    just bytewise comparison of keys, you can use the default comparator,
    but clients can write their own comparator implementations if they
    want custom ordering (e.g. to handle different character
    encodings, etc.)

include/iterator.h
    Interface for iterating over data. You can get an iterator
    from a DB object.

include/write_batch.h
    Interface for atomically applying multiple updates to a database.

include/slice.h
    A simple module for maintaining a pointer and a length into some
    other byte array.

include/status.h
    Status is returned from many of the public interfaces and is used
    to report success and various kinds of errors.

include/env.h
    Abstraction of the OS environment.  A posix implementation of
    this interface is in util/env_posix.cc

include/table.h
include/table_builder.h
    Lower-level modules that most clients probably won't use directly

Install
=======

Get up and running quickly:

    $ autoreconf -i
    $ ./configure
    $ make
    # make install
    # ldconfig

More Repositories

1

HyperDex

HyperDex is a scalable, searchable key-value store
C++
1,395
star
2

libmacaroons

Macaroons are flexible authorization credentials that support decentralized delegation, attenuation, and verification.
C
491
star
3

Consus

Consus is a geo-replicated transactional key-value store.
C++
226
star
4

Replicant

A system for maintaining replicated state machines
C++
115
star
5

e

Library containing high-performance datastructures and utilities for C++
C++
71
star
6

busybee

BusyBee is a high-performance messaging layer
C++
38
star
7

po6

POSIX wrappers for C++
C++
28
star
8

pocdb

Paxos-replicated key-value store in 3 hours or less.
C++
25
star
9

demo-distributed-lock

An example distributed lock using Replicant.
C++
16
star
10

redupe

redupe implements forward error correction
C++
16
star
11

gitswitch

Hubs operate at layer one; switches operate at layer two.
Python
13
star
12

minion

Minion automates building and testing of software projects
Go
7
star
13

encryptify

encryptify encrypts files
C
6
star
14

signify

signify ported from OpenBSD
C
6
star
15

concoord

ConCoord, a Python-based Paxos replicated state machine implementation
Python
4
star
16

libtreadstone

Treadstone manipulates JSON
C++
3
star
17

divvy

divvy implements Shamir's secret sharing
C++
3
star
18

wanal

Over-the-top warnings for C++
C
2
star
19

sesame

sesame is an open source password manager
C
2
star
20

rustypaxos

Paxos in rust. This is a work-in-progress carve-out.
Rust
2
star
21

databuf

Python
2
star
22

gatherbrained

Gatherbrained is a tool for countering scatterbrained thoughts.
Rust
2
star
23

psync

Python
2
star
24

blue

Universe for blue to be developed within.
Rust
2
star
25

firmant

Static web page generator
Python
1
star
26

rprof

A Real Profiler
Python
1
star
27

kvbench

key-value microbenchmark
C++
1
star
28

hack-systems-util

Random Go utilities
Go
1
star
29

gitdepot

Python
1
star
30

hack-systems-random

Go packag for generating random data for tests and validation
C
1
star
31

ygor

ygor is a laboratory assistant
C++
1
star