课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习数据库开发技术,而今天我们就一起来了解一下,数据库应用需要注意哪些问题。
1、数据导入之前要评估好分区字段
ClickHouse因为是根据分区文件存储的,如果说你的分区字段真实数据粒度很细,数据导入的时候就会把你的物理机打爆。其实数据量可能没有多少,但是因为你用的字段不合理,会产生大量的碎片文件,磁盘空间就会打到底。
2、数据导入提前根据分区做好排序,避免同时写入过多分区导致clickhouse内部来不及Merge
数据导入之前我们做好排序,这样可以降低数据导入后ClickHouse后台异步Merge的时候涉及到的分区数,肯定是涉及到的分区数越少服务器压力也会越小。
3、左右表join的时候要注意数据量的变化
再就是左右表join的问题,ClickHouse它必须要大表在左边,小表在右边。但是我们可能某些业务场景跑着跑着数据量会返过来了,这个时候我们需要有监控能及时发现并修改这个join关系。
4、根据数据量以及应用场景评估是否采用分布式
分布式要根据应用场景来,如果你的应用场景向上汇总后数据量已经超过了单物理机的存储或者CPU/内存瓶颈而不得不采用分布式ClickHouse也有很完善的MPP架构,但同时你也要维护好你的主keyboard。
5、监控好服务器的CPU/内存波动
再就是做好监控,我前面说过ClickHouse的CPU拉到60%的时候,基本上你的慢查询马上就出来了,所以我这边是有对CPU和内存的波动进行监控的,类似于dump,这个我们抓下来以后就可以做分析。
6、数据存储磁盘尽量采用SSD
数据存储尽量用SSD,因为我之前也开始用过机械硬盘,机械硬盘有一个问题就是当你的服务器要运维以后需要重启,这个时候数据要加载,我们现在单机数据量存储有超过了200亿以上,这还是我几个月前统计的。这个数据量如果说用机械硬盘的话,重启一次可能要等上好几个小时服务器才可用,所以尽量用SSD,重启速度会快很多。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。