写点什么

在数据库中引入 DevOps 方法

  • 2017-11-12
  • 本文字数:984 字

    阅读完需:约 3 分钟

今天(11 月 2 日)是 PASS 2017 峰会的首日,Redgate 布道师 Steve Jones 介绍了他在数据库管理中引入 DevOps 的一些技巧。他所介绍方法中包括了一些可适用于各种规模应用部署的技巧。Jones 在演讲一开始就提及 Amazon 在 2016 年部署实现每 12 秒做一次生产层面变更。他分享此案例的一个原因在于,阐明使用有效的变更管理方法做高效交付时可达到的变更频率。

考虑到存储在数据库中的数据量以及数据库所担任的关键角色,对这些生产环境中的数据库成功地执行变更无疑十分关键。为了展示数据库中存储的数据量,Jones 举例 Microsoft 每日将从 Azure 用户采集 700TB 的遥测数据(没错,是 TB)。

Jones 引用了 Gene Kim 给出的支撑 DevOps 的三个原则:

  1. 系统化考虑;
  2. 放大反馈循环;
  3. 实验和学习的文化。

Jones 就此原则给出了他在将 DevOps 引入数据库中所使用的技术。最初的也是基础的一步,是实现并依赖于版本控制系统的使用,例如 Git、SVN 等。下一步是实现在应用代码中无差别地对待数据库代码。第三步是在版本控制系统中设置并维护一个组织有序的系统,这在某些情况可以是存储应用代码的同一个代码库,但是在某些情况下使用独立的代码库会更好。最后一步是对更改进行代码审查并认真对待。

由于在非开发环境中会有部分的测试更改先于部署执行,Jones 推荐所使用的数据集是特别构造,而非从生产数据中抽取。开发(DEV)、用户接收测试(UAT)和预发布测试(STG)等从清空的数据库开始,进而添加表示生产环境用例的 10 到 40 行数据。

所有要在生产环境中部署的代码应该以一致的方式完成。如果需要执行一项手工步骤,那么应对这些步骤做完备的文档。一致性是十分重要的,它保证了每个部署总是以同样的方式完成,并且考虑到了一些重要过程,例如单元测试、定义了主键的适用表等。

Jones 观察到不成功的变更是很难回滚的,尤其是变更中涉及了数据库。Jones 推荐手工编写回滚代码,并且这些代码已在部署到 DEV、STG 等阶段之前进行了测试,使得工作脚本已准备好加入到所需的事件中。另一个可考虑的技术是使用黑箱部署,其中变更被部署到生产系统,但是使用它们则是通过一个特征标志触发的。这样一个特性在确定可用于一般通用版(GA)之前,它都是非激活的。据 Jones 介绍,Facebook 在推出 Facebook Messenger 中就采用了这个方法,确保它们的系统可处理预期的用户负载。

查看英文原文: Bringing a DevOps Approach to Databases

2017-11-12 18:002402
用户头像

发布了 391 篇内容, 共 158.4 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

低代码究竟能干什么?

代码生成器研究

让公有云服务“宁安如梦”的“定心丸”在哪里?

轶天下事

前言 | AI工程化部署

AIWeker

AI AI工程化部署

SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示

小万哥

MySQL 数据库 sql 程序员 后端开发

2023 CCHIO | 共襄盛会,为肿瘤防治创新发展贡献觅健力量

联营汇聚

测试人员在 Scrum 中的角色是什么?

敏捷开发

项目管理 Scrum 敏捷开发 自动化测试 bug管理

2024年企业软件定制开发必须了解的4大趋势

飞算JavaAI开发助手

数字化转型 企业 定制软件开发 技术服务

透过一台电视,看到万家星闪

脑极体

通信

乌卡时代确定性稀缺,企业多云战略最需看中什么?

轶天下事

PDF转Word,1行Python代码就够了,免费用

程序员晚枫

Python PDF word 自动化办公

做好数据治理,推动国有企业数据资产化加速落地!

用友BIP

数据治理 数据资产入表

提升编程效率:软件工程师必备的10个Git命令

南城FE

git 前端 软件工程 后端 代码

当前各类厂商纷纷入局低代码赛道,关于低代码未来的发展前景如何?

代码生成器研究

程序员指南|学会与大模型相处,提升个人开发效率

飞算JavaAI开发助手

程序员 软件开发 人工智能「 ChatGPT

阿里云崩了:企业未来该怎么选择云厂商?

轶天下事

2023-11-22:用go语言,给你一个长度为 n 下标从 0 开始的整数数组 nums。 它包含 1 到 n 的所有数字,请你返回上升四元组的数目。 如果一个四元组 (i, j, k, l) 满足

福大大架构师每日一题

福大大架构师每日一题

国际版Amazon Lightsail的功能解析

穿过生命散发芬芳

AWS Lightsail 轻量级服务器

还在为考试重题、错题而头疼?大可不必!时习知新功能了解一下!

轶天下事

如何打破资产盘点壁垒,用友BIP资产云来支招!

用友BIP

资产盘点

协同办公零代码领先实践之企业用品管理

用友BIP

协同办公

编程到底难在哪里?

代码生成器研究

2023中关村论坛系列活动——英特尔智能医疗健康创新合作论坛在京成功举办

E科讯

华为数字治理经验,首次披露!

轶天下事

第八期 |《实时洞察 智能运营一用友企业绩效管理白皮书》解读

用友BIP

企业绩效

在数据库中引入DevOps方法_DevOps & 平台工程_Jeff Martin_InfoQ精选文章