Since we announced that TokuDB is now open source, there has been a lot of positive feedback (thanks!) and also some questions about the details. I want to take this opportunity to give a quick high level guide to describe what our repositories on Github are.
Here are the repositories:
- ft-index. This repository is the “magic”. It contains the Fractal Tree data structures we have been talking about for years. This is also the main piece that was previously closed source. Here are some interesting directories:
- src: This directory is a layer that implements an API that is similar to the BDB API.
- locktree: an in-memory data structure that maintains transactions’ row-level locks.
- ft: the fractal tree. This directory contains many of our data structures and algorithms, some of which are:
- the tree data structures,
- the low level transaction objects
- mysql: this contains our copy of MySQL source code, along with several patches to enhance it for TokuDB, such as a patch to allow online schema changes and grammar for clustering keys. The source for this has always been available, so there’s nothing new here except that it is on github.
- mariadb: same as mysql, only for MariaDB.
- ft-engine: This is our storage engine plugin that allows MySQL to talk to TokuDB. All MySQL storage engines have one. This has been open source for a while.
To further discussion, we have also started the following google groups to discuss TokuDB with the community:
- tokudb-user: User and support list for TokuDB.
- tokudb-dev: Developer list for contributors to TokuDB.
We are also on IRC in #tokutek at irc.freenode.net.
We look forward to hearing from the community.