MAPREDUCE服务 MRS-ClickHouse数据库应用开发:规则
规则
- 大批量少频次的插入。
内容要求:ClickHouse的每次数据插入都会生成一到多个part文件,如果data part过多则会导致merge压力变大,甚至出现服务异常影响数据插入。建议一次插入10万行,每秒不超过1次插入。
- 一次只插入一个分区内的数据。
内容要求:如果数据属于不同的分区,则每次插入,不同分区的数据会独立生成part文件,导致part总数量膨胀。甚至写入报错“Merges are processing significantly slower than inserts”。一批次写入的数据,对应的分区数太多。ClickHouse建表之后insert batch时,会对不同的分区创建一个目录。如果一个batch里面的数据对应了过多的分区,那么一次insert就会生成较多的分区目录,后台merge线程处理速度跟不上分区增加的速度,社区规格是每秒不超过一个数据目录。
具体的操作:确认一个batch的数据对应了多少个分区,insert的时候,尽量保证一个batch包含的分区数是1。
- 慎用delete、update操作。
内容要求:建议使用CollapsingMergeTree、VersionedCollapsingMergeTree引擎或根据分区批量清理。
- ClickHouse需要写本地表。
内容要求:连接balancer写入报错Request Entity Too Large。这是由于Nginx对http请求体大小有限制,而一次写入的数据量超过了这个限制。
规避:修改Nginx配置项client_max_body_size为一个较大的值。
解决:写本地表,不要通过balancer写入数据。
- GaussDB开发_GaussDB数据库开发_高斯数据库开发_华为云
- 数据安全-数据库安全-配置数据库sql审计规则
- 数据库有哪些_开源数据库_数据库应用系统_数据库的应用
- GaussDB数据库应用_什么是GaussDB_高斯数据库应用
- MapReduce服务_什么是MapReduce服务_什么是HBase
- 网站安全-Web应用防火墙-网站反爬虫规则
- 网站安全-Web应用防火墙-Web基础防护规则
- GaussDB应用场景_GaussDB数据库应用场景_高斯数据库应用_华为云
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是Loader_如何使用Loader