AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

在数据库中引入 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:002071
用户头像

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

关注

评论

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

万界星空科技商业开源MES系统全面解析

万界星空科技

开源 开源软件 mes 开源mes 万界星空科技

MomoAl (MetaOasis)是什么?,以bitget 钱包为例

加密眼界

博睿数据受邀出席深圳地区数智金融交流会 分享《云原生时代的高级可观测性》

博睿数据

《好战略,坏战略2》摘录

充实的orzi

企业管理 战略

WAIC 2024盛大召开,天翼云以全栈智算能力赋能AI时代!

天翼云开发者社区

人工智能大会 人工智能生态论坛

深度解读昇腾CANN模型下沉技术,提升模型调度性能

华为云开发者联盟

人工智能 华为云 大模型 华为云开发者联盟 企业号2024年7月PK榜

Web3 游戏周报(7.07-7-13)

Footprint Analytics

链游

Go语言设计模式:使用Option模式简化类的初始化

伤感汤姆布利柏

RaftKeeper v2.1.0版本发布,性能大幅提升!

京东科技开发者

企业跨省组网:SD-WAN解决方案

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

预告 | 博睿数据将亮相第四届中国新能源汽车产业数智峰会

博睿数据

安全可信| 通过双项测试!TeleDB实力亮剑!

天翼云开发者社区

数据库 云计算 天翼云

WAIC 2024,好city啊!

天翼云开发者社区

人工智能 世界人工智能大会 WAIC

2024年快应用开发者大会即将强势开启,聚焦AI洞见未来

科技热闻

实战案例:用百度千帆大模型API开发智能五子棋

幂简集成

百度 AI API API 开发

精准搜索:本地文件检索工具的高效策略

京东科技开发者

int(1) 和 int(10) 有什么区别?

源字节1号

小程序 开源 `后端 前端‘’

上榜!天翼分布式云操作系统入选“科创中国”先导技术榜单!

天翼云开发者社区

云计算 分布式 云服务

如何保护你的网络安全?

网络安全服务

TCP 服务器 DDoS waf DDoS 攻击

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