前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >岁末警示:当你手抖删了线上数据库..

岁末警示:当你手抖删了线上数据库..

作者头像
数据和云
发布2018-03-07 10:45:20
7560
发布2018-03-07 10:45:20
举报
文章被收录于专栏:数据和云数据和云

作者简介:

一乐,aka 梁宇鹏 现任环信首席架构师兼IM技术总监,负责即时通讯云平台的整体研发和管理。曾任新浪微博通讯技术专家,负责微博通讯系统的设计与研发。

2016年1月18日,新年刚过,距离噩梦的圣诞节已经过去三周。已经好多天没有线上报警,群里一片安静,大家都在享受这份宁静与安逸。唯一不一样的是,有集群的迁移工作要做,相关人员干劲十足,已经连续三天通宵。按照惯例,为了保险起见,线上操作都在夜里进行。

如果说这几天最怀念的时光,也许就是这一天了,因为在第二天,我们的一个线上数据库出了问题。

19日上午10点,陆续有用户抱怨,一个接口的数据丢失,而之前删除的数据又出现了。这时候我们的运维同事贴出一个截图,发现有一个数据同步的进程,从凌晨五点开始运行,把线上数据库覆盖,数据一夜回到了解放前!

好在运气好,在这个覆盖发生之前,有一个备份。

修复工作马上展开,先把主从切断,主库利用备份数据重启,从库用来进行比对,恢复增量数据……(部分内容由于当地政策,未予显示)

然而事情并没有结束。这时候内部出现了一个声音高喊,我们一定要惩罚!惩罚这个人,让他知道服务稳定性的重要!

有没有觉得似曾相识?类似的情况其实经常发生。而很多事情就是这样,好像是日常中的一个插曲,却对团队和公司的发展产生着微妙又长远的影响。

是的,我说的是惩罚。

让我们看看惩罚是做什么的

以儆效尤?如果当事人玩忽职守,故意破坏,也许有一些作用。我这里用了也许,因为真出现这种情况的话,可能不是惩罚就够了的。但如果价值观没有问题,这点却未必有效。因为事故已经可以对当事人造成足够压力,增加罚款并没有什么必要。

解气么?公司变大必然出现分工,而各个团队之间的沟通也会变弱。每出现一个问题,其实都是整个公司的问题,用户需要安抚,市场需要维护。这时候就很容易发出一种声音,你看你总给我们添麻烦。这种指责和随后的处罚除了让发声的人心里痛快,该做的事情并没有减少。

它们并没有创造什么价值,却带来了很多你不想要的东西。

更差的工作表现。因为惩罚带来的畏首畏尾,以及随之而来的挫败感,都会让一个人的工作效率大打折扣。

错误的工作态度。谁都知道疲劳作战效率不高容易出错,既然多做多错,少做少错,为什么要去加班加点赶什么进度呢?多一事肯定不如少一事。

隔阂的团队。出了问题就开始指责,那出问题之前的加班加点为了谁呢?一个彼此间互相信任的团队与一个互相防备的团队,差距也是显而易见。

最重要的是,它让技术团队偏离了对技术的追求,而把目光收回到内部关系上,这自然会放慢前进的步伐,这对创业公司将是致命的。

速度是小公司取胜竞争对手直至打败大公司的关键。

不要惩罚不意味着拒绝进步

我们这么做,是因为我们也相信,促使个人和团队成长的,应该是团队的荣誉感和为之努力的心,而不是对惩罚的恐惧。

但我们也不能停在这个地方。如果连自己的教训都无法总结并长成经验,也注定是悲剧的。所以还是回归本初,看看真正想要的是什么。

我们想要的,不过是避免类似事情的发生。

先看一则旧闻。

2015年10月20日,德意志银行外汇部门的一名初级交易员将一订单中的「净值」错误处理为「总额」,令德意志银行向一家美国的对冲基金客户白白送出了60亿美元。 http://wallstreetcn.com/node/224923

这种输入上的低级错误,金融业里叫胖手指,而避免的最重要的方法就是两人法则,我也更喜欢它第二个名字,四眼原则(four eyes principle)。 https://en.wikipedia.org/wiki/Fat-finger_error

它提醒了我们,在关键业务上需要有人结对。鉴于现在工作的远程状态,我们使用了Tmux的会话共享模式,两个人可以通过相同的会话来共享控制台以及键盘输入。

技术可以做到更多

四眼原则用来做紧急措施是可以的,但毕竟有交互成本。而人在精确性上天生不如机器,因此要确保问题不再发生,还要用一些技术手段才行。

由于命令执行的是一个历史命令,而出错的运维人员进入了一个前人遗留的Tmux会话,或者是按了向上或者是进入时的回车直接执行了CTRL-R留下的命令。于是我们

修改了数据恢复的命令,强制进行二次确认; 对危险命令进行了别名处理; 禁止了Tmux的默认session,使用Tmux的人员强制使用别名。

所以你看,人的问题也可以用技术手段来解决。

技术驱动和技术导向

互联网发展仍是日新月异,挑战无处不在。要想变挑战为机遇,只有创新和技术才有可能。只有重视技术的公司,才能充分发挥技术人员的能动性,也将更容易在技术的竞争中胜出。

我们经常开玩笑,很多公司,做不到技术驱动,因为他的每一步都是领导提出领导拍板,它只能叫领导驱动。而如果一个公司在遇到事情之后就总是想到惩罚,不注意保护和发挥技术人员的能动性,技术导向也只能是一个口号。

说到底不过一句话。一个团队或公司,要变成什么样子,跟她迈出的每一步都有关系。

毕竟罗马不是一天建成的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据和云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档