Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

Ubuntu 20.04 CI (GCC 9)

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. This code is meant to help you implementing the algorithms from our papers (see references below).

You must read the papers: this is not standalone code. It is meant to complement the papers!

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

Requirements

A POSIX C/C++ toolchain (linux, macOS)

Warning

This is "proof of principle" code. If you ever use this code in production... well, don't. It is not good C++ code: it is only prototypical.

References

Daniel Lemire and Owen Kaser, Reordering Columns for Smaller Indexes, Information Sciences 181 (12), 2011. http://arxiv.org/abs/0909.1346

Daniel Lemire, Owen Kaser, Eduardo Gutarra, Reordering Rows for Better Compression: Beyond the Lexicographic Order, ACM Transactions on Database Systems 37 (3), 2012. http://arxiv.org/abs/1207.2189

Usage

make tods2011
./tods2011 myfile.csv

About

This is a set of row-reordering algorithms and data compression compression schemes implemented in C++.

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.