This is a set of row-reordering algorithms and data compression compression schemes implemented in C++.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
array.h
bitpacking.h
columncodecs.h
columnwidecodecs.h
externalvector.h
flatfile.h
lzocodec.h
makefile
stxxlmemorystores.h
stxxlrowreordering.h
tods2011.cpp
util.h
ztimer.h

README.md

The Row reordering C++ library -- External memory version

This is a set of row-reordering algorithms and data compression compression schemes implemented in C++. The goal of these algorithms is to maximize the compression ratio of database tables through row reordering.

This library is strictly for researchers with a working knowledge of C++ that are interested in studying our implementation.

For a simple demo (in Java) of the Vortex order described in the paper, please see https://github.com/lemire/SimpleVortex

Requirements

LZO2 library: http://www.oberhumer.com/opensource/lzo/ Readily available on Linux. Available on macos through fink (for example).

There can be significant differences in compression rate between even minor revisions of the LZO library. When comparing results, always make sure you have the exact same version.

The GNU GCC toolchain is obviously required. C++ code should be portable though.

Usage

make tods2011
./tods2011 myfile.csv