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

作者简介:

一乐,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的人员强制使用别名。

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

技术驱动和技术导向

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

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

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

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

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-01-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货园

Android开发之路--(1)

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/47...

1353
来自专栏java学习

Java学习趣味问答(大学毕业刚培训完Java,没有经验怎么找工作呢?)

大学毕业刚培训完Java,没有经验怎么找工作呢? 答:如果是外面的培训班形式,据我所知,培训结束前应该会让你们做一个或几个项目练手,这些项目可以算到你的项目经验...

3507
来自专栏我是攻城师

野生程序员的故事

3738
来自专栏智能算法

野生程序员的故事

野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人。野生程序员有很强大的单兵作战能力,但是在编入“正规军”...

3427
来自专栏数据和云

浙江移动完成国内最大规模的Oracle数据库升级

近日,浙江移动进行了核心系统数据库的升级工作,这一项目是迄今国内规模最大的单次核心系统升级。 本次项目对7套RAC架构的数据库同时进行了升级,这些数据库承载...

3195
来自专栏非著名程序员

Google I/O开发者大会第二弹之未来

? 真是后悔昨天起名字叫第一弹了,这意味着今天还得给你们更新第二弹,第三弹……导弹和原子弹,就差核爆炸了。未来是美好的, 怎么会核爆炸呢?来跟着我一起走进未来...

2097
来自专栏北京马哥教育

如何理解云计算中IaaS、PaaS和SaaS?很简单,就像吃货想吃披萨了…

? 你一定听说过云计算中的三个“高大上”的概念:IaaS、PaaS和SaaS,这几个术语并不好理解。不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了...

3338
来自专栏Jerry的SAP技术分享

SAP成都研究院35岁以上的开发人员都去哪儿了?

2006年成立的SAP成都研究院,位于天府软件园B区。如今,因为研究院发展的不断壮大, 已经搬迁到天府软件园E区了,因此,发生在图片building各种充满悲欢...

29011
来自专栏Java职业技术分享

java晋级之路--如何成为高级工程师

我虽然是软件工程专业,但是大学没学到啥东西,算是零基础了。找工作那会,就找了个培训班,简单学了下,极度勉强的情况下算是入门了。于是在北京开始寻找生涯中的第一份工...

2600
来自专栏逸鹏说道

VMware描绘移动商务未来发展蓝图

全球云基础架构和移动商务领导厂商VMware公司(NYSE:VMW)今日公布了对移动商务未来前景的展望,公司将通过全新解决方案、服务和合作伙伴关系帮助企业实现商...

3129

扫码关注云+社区

领取腾讯云代金券