linxiaoziruo
V2EX  ›  Java

关于分库分表的分歧

  •  
  •   linxiaoziruo · Sep 29, 2020 · 4085 views
    This topic created in 2061 days ago, the information mentioned may be changed or developed.

    公司新来 DBA,一直在强调目前数据量没必要分库分表。我们目前最大的单表数据量是 1 亿,整个库的数据文件大小 1 个 G 。 我不太能理解分库分表的界限在哪里,到了这个界限会引发哪些性能瓶颈?

    Supplement 1  ·  Sep 29, 2020
    不好意思,数据文件是一个 T,笔误啊
    17 replies    2020-09-30 11:52:41 +08:00
    ruanimal
        1
    ruanimal  
       Sep 29, 2020
    数据文件这么小,不分表也没啥吧
    linxiaoziruo
        2
    linxiaoziruo  
    OP
       Sep 29, 2020
    @ruanimal 笔误,是一个 T !
    optional
        3
    optional  
       Sep 29, 2020 via iPhone
    看负载啊,负载不高干吗分
    xsm1890
        4
    xsm1890  
       Sep 29, 2020
    我去,一亿数据就一个 T,我司一亿五千万总文件才步到六十个 G 。是不是存太多大字段了,冗余字段了。感觉这才是需要优化的地方
    xx6412223
        5
    xx6412223  
       Sep 29, 2020
    瓶颈是业务来定义的。
    xsm1890
        6
    xsm1890  
       Sep 29, 2020
    如果索引数据五五开的情况下,平均行长度达到了 5000bit????一个数据页就 16kb,个人觉得很不合理啊
    opengps
        7
    opengps  
       Sep 29, 2020
    犯不着纠结这个,总量可控,读写结构合理,那么分不分表对于性能的影响可能真的很小,或者说实在想优化下,可以进行表分区(表分区的优势是对外表现仍然是单表结构)
    linxiaoziruo
        8
    linxiaoziruo  
    OP
       Sep 29, 2020
    @xsm1890 兄弟,1 亿数据是单表数据,1T 数据是整个库
    mightofcode
        9
    mightofcode  
       Sep 29, 2020
    这点数据分个毛
    cheng6563
        10
    cheng6563  
       Sep 29, 2020
    1 亿数据,没范围查询,不嫌插入慢就没啥必要分吧。
    th00000
        11
    th00000  
       Sep 29, 2020
    同意 5 楼 3 楼 看法
    分库分表是根据业务来的, 要知道业务的瓶颈在哪里, 然后才能决定怎么分
    然而你 1 亿 的表 不是你们业务的瓶颈你分他干啥
    cco
        12
    cco  
       Sep 29, 2020
    用到必须得分库了再去分,不要过度设计。
    zhihhh
        13
    zhihhh  
       Sep 29, 2020
    太小了的确不用分。
    sanggao
        14
    sanggao  
       Sep 29, 2020   ❤️ 2
    你这高度理解不了 dba 的决定
    snappyone
        15
    snappyone  
       Sep 29, 2020
    界限就是性能可能顶不住了就考虑拆分
    polyang
        16
    polyang  
       Sep 30, 2020
    同意 15 楼的观点,不是达到多少数量量就一定要分库分表,主要看性能,性能不行了,没办法从其他方面优化了,可以考虑分库分表
    wakzz
        17
    wakzz  
       Sep 30, 2020
    楼上正解,主要看业务场景。有的表仅仅是做存储几乎不读,简单搞个冷备份就行了。如果当前业务场景下性能没问题,就暂时没必要为了分库分表而分库分表,毕竟分库分表就意味着风险和代码重构。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2575 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 15:59 · PVG 23:59 · LAX 08:59 · JFK 11:59
    ♥ Do have faith in what you're doing.