作者比較了 MySQL 幾個常見的引擎: InnoDB / MyRocks / TokuDB。

平時數據:指的是 Insert 速度在 SSD 可承載範圍內。

超寫數據:指的是 Insert 速度超出 SSD 可承載範圍時 (IO-Bound)。

數據指出:

  1. 使用高速 SSD 時,平時數據的表現為 InnoDB 5.7 > TokuDB > MyRocks;超寫數據的表現為 TokuDB > MyRocks > InnoDB 5.7。
  2. 使用低速 SSD 時,平時數據的表現為 InnoDB 5.7 > MyRocks;超寫數據的表現為 MyRocks > InnoDB 5.7。(作者未在低速環境中測試 TokuDB)。

結論

  1. 使用低速 SSD 時,MyRocks 表現最好,具成本優勢。
  2. InnoDB 建議用高階 SSD,效果較低階 SSD 顯著。
  3. 超寫數據下 (IO-Bound),InnoDB 5.7 表現極差,建議改用 MyRocks 或 TokuDB。
  4. InnoDB 5.7 在此的各種評比均較 InnoDB 5.6 快。
  5. 作者的數據評比皆是 Insert-only,若是一般正常使用應該是 Query 與 Insert 混用,此時 TokuDB 的效能不會比 MyRocks 好。