Commit b4fc8a5b authored by Leif Walsh's avatar Leif Walsh

rewrite readme file in markdown #1

parent 86af3a70
The Tokutek Fractal Tree Index library is not publicly available software.
This software product is Tokutek commercial software and use of this software
is governed by your applicable license agreement with Tokutek.
Fractal Tree Index Library
The Fractal Tree Index software is provided as a shared library called
"libtokufractaltreeindex-RELEASE.so".
Installation
Copy "libtokufractaltreeindex-RELEASE.so" to some place that the library
loader uses to find libraries.
For example, on Centos 5, 64 bit libraries are found in /usr/lib64. Installation
is as simple as executing the following:
sudo cp libtokufractaltreeindex-RELEASE.so /usr/lib64
Some users put it into "/usr/local/mysql/lib" because some useful binaries
include "/usr/local/mysql/lib" in their rpath, and can use the library.
Some users put it into /opt, for example in "/opt/tokutek/lib". In this
case you will need to arrange for the loader to be able to find it
(e.g., by arranging that LD_LIBRARY_PATH includes /opt/tokutek/lib).
If you do not have root access you can put it into a directory in your
home directory. You may need to help the loader find it, using
something like:
mkdir ~/lib
cp libtokufractaltreeindex-RELEASE.so ~/lib/
export LD_LIBRARY_PATH=~/lib/
To use the Fractal Tree Index as an embedded database, please read the
README.examples file in the examples directory. Any such use requires
a license from Tokutek.
Notice: MySQL is a registered trademark of Sun Microsystems, Inc.
TokuKV
======
TokuKV is a high-performance, transactional key-value store, used in the
TokuDB storage engine for MySQL and MariaDB.
TokuKV is provided as a shared library with an interface similar to
Berkeley DB.
To build the full MySQL product, see the instructions for
[ft-engine][ft-engine]. This document covers TokuKV only.
Building
--------
TokuKV is built using CMake >= 2.8.8. Out-of-source builds are
recommended. You need a C++11 compiler, though only GCC >= 4.7 and
Apple's Clang are tested. You also need zlib and valgrind development
packages (`yum install valgrind-devel zlib-devel` or `apt-get install
valgrind zlib1g-dev`).
You will also need the source code for jemalloc, checked out in
`third_party/`.
```sh
git clone git://github.com/Tokutek/ft-index.git ft-index
cd ft-index
git clone git://github.com/Tokutek/jemalloc.git third_party/jemalloc
mkdir build
cd build
CC=gcc47 CXX=g++47 cmake \
-D CMAKE_BUILD_TYPE=Debug \
-D USE_BDB=OFF \
-D BUILD_TESTING=OFF \
-D CMAKE_INSTALL_PREFIX=../prefix/ \
..
cmake --build . --target install
```
This will build `libtokudb.so` and `libtokuportability.so` and install it,
some header files, and some examples to `ft-index/prefix/`. It will also
build jemalloc and install it alongside these libraries, you should link
to that if you are planning to run benchmarks or in production.
TokuKV is supported on 64-bit Centos, should work on other 64-bit linux
distributions, and may work on OSX 10.8 and FreeBSD.
Examples
--------
There are some sample programs that can use either TokuKV or Berkeley DB
in the `examples/` directory. Follow the above instructions to build and
install TokuKV, and then look in the installed `examples/` directory for
instructions on building and running them.
Testing
-------
TokuKV uses CTest for testing. The CDash testing dashboard is not
currently public, but you can run the tests without submitting them.
There are some large data files not stored in the git repository, that
will be made available soon. For now, the tests that use these files will
not run.
Many of the tests are linked with both TokuKV and Berkeley DB, as a sanity
check on the tests themselves. To build these tests, you will need
Berkeley DB and its header files installed. If you do not have Berkeley
DB installed, just don't pass `USE_BDB=ON`.
In the build directory from above:
```sh
cmake -D BUILD_TESTING=ON [-D USE_BDB=ON] ..
ctest -D ExperimentalStart \
-D ExperimentalConfigure \
-D ExperimentalBuild \
-D ExperimentalTest
```
Contributing
------------
Please report bugs in TokuKV here on github.
We have two publicly accessible mailing lists:
- tokudb-user@googlegroups.com is for general and support related
questions about the use of TokuDB, TokuKV, and TokuDS.
- tokudb-dev@googlegroups.com is for discussion of the development of
TokuDB, TokuKV, and TokuDS.
We are also available on IRC on freenode.org, in the #tokutek channel.
License
-------
TokuKV is available under the GPL version 2, with slight modifications.
See [README-TOKUDB][license].
[ft-engine]: http://github.com/Tokutek/ft-engine
[license]: http://github.com/Tokutek/ft-index/blob/master/README-TOKUDB
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment