Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
C Ruby Other
branch: master

This branch is 6 commits behind penberg:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Documentation
compat
fastlz
features
fields
include
scripts
snappy
test
tools/gendsv
.gitignore
.travis.yml
COPYING
Gemfile
Gemfile.lock
Makefile
README.md
TODO
buffer.c
builtin-cat.c
builtin-export.c
builtin-extend.c
builtin-import.c
builtin-repack.c
builtin-stat.c
builtins-common.c
column.c
compress.c
die.c
extent.c
harness.c
header.c
mmap-source.c
mmap-window.c
pstore.c
read-write.c
segment.c
table.c
util.c

README.md

pstore

Pstore is a high-performance, read-optimized database system. The core is implemented as a shared library libpstore that can be embedded in third-party applications.

There's also a CLI application pstore that is used to manipulate and inspect pstore files, and convert CSV files into pstore format.

The design of pstore is loosely based on C-Store which is another Open Source read-optimized database. The main idea is to store tabular data in column-order to improve read performance for special purpose workloads.

Building pstore

Pstore's test suite requires Ruby 1.9 and Bundler. If your operating system does not have Ruby 1.9, take a look at rbenv or RVM.

When you have both Ruby 1.9 and Bundler, install Rubygem dependencies:

bundle install

Then run the tests:

make check

Trying it out

The first step is to create a database file. You can import a CSV file into a pstore database with the following command:

pstore import dataset.csv dataset.out

After that, you can use the pstore cat command to look into the imported database:

pstore cat dataset.out

With pstore import --append you can append more data into a pstore database:

pstore import --append moredata.csv dataset.out
Something went wrong with that request. Please try again.