在工作中,我们常常遇到各种难题和挑战。下面将分享一些我在工作中遇到的疑难问题,并探讨了它们的解决方案。
一、方便的页面监控
最近,在负责kettle数据抽取任务时又遇到了问题。由于报表系统的大型查询导致人员表无法活动meta的锁,进而导致了抽取和计算任务的报错。为了解决这个问题,我特意使用datart报表做了一个查询页面,以便在手机上直接监控是否有大型事务查询,并及时kill掉,确保晚上的抽取任务不会出错。然而,每天都要关注这个页面,也容易疏忽。
如何解决不想被短信电话打扰的问题呢?
方法一:购买一个从库,将报表读和数据写入计算分离。
方法二:开发一个监控工具,当报表库出现大型查询时发送消息。
方法三:将长事务页面设置为浏览器首页,这样每次打开浏览器就能看到。
二、缺少的数据库备机
在一家电商公司做DBA时,遇到了北京仓库缺少数据库备机的问题。尽管多次向研发领导提出购买备机的建议,但由于公司财务紧张,备机一直未能购买。这一潜在隐患令人担忧,因为一旦数据库服务器出现故障,将会严重影响仓库作业。后来,在上海仓库停电时,幸运地配置了一个从库,使系统和数据库得以恢复。最终,通过和领导的沟通,购买了一台高配置的台式机作为过渡备机,并配置了从库,解决了这一问题。
三、表重构高风险
公司线上系统使用的优惠卷表存在严重设计问题,需要重新设计表并修改相关程序。然而,由于代码分布在不同系统中,维护人员离职导致了程序修改和上线的风险。在和研发团队以及领导讨论后,决定采用双写方案,即同时运行新表和旧表,并通过功能对比来确认修改的完成情况,确保重构过程不会影响到用户。
四、大表拆分
在新公司任职时,数据库中一个表占用了大量空间,如果出现问题将影响到核心业务库。然而,负责这部分的研发团队表示工作繁忙,无法分出时间进行拆分。后来通过与广州研发部门组长和经理的沟通,最终分配了拆分任务给研发人员,并通过ELK对每次程序修改进行监控和确认。经过半年多的努力,最终成功将这个表拆分出核心库。
总结:解决这些问题并不是靠施加压力和看重结果,而是通过真正了解实际情况,为研发提供便利和高效的帮助,大家齐心合力完成。