美文网首页
clickhouse-merge写放大

clickhouse-merge写放大

作者: 越狱的灵感 | 来源:发表于2022-06-01 15:04 被阅读0次

Write Amplification

问题描述

写放大在存储系统上基本上不可避免

首先

1,磁盘级别就会有 比如SSD就会存在数据擦除导致写放大。

2,RAID Read-Modify-Write策略也会存在多写校验块的过程导致写放大。

3,存储系统中一般会为了保证数据一致性,会有类似mysqlde redo log的思路,就会存在一个多写log的过程,这样也会导致写放大。

4,LSM-tree写放大,金无足赤,人无完人,merge的compaction机制过程不可避免写放大,存在排序和重写过程,只能尽量优化。

所以Write Amplification也是clickhouse merge资源消耗的一部分,不可避免,我们做的就是如何优化merge中的一些性能消耗。

clickhouse 同样也做了一些相应的优化

merge过程中 存储两个矛盾的问题,查看源码

https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/SimpleMergeSelector.h

那就是parts数量和Write Amplification的矛盾

为了避免写放大,不可避免parts过多,为了减少parts过多,必然要做大量merge,减少查询和系统压力,那这样,就存在一个系统平衡系数'base'

clickhouse主要使用算法https://presentations.clickhouse.tech/hse_2019/merge_algorithm.pptx

主要做的操作是,尽量保证tree的平衡,越老年龄的parts越少merge,越大的约少merge

保证base是一个平衡的值,系统默认为5。

解决方案(Optimizations)

代码级别的base参数 好像是不能修改的,能做的优化主要就是如下

A)确实存在,当单机数据量写入很大的时候是有这样的问题的,需要将数据分发到不同的机器上,磁盘压力直接变为1/N

B)增加磁盘IO,做磁盘Raid,

C)控制好批量写入的大小,不能太大,需要根据业务情况控制,参考(Performance)。

clickhouse关于对处理写放大的策略issue

https://github.com/ClickHouse/ClickHouse/pull/155

相关文章

  • clickhouse-merge写放大

    Write Amplification 问题描述 写放大在存储系统上基本上不可避免。 首先 1,磁盘级别就会有 比...

  • LSM-Tree 的写放大

    本文缺少实际的实践经验。全部来自在网上的“道听途说”和自己的“胡思乱想”。 写放大、读放大、空间放大 基于 LSM...

  • 封装放大镜

    1、放大镜插件的参数 参数参数表示的意义selector(必须写) 指定容器url(必须写) 图片地址 2、放大镜...

  • SSD写放大的问题

    写放大(Write amplification)是2008年,由英特尔和SiliconSystems在论文之中首次...

  • 书法课感悟 - 20170124

    有意放大字体,感觉是字体放大后写每个字就更为注意笔画等细节,速度更慢,也许进步会更为大点,

  • FileStore与BlueStore的比较

    无论是FileStore还是BlueStore,其写放大WAF(write amplified factor)都在...

  • 《无题》(制作:无花态度,文字:忧郁的青蛙)

    由于网页显示图片比较小,建议把浏览器的图片放大看 具体操作:键盘ctrl+ 鼠标滚动放大 《无题》 写一首诗 里面...

  • WiscKey:LSM-Tree 写放大优化

    第一次看完 WiscKey 这篇论文,觉得写得很接地气,很实用,很通俗易懂。 这里简单记录一下。 WiscKey ...

  • 酒精就是放大器

    写一篇短文章。 酒精不是麻醉剂,酒精只是放大器。 一只蚂蚁,本来知道自己很小。喝醉之后,仿佛站在放大镜面前,感概:...

  • 意犹未尽

    晨光0.7的中性笔写的,放大了,是不是立体感比较强呢

网友评论

      本文标题:clickhouse-merge写放大

      本文链接:https://www.haomeiwen.com/subject/deuxmrtx.html