《Oracle性能优化与诊断案例精选》——1.6 理想实践,开发运维一体化

简介:

本节书摘来自异步社区出版社《Oracle性能优化与诊断案例精选》一书中的第1章,第1.6节,作者:盖国强 , 李轶楠 ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 理想实践,开发运维一体化

在数据行业那么久,我们总希望能够通过自己的努力,将好的想法落地,渐渐地改变行业中的不合理之处,让这个技术世界变得美丽一点点。

那么这个行业里有什么迫切需要改变的?

作为资深的DBA你可能会发现,我们10年前处理的问题和今天没有什么不同。针对数据库的运维巡检日复一日,SQL优化应对全表扫描或是隐式转换,转眼就耗费了经年的时光。所以我们有一个理想,不要让DBA重复在这些无休止的工作上,或者至少能够做得更有价值,也力争能够改变用户在使用数据库的过程中,屡见不鲜的事后救火。

所以我们第一个在国内提出了“SQL审核”“智能巡检”等理念,希望真正能够通过自动化运维、工具化约束,去改善SQL开发质量、发现和凸显问题,从而防患于未然,提升系统稳定性,改善数据库运维的现状。我们相信通过规范化、标准化、智能化,才能够不断推动业界向前。

早在2011年,我们基于对于业界的思考,就开始开发了一款SQL审核产品,称为z3,如图1-10所示。它可以审核开发测试阶段的SQL,发现问题,提出建议,希望由此将运维DBA和开发结合起来。我们从未想过,这居然就是今天最热门的DevOps所讨论的范畴。

image

通过不断地呼吁和倡导,今天我们非常欣喜地看到国内很多企业都开始去开发这方面的工具,去推行SQL审核的理念。

那么什么是DevOps呢?维基百科的定义如下所示。

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

从这个定义可以看出DevOps实际上是一种文化上的改变。开发和运维通过更多的沟通达成更可靠的系统输出,从而为企业的共同目标而加注动力。在2015年Gartner的技术成熟度曲线上,DevOps正处于巅峰。

而根据多年的行业经验,我们认为DevOps在Oracle数据库的最佳实践应该就是SQL审核。江苏移动技术专家戴建东的一段感触之言为我们提供了来自实践的依据,他明确提到:

“其实在生产中,绝大多数Oracle的业务系统出现问题都是SQL导致的。但是大多DBA,尤其是偏运维的DBA对SQL并不擅长,这些DBA承担着数据库运维和维护稳定性的职责,而他们对这些问题可能又无能为力。原本SQL的质量应该是开发层负责的问题,但目前的现状是,开发人员管不了,运维人员不擅长。所以当系统出现问题的时候,就需要专业人员“救火”,而事发或事后救火往往是业务已经遭受了损失。”

SQL审核的理念就是,将这些“开发人员管不了,运维人员不擅长”的核心SQL问题抽取出来,作为DevOps的范畴。通过来自运维的经验,指导和辅助开发完成高性能的SQL改写,并且不断通过自动的SQL审核工具和专家的修改建议相结合,推进开发质量的提升,改善系统的稳定性,将性能事故消弭于无形。这也正是DevOps的理想所在。

对于开发团队来说,持续的进行SQL培训我认为非常重要,开发的SQL能力提升了,对于DBA只有好处,数据库的稳定性自然会得到提升。DBA也有职责去和开发沟通,对他们进行面向运维高性能培训。在Oracle DevOps时代,DBA要勇于承担责任,去推进变化。而且在DBA的学习过程中,就是要不断深入去了解各个层面的知识,才能不断进步、融会贯通,找到如鱼得水、游刃有余的感觉。也才能从工作中找到自信和乐趣,进而培养和巩固兴趣,在完善自我的同时帮助他人,提升团队。

在今天的云时代,各个领域都在发生变化,DBA的领域同样面临挑战,表达一下我的观点。

(1)DBA从后端走向前端才能更充分的体现其技术价值。

(2)应用向着预防问题方向演进永远比事后救火更重要。

所以慢慢很多企业开始在开发环节,以开发DBA来进行把关,以SQL审核优化来控制质量。我建议DBA们关注一下这个方向和变化。在现实中,解决单个问题往往是简单的,但是我们应该思考如何去防范一类问题,让更多的人免于重复落入类似的故障。

从经验到规范,从规范到规则,这是DBA工作更高价值的体现。当我们能够将经验固化成SQL、算法或者程序之后,才能帮助到更多的人。我想,只要我们每个人在自己熟悉的领域都能够努力一点点,就能够一起将我们所从事的行业变得美好一点点,从而也会使得我们的世界变得美好一点点。

云和恩墨在云的时代,正在致力于以团队智慧和经验,衍生产品,以产品服务更多的客户和DBA们,进而推进行业的进步

相关文章
|
27天前
|
人工智能 运维 负载均衡
智能运维新时代:AI在云资源管理中的应用与实践
智能运维新时代:AI在云资源管理中的应用与实践
149 23
|
28天前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
60 9
|
1月前
|
存储 弹性计算 运维
云端问道 7 期实践教学-使用操作系统智能助手 OS Copilot 轻松运维与编程
使用操作系统智能助手 OS Copilot 轻松运维与编程
54 14
|
2月前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
2月前
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
2月前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
61 0
|
2月前
|
人工智能 运维 自然语言处理
智能化运维:AI在IT运维领域的深度应用与实践####
本文探讨了人工智能(AI)技术在IT运维领域的深度融合与实践应用,通过分析AI驱动的自动化监控、故障预测与诊断、容量规划及智能决策支持等关键方面,揭示了AI如何赋能IT运维,提升效率、降低成本并增强系统稳定性。文章旨在为读者提供一个关于AI在现代IT运维中应用的全面视角,展示其实际价值与未来发展趋势。 ####
330 4
|
4月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
95 4
|
15天前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
15天前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署

推荐镜像

更多