https://github.com/lemire/rowreorderingcpplibrary
This is a set of row-reordering algorithms and data compression compression schemes implemented in C++.
https://github.com/lemire/rowreorderingcpplibrary
Last synced: 9 months ago
JSON representation
This is a set of row-reordering algorithms and data compression compression schemes implemented in C++.
- Host: GitHub
- URL: https://github.com/lemire/rowreorderingcpplibrary
- Owner: lemire
- Created: 2015-03-12T23:09:20.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2020-08-10T14:16:45.000Z (almost 6 years ago)
- Last Synced: 2025-02-01T21:11:08.704Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 76.2 KB
- Stars: 7
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Row reordering C++ library -- External memory version
/badge.svg)
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