在10s内写入120w数据到tidb

在10s内写入120w数据到tidb,请教下大佬们是使用什么方式好?jdbc插入,或者load data方式呢?

这个导入的速度和你的硬件配置、目标表结构、单行列数和SQL情况紧密相关,你可以多提供一些信息。

通常使用lightning 或BR工具执行物理导入的方式会最快,但是也要考虑你的目标集群是否是离线、是否有业务等因素

都可以吧,看并发。比如 load data 40个并发,如果解决热点问题来插入,那么需要更少并发。
前提是资源也没有瓶颈,nvme盘,tikv可能要解除一些限流参数。

可以试下lightning导入工具导入,有两种模式:
1、local模式:对集群有影响,且需要是空表,但是速度快;
2、tidb模式:对集群影响小,无需是空表,但是速度慢,本质是批量replace操作;

:flushed:1秒12w数据?我用kettle倒是达到过2-3w的情况,10w/s的速度有点高了,并且这还取决于每条记录的大小。jdbc估计是达不到这个要求的。

我压测500线程一条条插入也跑10万以上了,如果只是导入数据一个insert后面多带点数据,几个并发就够了

业务实时插入?
一次插入搞的批次大一些,就是values弄多一些。
多整几个链接试试。
如果按照1条数据1k算,1秒一百来兆的写入。不算太大,writebuffer改大一些。
https://docs.pingcap.com/zh/tidb/stable/tune-tikv-thread-performance

:+1: :+1: :+1:是我HHD硬盘不配 :joy:

这与机器硬件配置有关,还与并发情况和工具有关

网络带宽、IO要有保障,可以使用的方法很多,直接Java代码或者数据导入工具如kettle都有可能

感觉JDBC是没这个实力了,用导入的方式应该可以,不过也跟服务器硬件条件相关

单台服务器不行多几台写入就行了。jdbc执行几十万qps还是见过的。

直接看这个就好了

IMPORT INTO

可以试下Lightning的并行导入。
TiDB Lightning 并行导入 | PingCAP 文档中心

lightning +1

jdbc插入即可,每个sql语句500条,一个线程跑20个sql,然后多个线程同时跑

听着就很猛的样子

使用说明方式需要看你的业务,是否能达到要看你的配置。

1 个赞

lightning local模式应该是最快的了