Clickhouse数据写入机制
Clickhouse数据写入方式
clickhouse数据写入方式由async_insert 和 wait_for_async_insert 两个参数控制
async_insert 作用于服务端
-
async_insert 默认为0,表示同步插入数据,每次插入数据都会在服务端生成一个分区目录(part),如图1所示
-
async_insert = 1,表示异步插入数据,服务端会攒够一定数据量的数据才会生成一个分区目录,并把数据写入分区目录(part)如图2所示,注意:这部分数据只有在数据写入分区目录之后才会被客户端查询到,
图1
wait_for_async_insert作用于客户端
- wait_for_async_insert 默认为1 ,等服务端把数据写入分区目录之后,才认为本次数据写入成功,如图2
- wait_for_async_insert = 0,数据传输到服务端之后,不等服务端把数据写入分区目录,立即返回成功,如图3