为什么数据导入速度会越来越慢?

可以从底层原理解释一下为什么使用client导入方式速度会越来越慢吗?
瓶颈在哪里?
有什么办法或者思路可以在只能使用client导入方式的情况下尽可能保持高入库速度?

你的 client 指的是 Exchange 吗?

是的,使用exchange中的client导入方式,但是具体实践中,我包装了一下exchange,不影响核心功能,主要想了解基于nebula-client做数据导入性能瓶颈集中在哪里。

那我让 Exchange 的同学回复你下。

是会越来越慢的,因为有compact会占用一部分资源
上周刚有一篇exchange导入的最佳实践,经过测试发现调整storaged服务的 max_subcompactions 配置对导入性能有明显的帮助。 该配置默认值是4,我们测试中调成了64.

2 个赞

lsm的基本原理可以百度,或者论坛上相关贴子至少几十个。

简单说,就是write - dump - merge 这个长过程为了保证能读,必须周期性的merge组织一下新的硬盘结构,这带来了硬盘争抢。这种周期性的小保健慢慢降低了写速度。

可以把auto_compaction关了,最后再一把大保健。

2 个赞

为啥不考虑离线导入?
本质上底层用的是一个KV引擎,数据可以在外部生成好文件ingest进去,不论是HBSE还是Rocksdb, 都是OK的

2 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。