gpt4 book ai didi

mysql - 记录平均长度为3k时是否适合使用TokuDB引擎?

转载 作者:行者123 更新时间:2023-11-29 03:48:36 25 4
gpt4 key购买 nike

该表有两个字段:id,content,只有一个主键(id)。

字段id类型为bigint。字段内容类型是TEXT,因为这个字段是var-lenth,可能某条记录是20k,记录的平均长度是3k。

表架构:

CREATE TABLE `events` (
`eventId` bigint(20) NOT NULL DEFAULT '0',
`content` text,
PRIMARY KEY (`eventId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

它只是用作Key-Value存储。

我的测试结果是:

InnoDB: 2200 records/second
TokuDB: 1300 records/second
BDB-JE: 12000 records/second
LevelDB-JNI: 22000 records/second(not stable, need test again)

结果非常非常糟糕。

3K 对 tokuDB 来说太大了吗?

在我的应用程序中,有很多插入(>2000 条记录/秒,大约 100M 记录/天),很少有更新/删除。

TokuDB version: mysql-5.1.52-tokudb-5.0.6-36394-linux-x86_64-glibc23.tar.gz 
InnoDB version: mysql 5.1.34
OS: CentOS 5.4 x86_64

我们选择 InnoDB/TokuDB 的一个原因是我们需要分区支持和维护友好。也许我会尝试 LevelDB 或其他 Key-Value 存储?欢迎任何建议。

===========

谢谢大家,最后测试 TokuDB 和 InnoDB 的性能都不够好。

现在我们使用像 bitcask 这样的解决方案作为我们的存储。Bitcask append-only 风格的写入性能比我们预期的要好得多。我们只需要处理哈希索引的内存问题。

最佳答案

如果您一次插入一行,我建议尽可能更改为多行插入语句,如“插入事件 (eventId,content) values (1,'value 1'), (2 ,'value 2'), ...”因为可能会有相当多的开销事务。此外,TokuDB 在每个版本中都提高了性能,我建议在当前版本上运行。

关于mysql - 记录平均长度为3k时是否适合使用TokuDB引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com