Mysql 和 Clickhouse 使用

31 天前
 LiJavaT

现在有个 Java 服务每天要抓取十几万的数据,这个数据量太大了,查询速度也慢。现在方案的是,第一次 Mysql 抓取全量数据同步到 CLickhouse 中,clickhouse 存储历史数据,Mysql 就存储当天抓取的数据然后同步到 clickhouse 中。这样就解决了 Mysql 中表的数据量过大的问题。 想问一下大佬们,我这解决方案有啥问题。期间也想过用 monodb 存储,但是 monodb 不是太好用就放弃了

2823 次点击
所在节点    数据库
28 条回复
zsj1029
31 天前
有点感觉没必要,你担心的 mysql 数据量大,应该是表大,每天创建一个新表,可以解决你说的问题
分库分表也是为了解决查询慢,其实索引做好,几百万数据应该也不慢的
vacuitym
31 天前
那为啥不全存在 ck
Ico945
31 天前
没啥问题吧,还得有个定时任务来清理 mysql 的数据?
LiJavaT
31 天前
@vacuitym 因为实时更新当天数据,ck 处理更新不太好吧
LiJavaT
31 天前
@Ico945 对对 还得在跑个定时任务清理一下
vacuitym
31 天前
@LiJavaT 看你频率,如果频率不高触发下合并就行
LiJavaT
31 天前
@zsj1029 主要是每天创建一个新表,后面做一下数据分析还有查询比较麻烦
jfds
31 天前
查询复杂的话这个方案没啥问题。如果查询场景简单,这个数据量只用 mysql 也行,建好索引和分表用个几年问题不大。
bthulu
31 天前
一天十几万也大吗? 我这厂里设备上报的实时数据, 每秒中几百个设备上报一次, 一天近一千万条数据, 也没见 mysql 不能用啊
LiJavaT
31 天前
@bthulu 数据不需要经常查询吗,这样查询挺慢的吧
000sitereg
31 天前
cdc 抓取增量数据到 ck ,历史数据用 java 等方案插入 ck
wwwyt
31 天前
每天十几万数据也不多,中间加一层 ES 做索引就可以解决查询慢的问题
venglide
31 天前
建议 mysql 和 ck 都不要用了,直接 starrocks 吧,mysql 协议,实时能力不错,分析效率和 ck 相近,关键是运维比 ck 方便太多。
li746224
31 天前
问题不大,我们也是这样处理的,每天几十万数据先进 mysql 表,然后 cdc 到 clickhouse 。最后在 clickhouse 做其他汇总处理
realpg
31 天前
@zsj1029 #1
索引做好 上亿数据查询也不慢的
singkingcho
31 天前
如果不怎么更新的话,可以用 doris ,然后做按天的分区。
bthulu
31 天前
@LiJavaT 那是, 绝大部分情况下都不会查的
Frankcox
31 天前
每天更新的数据是一次新增还是会有大量更新?只是每天新增十几万数据,感觉可以直接都放在 clickhouse 。我们现在部分需要分析的重要日志也是存 clickhouse ,每天几百万,写入没什么问题。
z1829909
31 天前
直接每天数据都往 ck 存,查询也是走 ck 。或者只用 mysql ,做好分表就行。
你说的要更新 ck 是指数据爬到新的需要更新吗?可以加个版本号,ck 不擅长做数据更新删除,想更新的时候用不同的版本号新增一次,查询条件带上版本号。不用担心数据量太大,ck 就是干这个的,按时间做个分区几百亿都没事。
codingmiao
31 天前
话说为什么你们简称 ck 不是 ch

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1092672

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX