Skip to content
This repository has been archived by the owner on Jun 12, 2020. It is now read-only.

Port TokuDB to MySQL 5.7

RIch Prohaska edited this page Apr 3, 2014 · 1 revision

Goals

  • Run TokuDB in MySQL 5.7 without any patches.
  • Keep up with changes to the APIs used by storage engines.
  • Experiment with MySQL 5.7 features.

Non-goal

  • Run this version on any production system.

Changes to TokuDB

  • MySQL 5.7 added a memory key parameter to my_malloc, my_strdup, etc. Needed to abstract these functions as tokudb_my_malloc, tokudb_my_strdup, etc.
  • Set TokuDB's db type to DB_TYPE_UNKNOWN so that TokuDB's DB_TYPE_TOKUDB patch is not needed.
  • Map TOKU_ZLIB to ROW_FORMAT_DEFAULT so that TokuDB's row format patch is not needed.

Status of TokuDB features

  • Clustering keys are not supported. The clustering key patch would be needed.
  • ZLIB compression is supported.
  • Quicklz, LZMA compression are not supported. The row format patch would be needed.
  • Online alter table is supported.
  • 32 columns per key is not supported. The 32 columns per key patch would be needed.
  • Auto increment any column is not supported. The auto increment patch would be needed.
  • Default storage engine is InnoDB not TokuDB.
  • TokuDB plugins must be manually installed.
  • No mysql test patch, so TokuDB tests can not be run.
  • No sql bench patch, so sql bench tests on TokuDB can not be run.
  • No Tokutek backup.

Status

  • mysql with tokudb compiles
  • install plugin tokudb soname 'ha_tokudb.so' works
  • create tokudb table works
Clone this wiki locally