带有 MyRocks 引擎的 MariaDB:插入后有很多大文件

MariaDB with MyRocks engine: Many huge files after insertions

我正在使用带有 MyRocks 引擎的 MariaDB。不久之后,我尝试将一堆数据插入一些表(表可以是 InnoDB 和 MyRocks 引擎),我的磁盘增长非常快。我检查了 MariaDB 数据目录,我看到了这个:

drwxr-x--x 2 mysql mysql  12K Jun 26 12:07 #rocksdb
drwxr-xr-x 7 mysql mysql 4.0K Jun 26 12:07 .
drwxr-xr-x 6 root  root  4.0K Jun 21 10:22 ..
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:39 1.000001
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:40 1.000002
-rw-rw---- 1 mysql mysql 1.6G Jun 25 21:44 1.000003
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:48 1.000004
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:50 1.000005
-rw-rw---- 1 mysql mysql 218M Jun 26 06:53 1.000006
-rw-rw---- 1 mysql mysql  357 Jun 26 06:56 1.000007
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:06 1.000008
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:09 1.000009
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:17 1.000010
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:19 1.000011
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:22 1.000012
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:24 1.000013
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:27 1.000014
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:29 1.000015
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:32 1.000016
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:34 1.000017
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:37 1.000018
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:40 1.000019
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:42 1.000020
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:45 1.000021
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:51 1.000022
-rw-rw---- 1 mysql mysql 1.1G Jun 26 08:00 1.000023
-rw-rw---- 1 mysql mysql 1.1G Jun 26 08:07 1.000024
-rw-rw---- 1 mysql mysql 1.1G Jun 26 08:15 1.000025
...

我看到很多文件的名称只包含数字。我不知道这些文件是由 MyRocks 或 MySQL 创建的,我可以删除它们吗?

一个猜测:您配置了以下内容,假设它打开了 binlogging:

log_bin = 1

那些是以“1”开头的二进制日志。

每隔几分钟一个新文件意味着 巨大 的写入量(例如您提到的插入)。

如果您不需要 binlogging 并更改为此并重新启动,那么文件应该停止创建:

log_bin = OFF

可以删除文件(1.*)。

如果他们不停止,那么我的猜测是错误的。

如果您确实需要二进制日志(用于复制 and/or point-in-time 备份,那么我们需要调查它们的巨大速度。

我敢打赌你在 6 月 26 日左右重启了 06:53。

Rocksdb 可能 与问题无关。 (但我可能是错的。)