Lawrence886
V2EX  ›  数据库

这个梗我能笑一年。

  •  
  •   Lawrence886 · Mar 23, 2017 · 7324 views
    This topic created in 3352 days ago, the information mentioned may be changed or developed.
    typedef enum EMSqlMode
    {
    	SM_CONST,	//数据一致性优先,当有故障发生时,不进行主、从切换
    	SM_HA,		//高可用性优先,当有故障发生时,进行主、从切换
    	SM_OTHER
    }EMSqlMode;
    
    40 replies    2017-03-24 13:59:17 +08:00
    TakWolf
        1
    TakWolf  
       Mar 23, 2017
    看不懂笑点,楼主给解释下
    jsjjdzg
        2
    jsjjdzg  
       Mar 23, 2017
    当有故障发生时,到底进不进行主、从切换?
    ZhLTE
        3
    ZhLTE  
       Mar 23, 2017 via Android
    同没看懂。
    Lawrence886
        4
    Lawrence886  
    OP
       Mar 23, 2017
    @jsjjdzg 他们的策略是有故障发生,直接开机重启,再连网络。。。别问我怎么知道的,都是泪啊。
    Lawrence886
        5
    Lawrence886  
    OP
       Mar 23, 2017
    @Lawrence886 迷之分布式数据库。
    Techman
        6
    Techman  
       Mar 23, 2017   ❤️ 1
    迷之梗
    lydasia
        7
    lydasia  
       Mar 23, 2017   ❤️ 1
    哈哈哈哈哈哈哈哈

    不好笑。
    riaqn
        8
    riaqn  
       Mar 23, 2017
    另外这个英文写错了吧 一致性是 consistent 缩写怎么也不可能是 const 啊。
    Lawrence886
        9
    Lawrence886  
    OP
       Mar 23, 2017
    @riaqn 没错,都是泪啊。公司人英语都是这个水平,我之前看到过 Scaner, Synatax 。
    Lawrence886
        10
    Lawrence886  
    OP
       Mar 23, 2017
    @riaqn 打算跑路了。
    wyx
        11
    wyx  
       Mar 23, 2017
    SM_OTHER 表示的是什么呢
    Lawrence886
        12
    Lawrence886  
    OP
       Mar 23, 2017
    @wyx 据他们说是还没想好。。。
    Chichele
        13
    Chichele  
       Mar 23, 2017
    有人笑了的话麻烦通知我一声,我给他点赞(感谢)。
    Lawrence886
        14
    Lawrence886  
    OP
       Mar 23, 2017
    @tigerstudent 这个梗太专业了,可能没做过的人不能懂。。。
    R18
        15
    R18  
       Mar 23, 2017
    这个帖子 我能笑一会
    justfun
        16
    justfun  
       Mar 23, 2017
    楼下尴尬的回复够我笑一会了= =
    Lawrence886
        17
    Lawrence886  
    OP
       Mar 23, 2017
    @justfun 蜜汁尴尬
    sinxccc
        18
    sinxccc  
       Mar 23, 2017
    没有 get 到笑点,这两个状态都没什么问题啊……
    fxxkgw
        19
    fxxkgw  
       Mar 23, 2017
    C 的枚举 有什么问题么? 没看出来
    U7Q5tLAex2FI0o0g
        20
    U7Q5tLAex2FI0o0g  
       Mar 23, 2017
    同没 get 到笑点。
    magicbrighter
        21
    magicbrighter  
       Mar 23, 2017   ❤️ 2
    CAP CP 当保证强一致性可用性降低
    AP 保证可用性,数据未及时同步,主从切换后,可能数据不一致
    murmur
        22
    murmur  
       Mar 23, 2017   ❤️ 1
    这个感觉设计没错 如果故障发生时 切换主从数据 很可能把备份数据库也搞挂了 有多少问题是因为删库的时候没及时发现结果备份库也被删了的

    本来主从不是集群啊 主从不是集群啊大家 从库是个备胎主库不用从库是不会上的
    Lawrence886
        23
    Lawrence886  
    OP
       Mar 23, 2017
    @murmur
    @magicbrighter 然而他们根本没实现同步,本身就是可能存在数据不一致的。于是他们就妄想只要故障了不切换,就能够一致。
    murmur
        24
    murmur  
       Mar 23, 2017
    @Lawrence886 这种策略看他运维怎么弄吧 我们有个数据源就是 相当于中间库 写入是两个独立的 webapp 去写入 如果一个系统挂了 直接改配置文件切过去

    因为这个中间库只是其他数据的一部分 盲目切换可能有些配套数据不在切过去问题更大 所以还不如从库留在那里备用 出故障的时候评估一下问题有多大 再决定是手动切从库把数据顶上去还是直接修主库

    企业应用屁事一堆 架构乱七八糟的 手动主从出事的也不在少数 自动集群问题也有 有的集群同步时间只有 5 分钟 也就是说你出了事只有 5 分钟的时间给你响应 如果你错过这 5 分钟你的从库也一样出事
    vjnjc
        25
    vjnjc  
       Mar 23, 2017
    所以从机就一直空载么?
    suckli
        26
    suckli  
       Mar 23, 2017
    @murmur
    两个独立的写入根本没办法保证一致性啊,一个写失败一个写成功怎么破~
    Lawrence886
        27
    Lawrence886  
    OP
       Mar 23, 2017
    @murmur 开眼界了。。。
    Lawrence886
        28
    Lawrence886  
    OP
       Mar 23, 2017
    @vjnjc 正解
    murmur
        29
    murmur  
       Mar 23, 2017
    @suckli 这我就不清楚了 银行的 2 地三机房是怎么保持一致性的呢。。。最后的底线估计是银行留的纸质单据吧
    murmur
        30
    murmur  
       Mar 23, 2017
    @Lawrence886 其实这就是个省钱一点的防误操作的方案而已,而且怕做数据处理的程序挂掉所以程序也是 2 份独立写入,企业开发又没要求多少并发,只要求他出莫名其妙的问题时候随手可以拉一台机器换上去接着用,自动同步是好,但是万一把误操作也同步上去不就亏大了

    没啥开眼界的。。至于 @suckli 说的一致性,我们是用 oracle ,相信 oracle 不会让我们失望,这个问题对我来说,就跟你问我事务把你骗了怎么办。。一样
    yuedingwangji
        31
    yuedingwangji  
       Mar 23, 2017
    小白表示笑不出来
    xialdj
        32
    xialdj  
       Mar 23, 2017 via iPhone
    sunber
        33
    sunber  
       Mar 23, 2017
    哈哈哈哈哈

    我在笑什么???黑人问号
    Fishdrowned
        34
    Fishdrowned  
       Mar 23, 2017
    https://github.com/pingcap/tidb

    虽然我还没用过,不过感觉 tidb 可以帮到你
    Caratpine
        35
    Caratpine  
       Mar 23, 2017   ❤️ 3
    笑,都 TM 给我笑🙂
    Gsyc1
        36
    Gsyc1  
       Mar 23, 2017   ❤️ 1
    路过,不知道在说什么
    cloudzhou
        37
    cloudzhou  
       Mar 23, 2017
    @Lawrence886 @murmur 没看出有什么不对,可能设计的时候,有中间件,比如检测出现数据库异常,尝试切换到从数据库,但是有一些数据非常重要,需要人工确定是否切换,所以有两种处理逻辑:
    1 中间件决定切换,切换后通知开发人员
    2 中间件报警,通知开发人员,开发人员决定是否切换

    因为切换的代价是很高的,如果开发人员知道某种原因数据库不可用,并且会恢复,那么可以不切换,保持数据的一致性,尽量使用主数据库
    从数据库很多时候本身就是空载,类似实时备份。
    prasanta
        38
    prasanta  
       Mar 23, 2017
    哈哈哈哈哈哈哈
    richzhu
        39
    richzhu  
       Mar 24, 2017
    呵呵
    Lawrence886
        40
    Lawrence886  
    OP
       Mar 24, 2017
    @richzhu 呵呵
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   977 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 20:06 · PVG 04:06 · LAX 13:06 · JFK 16:06
    ♥ Do have faith in what you're doing.