trptcolin / slowdb

A non-blockchain slow database

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SlowDB

This is a lightweight slow database, useful for many of the same use cases as blockchains, but it's more flexible.

In its default configuration, it neatly sidesteps many of the distributed systems problems that make blockchain systems difficult to develop.

It implements most of the SQL-92 standard and can be extended in numerous ways.

It's useful to compare the out-of-the-box defaults against other "industry-standard" databases like SQLite:

Comparison clearing showing slower performance with SlowDB

As you can see, performance with SlowDB is slow enough to satisfy most needs.

But if your platform needs even slower performance, you can set the environment variable SLOWNESS_FACTOR to a higher value to get even slower (the default slowness factor is 10).

Benchmarks

You can check out performance for yourself with:

../sqlite/slowdb-bench/bench.sh DB_EXECUTABLE_PATH

Compiling for Unix-like systems

First create a directory in which to place the build products. It is recommended, but not required, that the build directory be separate from the source directory. Cd into the build directory and then from the build directory run the configure script found at the root of the source tree. Then run "make".

For example:

    tar xzf sqlite.tar.gz    ;#  Unpack the source tree into "sqlite"
    mkdir bld                ;#  Build will occur in a sibling directory
    cd bld                   ;#  Change to the build directory
    ../sqlite/configure      ;#  Run the configure script
    make                     ;#  Run the makefile.

The configure script uses autoconf 2.61 and libtool. If the configure script does not work out for you, there is a generic makefile named "Makefile.linux-gcc" in the top directory of the source tree that you can copy and edit to suit your needs. Comments on the generic makefile show what changes are needed.

About

A non-blockchain slow database

License:Other


Languages

Language:C 88.1%Language:Tcl 6.5%Language:Shell 2.0%Language:M4 1.2%Language:Makefile 0.8%Language:Yacc 0.5%Language:JavaScript 0.3%Language:Batchfile 0.3%Language:C# 0.2%Language:C++ 0.1%Language:Roff 0.1%Language:HTML 0.1%Language:CSS 0.0%