使用 zfs 存储池也能对数据库存储的数据进行字节存储? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MRlaopeng
V2EX    问与答

使用 zfs 存储池也能对数据库存储的数据进行字节存储?

  •  
  •   MRlaopeng 324 天前 1036 次点击
    这是一个创建于 324 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了这个帖子的楼主回复 t/1102533#reply10

    @ryd994 就因为 zfs 有 dedup 才用的,省硬盘。如果不用的话,为啥不直接 mdadm,组软 raid ,后期直接上 raid 卡也成。

    我百度查了下去重的可选项

    文件级的去重对文件作为整体来计算 hash 签名,如果处理的是自然的文件,则此方法需要的消耗最小,但是缺点是对文件的任何修改都需要重新计算文件的 hash 签名,即对文件的任何修改,将使得此文件之前节约的空间消失,因为两个文件将不再相同。此中方法比较适合类似于文件 JPEG ,MPEG ,但是对于像虚拟机镜像(大文件)文件将无效,因为即使他们只是很小的一部分不同,但是文件级别他们将是不同的文件。

    块级别的去重(相同大小的块),相比文件级的去重,需要更多的计算消耗,但是他能够很好地对像虚拟机镜像类似的大文件去重。大部分的虚拟机镜像文件是重复数据,例如镜像文件中的操作系统部分。使用块级的去重将使得只有镜像特别的数据才占用额外的空间,相同的数据将共享。

    字节级别的去重,将需要更多的计算消耗来决定重复数据的开始和结束区域,不管怎么说,此方法对 mail 服务器来说是理想的选择,例如一个邮件的附件可能出现很多次,但是使用块级别去重时他们并不能被优化。此类型的去重一般用来一些应用程序的去重中,例如 exchangeserver ,因为应用程序知道他管理的数据,可以在内部容易地去重。

    那我开启字节级别去重 ,不久相当于把数据库中的字段重复数据进行去重了?

    5 条回复    2025-01-05 22:58:17 +08:00
    iBugOne
        1
    iBugOne  
       324 天前 via Android   1
    不用想了,zfs 没这么离谱的功能,能按 recordsize/volblocksize 进行块级别的去重就不错了
    MRlaopeng
        2
    MRlaopeng  
    OP
       324 天前
    @iBugOne 哈哈 是 ibug 大佬 我刚看了你的文章
    https://ibug.io/blog/2024/08/nju-talk/#/mirrors
    MRlaopeng
        3
    MRlaopeng  
    OP
       324 天前
    @iBugOne 好吧,我也是想节省点硬盘,才冒出这个想法
    ryd994
        4
    ryd994  
       324 天前 via Android
    “那我开启字节级别去重 ,不久相当于把数据库中的字段重复数据进行去重了?”

    zfs 的粒度没这么细。zfs 的块大小一般是 4kb 到几 mb 。除非你数据库里都是大段的原始数据(数据库不应该这么用),否则 zfs 的 dedup 对你真没什么用。

    正文中的给虚拟机去重实际上大概率也没用。因为虚拟磁盘的内容未必能对齐到块边界,所以实际去重效果也很差。真正能有效利用到 zfs 去重的场景很少。也就是我说的一般人用不到去重功能。
    ericFork
        5
    ericFork  
       324 天前
    为了省硬盘,那开启压缩也是一个方向啊,CPU 过剩的前提下,lz4 或者 zstd-fast 带来的那点额外的 CPU 开销可以接受
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5247 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 07:06 PVG 15:06 LAX 23:06 JFK 02:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86