ClickHouse server version 20.4.6 批量写入,丢失数据
并发100以下的批量写入(大概每秒10个线程批量写入每个线程数据100-300左右),但是并发下伴随着200左右的并发查询。 一般20分钟一轮数据,打印日志显示clickhouseAPI返回的数组int[]里面全是1,没有失败的,插入数据后查询数据库,发现数据库比api批量插入的地方数据少了 0.6%-1.4%左右。 大佬们帮我分析下问题 感谢 万分感谢
表:
CREATE TABLE snap_alarm
(
id
String,
camera_id
Int32,
camera_name
String,
alarm_type
String,
alarm_type_name
String,
scene_snap
String,
face_url
String,
face_bbox
Array(Float64),
body_bbox
Array(Float64),
face_index
Array(UInt32),
person_id
String,
person_name
String,
person_type
String,
person_type_name
String,
type
String,
group_no
String,
group_name
String,
face_similarity
Float64,
body_index
Array(UInt32),
alarm_zone
Array(Float64),
class_name
String,
event_deal
String,
event_remark
String,
event_deal_time
UInt64,
has_mask
Int32,
scene_id
String,
ts
UInt64,
date
Date
) ENGINE = MergeTree(date, (id, date), 8192);
clickhouse 的error日志:
并且系统日志会一直循环打印:
第一次发现问题丢失数据问题,升级了clickhouse的SDK ,从0.1.54升级到0.2.4 并且clickhouse-server 从19.15升级到20.4.6.