TiDB now supported in DBdeployer 1.19.0!

It is now easier to evaluate if your application will work with TiDB.

DBdeployer 1.19.0 now supports installing the tidb-server in a single sandbox mode.  Unlike a production install of TiDB, this deployment mode does not require PD or TiKV.  This also makes for a much smaller footprint (a ~20MB download, and a server that can run with 200MB RAM).

Internally it uses goleveldb (instead of RocksDB), so it is by my measure 5x slower than a production deployment using TiKV.  So please use this only for development purposes as intended.

For those of you unfamiliar with TiDB’s architecture, see this manual page.

Example Usage

Using daily tarballs built from TiDB’s master branch*:

# Mac OS X
curl -O https://download.pingcap.org/tidb-master-darwin-amd64.tar.gz
dbdeployer unpack tidb-master-darwin-amd64.tar.gz --unpack-version=3.0.0
dbdeployer deploy single 3.0.0 --client-from=5.7.25

# Linux
wget https://download.pingcap.org/tidb-master-linux-amd64.tar.gz
dbdeployer unpack tidb-master-linux-amd64.tar.gz --unpack-version=3.0.0
dbdeployer deploy single 3.0.0 --client-from=5.7.25

* Notes:

  • The –unpack-version is required because these are builds from master branch, which are currently unversioned.  When TiDB 3.0 is released, I will update with examples on stable packages.
  • The –client-from option is required because TiDB does not ship with client libraries. I am omitting a step, which is that you will first need to download and install a MySQL 5.7.25 sandbox as in the example shown.

Credits

Thank you to Giuseppe Maxia for building and maintaining dbdeployer.  I’ve been a long time MySQL Sandbox fan. Support for TiDB was a collaboration we started at FOSDEM this year.  

Since dbdeployer supports templates, we actually managed to get a working prototype on the first day, without changing any code.  i.e. we just had to write new shell scripts for start, stop, status and tell dbdeployer to install them.

I recommend product vendors work closer with package maintainers.  Adding dbdeployer support has also led to several minor bug fixes and documentation improvements, that benefit all TiDB users.