Skip to content

Codyle/OlegDB

 
 

Repository files navigation

OlegDB

Build Status OlegDB MAYO Scan Status

Alternate title: "How far can we push a mayonnaise metaphor?"

$ pgrep olegdb | xargs kill
olegdb: No.

OlegDB is a single-threaded, non-concurrent, transactionless NoSQL database written by bitter SQL-lovers in a futile attempt to hop on the schemaless trend before everyone realizes it was a bad move. It is primarily a C library with an Erlang frontend for communication.

Dependencies

  • A healthy fear of the end
  • Erlang

Installation

OlegDB consists of a server written in Erlang and a C library for all of the heavy lifting. Binaries are in build/bin/ and the library is in build/lib/. Beam files are also thrown in build/bin/.

Currently builds are tested against gcc and clang.

# Building everything:
make
# Just the erlang beam files:
make server
# Just the C library:
make liboleg
# Install
sudo make install

To run tests:

./run_tests.sh

To run the erlang server:

olegdb <db_location>

You can optionally specify a port, host or both. But not just a host.

olegdb <db_location> [[host] port]

curl2sudo® install script coming soon.

Documentation

Documentation exists primarily on the the website.

Roadmap

0.1

  • Persistence
  • Speaks HTTP with a heavy accent
  • 250 byte hard keysize limit
  • Working database
  • Non-guaranteed record expiry

0.2

  • Splay Trees for key iteration and introspection
  • pub/sub or general evented framework
  • Lists/Queues
  • Speak Redis/Memcached protocol subsets

0.3

  • SPDY Protocol

1.0

  • Distributed fault-tolerant store

2.0

  • BSP Export

About

Enough works to use this in production

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 84.2%
  • Erlang 11.2%
  • Python 2.9%
  • Shell 1.1%
  • C++ 0.6%