工作疑难问题解决4例

news/2024/9/29 1:16:13

   记录一下工作上疑难问题解决:

    一,方便的页面监控  

     前几天早上,负责的kettle抽取数据表的任务又报错了,早上看手机有4个未接报警电话,一看是人员表,原来昨天报表系统有个大的查询一直未查询完成,导致truncate这个人员表,无法活动meta的锁,后续执行抽取和计算的都报错。为解决以前这个很偶发的大查询,特意用datart报表做了一个查询页面,在手机上直接看是否有大的事务查询,有的话kill,保证晚上抽取不会报错,但后面一直天天看,也会放松疏忽。

      不想被短信电话打扰如何解决?不要特别的点开看这个查询页面,又保证能天天看到。

      方法一:报表库购买一个从库,报表读和数据写入计算分离就可解决。  需购买从库,要费用,估计不会批

      方法二:做一个监控工具,如果报表库有大的查询报警或者是发送消息!    也会导致让人烦,入侵性强。不太好

      方法三: 在浏览器里把这个长事务页面设置成首页,每次打开浏览器就可以看到 很友好,每天都会上网,上网就就会看到,非入侵性  

   二、缺少的数据库备机

        几年前,在一家电商公司做DBA,北京仓库有台数据库服务器(线上的数据抽取到本地作业),但一直没有备机,几次和研发领导说这个事情买个备机做实时备份,领导也没说买,估计到CEO老板也不会同意买,公司当时也很缺钱,但这个隐患一直存在,假如某天这个数据库服务器出现故障,无法使用,就很影响到现在的仓库作业,这时再去弄备机,时间很长。

        不给买备机怎么处理?无法做一个实时备份,等出问题再说。跟领导说了几次,估计他也没办法!

        后来有次上海仓库,突然停电,当初配置了一个从库,没什么问题就系统和数据库都起来了。我把这个担忧给领导又说了一遍,担心如果北京仓库断电重启不起来,那就麻烦了,后来领导说买个高配的台式机做一下过度,是否可以,想想有个备机总比没有强,就立刻购买一台高配的兼容机,弄好配置从库。这才解决,后面再新加仓库配置本地数据库服务器,都是按一主一从库来购买。 

   三、表重构高风险

       几年前,公司的线上系统使用的优惠卷表,以前设计存在严重问题,要重新设计表,修改程序。优惠卷就2个表,表重构和程序修改比较容易,但上线,研发出现一个问题,因为代码分布在各个系统,以前维护这块的人都离职了,现在谁都无法了解

     1,不知道程序改完没有   2,即使程序改完了,出现问题,对用户影响很大。 没办法保证100%的修改完成。

      一句话:修改上线风险大,出问题还要背责任。

     和研发,架构还有领导开会讨论时,面临这个问题,怎么处理。讨论下来就是,出一个双写方案,就是新表和旧表同时运行,程序设置开关,可以直接打开双写。上线后,架构开发一个功能,对比2个表的数据差异,一直对比,有异常看程序那些还没改,改得有问题。就这样整个功能运行近1年,对比确认没问题后,这才重构完成,并保证切换系统100%没有问题。

   四、大表拆分

        几年前,去新公司的数据库有个表比较大占用100G+的空间,核心库500G+大小,这个表如果有问题,会影响到核心业务库,最好是迁移出核心库。当时负责这块的研发在广州,我在上海。和负责这块的研发领导沟通,反馈是工作太忙,没有时间,要么排期(排期不知道排到什么时候)。

        而且当时公司研发文化,以结果目的为导向,只看重结果。这个工作又不是他们的核心业绩,即使做了也不一定有好的绩效。但如果不推动这个事情,后面表越来越大,风险也越来越大,必须要做下去,慢慢做,总有做完的那天,如果一直没时间做,就永远不会做。

        只是一个小DBA,没有权利去要求他们做什么,怎么推动这个事情解决?

        后来和广州研发部门的组长和经理沟通,研发的确很忙,和研发组长和经理多次沟通,这拆分还要做,但可以慢慢做,他们最后还把拆分任务分下去,哪个研发人员有空就分配给谁,修改一部分。刚好当时做一个MySQL的审计:

             1,用ELK分析每天4亿多条腾讯云MySQL审计日志(1)--解决过程

       每次程序修改了,可以通过ELK去查是否修改完成,是否还有其他遗漏的地方,一开始给他们开了ELK权限,后来又担心数据安全问题,又给取消了。就这样,每次上线,修改一部分,自己在钉钉群里通告一下是否改完,还有那些没改,监控出没改的SQL,发给他们修改,就这样,整个程序修改都半年多,终于把这个表给拆分出核心库,一句话说的好:真是世上无难事,只怕有心人。

        修改上线后,在例行每次优化报表邮件中,特意写了一份表扬信(写这个表扬邮件费点劲),对广州研发的同事表扬,他们的研发总监还特意点赞回复。邮件如下:

        

         总结:

              这个大表拆分能完成,不是靠一再的施压力和只看结果,而是真正去了解他们的实际情况,给研发提供方便高效的帮助,大家齐心合力去完成一件事。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/30148.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

如何批量删除多个不同路径的文件但又保留文件夹呢

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z1、我准备了三个文件夹(实际操作的时候可能是上百个文件夹,无所谓),里面都放了两个图片2、然后打开工具,使用文件批量复制的模块,勾选“复制时先清空…”的选项,注意,第一栏“要复制的文件和文件夹…

Java异常处理的最佳实践

本文是关于 Exception 处理的一篇不错的文章,从 Java Exception 的概念介绍起,依次讲解了 Exception 的类型(Checked/Unchecked),Exception 处理的最佳实现: 选择 Checked 还是 Unchecked 的几个经典依据 Exception 的封装问题 如无必要不要创建自己的 Exception 不要用 Ex…

Tracealyzer - RTOS可视化追踪调试软件+Virtual Eval - ADI公司ADC产品在线评估工具

1、Qfplib - 专为ARM Cortex-M内核设计的浮点库 Qfplib 是 ARM Cortex-M 内核的 IEEE 754 浮点库家族。Qfplib 有三个分支针对不同的内核,并以不同的优化目标编写。 Qfplib-M0-tiny: 针对ARM Cortex-M0,高度优化的代码大小,仅单精度。 Qfplib-M0-full: 针对ARM Cortex-M0,…

heatshrink - 面向嵌入式领域的超小型压缩库

1、TinyUF2 - 面向 UF2 文件格式的 Bootloader TinyUF2 主要针对使用 TinyUSB 协议栈的 MCU,目前支持ESP32-S2、i.MXRT10xx、LPC55xx、STM32F4。使用 UF2 bootloader,可以方便的通过 USB 以磁盘模式更新程序,无需其它软件,非常方便。项目地址:https://github.com/adafruit…

速度围观|使用分布式企业级任务调度平台,到底有多香?

谷歌云首席决策工程师Kasim Khan曾提到:“在云计算环境中,自动化和效率是关键。”任务调度平台通过优化资源使用和集中管理功能,提供了一系列强大的调度策略、执行管理、监控报警和开发者工具,极大地简化了任务调度的复杂性,从而提升了系统的自动化水平和运维效率。任务调…

华为云发布CodeArts IDE for Python,极致优雅云原生开发体验

近日,华为云正式发布CodeArts IDE for Python,这是一款内置华为自主创新的Python语言服务,提供智能编程、灵活调试能力的可扩展桌面开发工具,为华为云开发者提供卓越Python编码体验。 Python 作为一种编程语言,广泛用于 Web 应用程序、软件开发、数据科学和机器学习 (ML)。…

sublime删除空白行和空格

1、删除空白行,选中左侧的 Regular expression,填入正则 \s+$ 三个点那选择添加当前文件,最后点击Replace 2、删除空格,find输入一个空格,三个点那添加当前文件,最后点击Replace