ClickHouse 插入方法对比
- | BulkInsert - Client | StreamingInsert - Client | BulkInsert - BufferEngine | AsynchronousInsert - ClickHouse |
---|---|---|---|---|
客户端内存 | 高 | 低 | 低 | 低 |
服务端内存 | 高 | 高 | 高 | 高 |
插入去重(有限) | 支持 | 支持 | 不支持 | 不支持 |
并行插入 | 可以多线程 | 单线程 | 可以多线程 | 可以多线程 |
生成 part 数量 | 少 | 少 | 少 | 少 |
开发成本 | 低 | 高 | 低 | 低 |
- 官方建议使用 AsynchronousInsert 而不是 BufferEngine[1]
- 流插入带来的复杂性远超客户端内存降低的优势
插入方式最佳实践
- 优先使用 Asynchronous Insert
- 其次使用客户端 BulkInsert