什么是数据库 DevOps?

数据库领域数据仓库的DevOps实践 数据仓库在现代企业中扮演着至关重要的角色,它用于存储和管理大量的历史数据,为企业的决策提供支持。然而,传统的数据仓库开发和运维方式存在效率低下、沟通不畅等问题。DevOps作为一种将开发和运维紧密结合的方法论,能够有效解决这些问题,提高数据仓库的开发和运维效率。本文的目的是介绍数据库领域数据仓库的DevOps实践,包括相关的概念、原理、操作步骤、实际应用场景等。 阅读详情

原文地址 https://www.bytebase.com/blog/what-is-database-devops/

在深入研究数据库 DevOps 之前,先回顾一下什么是 DevOps。它没有统一的定义,但我们知道它起源于软件开发方法与部署和运维的结合。

大约 2007 年和 2008 年,软件开发和 IT 界人士提出了这样的担忧:两个行业的分离,即编写和创建软件与部署和支持软件的人员完全分离,正在给行业带来致命的功能障碍。

DevOps 的目的是,通过共享所有权、工作流自动化和整个软件开发生命周期(SDLC)的持续反馈回路,打破开发者和运维人员的隔阂。而数据库 DevOps 是更广泛的 DevOps 框架中的一个专门子集,侧重于与数据库相关的活动。

数据库 DevOps 中的角色

开发者和 DBA 是数据库 DevOps 中的两个主要角色。他们的工作重点不同,甚至有些冲突:

  • 开发者:尽快构建并交付。

  • DBA:防止数据库中断。

在这里插入图片描述

一种典型的数据库 Schema 变更工作流

  1. 开发者在本地集成开发环境上开发功能,将 Schema 变更应用到本地数据库,并在本地进行测试。
  2. 开发者通过 Jira 等工单系统提交 SQL 更改请求。
  3. DBA 审查工单,并与开发者交换意见。
  4. DBA 使用 SQL 客户端离线发布变更。
  5. 多次重复步骤 2 ~ 5,在 UAT、Staging 和 Prod 环境中逐一执行变更。

缺乏统一的工作空间

开发者和 DBA 在进行数据库变更时会在不同的工具间跳转。开发者从本地集成开发环境中复制 SQL 语句,粘贴到 Jira 中审核。审核通过后,DBA 将 SQL 语句从 Jira 复制到本地 SQL 客户端以应用更改,然后,DBA 更新 Jira 工单并通知开发者。

缺乏自动化

  • 手动复制 SQL 语句 -> 粘贴错误的 SQL 语句。

  • 手动审核 SQL 语句 -> 审核延迟和忽略缺陷。

  • 手动部署 SQL 语句 -> 应用到错误的数据库(臭名昭著的 DROP PROD 意外)。

这些并不罕见。DBA 的人数总是少于开发者,许多工程组织甚至没有专门的 DBA 角色,而只是指派某人担任 DBA。

通往数据库 DevOps 之路

统一的工作空间

由于 GitLab、GitHub、PagerDuty 和 Datadog 等平台等工具的显著进步,DevOps 已成为现实。这些平台允许开发者、发布工程师、运维工程师和 SRE 在一个地方进行协作。数据库 DevOps 也需要一个整合的平台。

最起码的是覆盖变更流程。这可以通过采用 GitOps 这一典型工作流来实现:

  1. 开发者在 GitHub 等 VCS 中提交 SQL 变更脚本供审核。

  2. 审核通过后,合并脚本。

  3. 脚本合并后,会触发 CI 管道来安排部署。

这利用了 VCS 来请求、审核和版本化 SQL 语句。不过,即使有 GitHub Actions、GitLab CI 这样的内置 CI,VCS 仍然依赖外部 CD 系统来部署数据库变更。此外,除了变更任务,另一个常见的数据库任务是查询数据库。VCS 没有交互式界面允许用户发布 SQL 语句并获取结果。

真正的综合数据库工作空间(如 Bytebase)应涵盖「写入」(更改数据库)和「读取」(查询数据库)路径。它必须提供请求、审核和部署数据库变更的工作流,以及查询数据库的交互式 SQL 接口。

自动化

自动化有多种应用:

  • 采用 GitOps 来简化从合并到部署的数据库变更过程。

  • 连接 SQL,自动检测 anti-SQL 模式。

  • 记录变更历史并自动准备回滚。

  • 在操作事件发生时发送通知。

  • 通过 API 自定义自动化。

Bytebase 可通过 GitOps、SQL 审核、内置回滚、Webhook 集成和 API 自动执行数据库任务。

总结

数据库 DevOps 强调将数据库整合到 DevOps 生命周期中,促进开发、运维和数据库团队之间的协作。通过利用自动化工具和实践,团队可以简化数据库部署和查询流程,减少人工错误并提高一致性。这种方法不仅能加快交付周期,还能确保数据库开发生命周期与应用开发生命周期无缝集成,促进形成责任共担、持续改进的文化。


💡 更多资讯,请关注 Bytebase 公号:Bytebase

28、Azure SQL 数据库的 DevOps 实践 本文探讨了在 Azure SQL 数据库中实施 DevOps 的多种方法和工具。从 ORM 和数据库迁移工具的 Code First 方法,到 Database First 的手动数据库开发流程,介绍了 SqlPackage 和 DACPAC 在架构同步和数据库部署中的应用,以及 DbUp 在脚本部署和版本控制中的优势。此外,还讨论了数据库测试的挑战与解决方案,并展示了如何整合所有环节构建一个完整的 CI/CD 管道。无论是希望实现自动化部署还是确保数据库稳定演进的开发者,都能从中获得实用的实践指导。 阅读详情

相关推荐

big-data-devops

大数据开发运营 由BigDataPassion.pl创建 虚拟机URL 卡夫卡 / etc / hosts中的条目 172.22.0.2 zookeeper 172.22.0.3 kafka1 172.22.0.4 kafka2 172.22.0.5 kafka3 172.22.0.6 kafka-manager 172.22.0.7 schema-registry 172.22.0.8 rest-proxy 172.22.0.9 kafka-topics-ui 172.22.0.10 schema-registry-ui Ansible-获取有关主机的配置和信息 ansible-collect-technical-info目录。 关闭并给我您的钱.sh-资源可视化脚本 shutdown-and-take-my-money.yml-用于备份您的配置的剧本 miniHOWTO g

解锁企业数据管理的利器——DataOps

韦恩.埃克森提出的一个DataOps的框架图,中间这里指的是一个典型的数据管道,表示从数据来源到数据分析的全管道过程,下面是数据管道用到的相关技术,上面是整个数据管道的处理流程,包含持续集成、持续部署、编排和测试、监控等流程。但随着数据多样性和复杂性的增加,涉及到测试和管理一些跨环境的数据时,这些不断变化的数据将对数据的运用和管理带来一系列的挑战,随着业务的发展,数据分析所需要的技能和涉及的人员越来越多,DevOps在对快速迭代的业务上显得越来越乏力。众所周知AI的三大基础是数据、算力和算法。

shuzaokeji的博客 773

DataDevOps停车传感器

page_type 语言 产品 描述 样本 Python 蔚蓝 Azure数据工厂 Azure数据块 第2代Azure数据湖 代码示例展示了如何利用不同的Azure数据技术将DevOps概念应用于现代数据仓库体系结构。 用于现代数据仓库的DataOps 该存储库包含许多代码示例和工件,说明如何将DevOps原理应用于根据上的架构模式构建的数据管道。 这些样本要么专注于单一的Azure服务,要么展示了根据MDW模式构建的端到端数据管道解决方案。 每个样本都包含与以下内容有关的代码和工件: 构建和发布管道(CI / CD) 测试中 可观察性/监控 内容 端到端样品 -此示例解决方案演示了遵循MDW架构的端到端数据管道以及相应的CI / CD流程。 该解决方案已在提出。 请参阅的演示,其中包括解决方案的详细演练。 数据管道架构: 构建和发布过程: 单一技术样本 即将推出。 贡献

【一文读懂】DevOps、DataOps与MLOps:支撑企业高效运维的三驾马车

DevOps、DataOps与MLOps,三者各有专攻,却又紧密相连、协同共进。若企业能驾驭好这三驾马车,便能在未来的数字化旅程中,迈向更加高效、智能的未来。

shuzaokeji的博客 1625

高通QCS2290 SecureBoot全流程实战:从密钥生成到NON-HLOS.bin生成

本文详细拆解了高通QCS2290平台SecureBoot安全启动技术的端到端实战流程。从开发环境搭建、RSA密钥对生成与证书链构建,到关键XML配置文件修改、固件编译与数字签名,最终完成NON-HLOS.bin集成打包,为嵌入式开发者提供了一份清晰、可操作的安全启动部署指南。

weixin_28273593的博客 299

Ubuntu视频播放器怎么选?VLC、mpv、SMPlayer硬解与字幕配置指南

在Linux系统中,视频播放体验取决于播放器、解码器与显卡驱动的协同。硬件解码通过VA-API或VDPAU将解码任务交给GPU,能显著降低CPU占用,解决4K高码率视频卡顿问题。对于Ubuntu用户,合理配置解码环境与播放器,可流畅播放HEVC、多音轨及ASS特效字幕视频。无论是日常观影、番剧追更还是家庭影院场景,选择合适的播放器并正确启用硬解,都是提升体验的关键。本文围绕Ubuntu平台,详解VLC、mpv、SMPlayer等播放器的安装、硬解配置与常见问题排查,帮助你在Linux上获得流畅的本地视频播放

weixin_33801856的博客 508

听说过devops,啥是dataops?dataops的技术栈是怎样的

听说过devops,啥是dataops?dataops的技术栈是怎样的

梨木乔 2212

VTK实战笔记(1)在win11搭建VTK-9.4.2 + qt5.15.2 + VS2019_x64开发环境

Visual Studio 2019 + qt5.15.2 + vtk9.4.2

心向阳光,斗志昂扬! 978

IT界的大瓜!DataOps和DevOps这对CP,能让软件和数据变天!

来源 |数据猿在这个快速变化的数字世界里,企业要想跟上潮流,就得不停地调整和升级,这就是为什么像DevOps和DataOps这样的概念变得越来越受欢迎了。在大数据领域,以前都是先开发后治理,现在推行数据开发治理一体化的DataOps。那么,DataOps具体是什么,应该怎么做呢?DataOps是一个比较新的概念,但是它的孪生兄弟DevOps却是一个很成熟的概念,并且DevOps还是借鉴DevOps...

LinkTime_Cloud的博客 256

初识YUV,实战NV21格式数据转换为Bitmap

初识YUV,并使用YUV数据生成Bitmap图像一、初识YUV二、采样方式2.1、YUV 4:4:42.2、YUV 4:2:22.2、YUV 4:2:2 一、初识YUV 说到YUV我们就必须先从RGB说起了,如下图所示,请各位把每个色块当成一个像素点。通常一个像素点由RGB(Alpha我们先不考虑)三原色组成。 如下图中第一个像素点,其RGB值分别为(236,102,93),而这三个值就组成了我们看到的 红色 。 然而上图中除了RGB值外,我还标出了每个像素点的YUV的值,YUV的值是怎么来的呢?直接给公

乐翁龙 7127

免费,Python蓝桥杯等级考试真题--第10级(含答案解析和代码)

Python中蓝桥杯算是含金量和难度最大的比赛之一,网上可以找到不少真题,不过要么零零散散要么付费才能解锁,而且大都是没答案和解析的,给学习者造成很大困扰。因此本文档打算整理历年等级考试、STEMA、省赛、国赛真题卷和解析,供大家学习参考。

1579

数据中台DevOps:大数据平台的持续集成与交付

数据中台是企业数据能力的“中央厨房”,负责将分散的数据源加工成可复用的数据资产(如用户标签、销售指标),支撑前端业务(如精准营销、智能风控)。开发:数据工程师写好ETL脚本后,需手动同步到测试环境,依赖人工校验数据准确性;测试:数据链路长(从日志采集→清洗→存储→计算),一次全链路测试可能耗时数小时;上线:生产环境配置与测试环境不一致,上线后频繁出现“测试没问题,生产报错”的情况;运维:数据质量问题(如字段缺失、数值异常)依赖人工排查,修复周期可能长达1天。

Java大师兄的博客 1033

YOLO26涨点改进 | 损失函数改进篇 | 引入SlideLoss,适配尺度变化+遮挡+难易样本不平衡,手把手配置+实战案例

COCO-Hard是COCO数据集的复杂场景子集,包含80个类别,重点筛选多尺度、遮挡密集样本,其中小尺度目标(<32×32像素)占比42%,大尺度目标(>128×128像素)占比28%,遮挡目标占比57%,场景涵盖人群密集、车流拥堵、复杂工业环境,完美模拟真实复杂检测场景,适合验证SlideLoss的适配性。

qq_36130719的博客 158

Chat2DB DevOps:研发效能提升与实践

在当今数据驱动的时代,数据库开发团队面临着前所未有的挑战:多数据库环境管理、SQL编写效率低下、团队协作困难、部署流程复杂。传统的数据库开发工具往往功能单一,无法满足现代敏捷开发的需求。Chat2DB作为一款智能的通用SQL客户端,通过集成AI能力和DevOps理念,为数据库开发团队提供了全新的解决方案。 本文将深入探讨如何利用Chat2DB构建高效的数据库开发DevOps流程,从代码编写到部署...

gitblog_00727的博客 1100

ChangeMamba训练调试

此仓库的代码是在 Linux 系统下运行的。我们尚未测试是否能在其他操作系统下运行。 首先需要安装VMama仓库。以下安装顺序取自VMama仓库。克隆该版本库并导航至项目目录: 建议设置 conda 环境并通过 pip 安装依赖项。使用以下命令设置环境: 创建并激活新的 conda 环境 安装依赖项 检测和分割任务的依赖库(在 VMamba 中为可选项) 二、下载预训练权重 另外,请下载VMamba-Tiny, VMamba-Small, and VMamba-Base在ImageNet上的预训练权重并把它

hanfeng5268的博客 577

把云端打印带回办公室:通信场景 SAP_COM_0466 打通 SAP BTP ABAP environment 与本地打印机的 Pull Integration 实战

摘要: 本文探讨云端SAP系统如何通过SAP_COM_0466通信场景实现与本地打印机的安全连接。核心方案采用Pull Integration模式,由本地组件(如SAP Cloud Print Manager或第三方OMS)主动从云端打印队列拉取任务,避免网络边界冲突。配置流程涵盖通信安排创建、打印队列绑定及权限管理,并强调队列类型必须选择"Pull Integration Queue"的关键细节。方案通过分离云端生产与本地打印环节,既保障安全性又便于运维监控,适用于SAP BTP AB

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 145

Azure DevOps Server 数据库日志已满,TF30042: The database is full

Contents1. 问题描述2. 处理方式2.1 系统备份2.2 收缩日志2.3 恢复模式2.4 日志增长无法控制1. 问题描述Azure DevOps Server 作为微软的软件开发管理平台产品,理所当然地使用了微软的数据库软件SQL Server。在一个大型的开发团队中,Azure DevOps Server 系统中存储了大量的代码、工作项和持续集成数据,用户频繁提交和更新数据,每天会产...

Azure DevOps Server(原名TFS) 558

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

数据库 DevOps(一)

第一章将 DevOps 应用于现实生活,开启了一段探索之旅,深入探讨 DevOps 的丰富历史和基本原理。我们将揭示其诞生的深刻原因,评估它对科技行业的变革性影响,并深入研究它为组织工作流带来的巨大价值。此外,本章还作为一本实践指南,概述了 DevOps 中的常见目标、任务和实施模式。这些洞察力旨在为您提供清晰的路线图,帮助您在实际场景中应用这些概念,节省大量时间和精力。第二章大规模数据持久化系统,聚焦于现代基础设施设计中的前沿实践和流行趋势,尤其是与大规模数据持久化系统相关的内容。

龙哥盟 970

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数据库 DevOps(二)

人工智能(AI)是计算机科学的一个分支,专注于创建能够执行通常需要人类智慧的任务的智能机器。AI 系统能够分析数据、识别模式,并根据分析结果做出决策。AI 应用的例子包括语音识别、计算机视觉、自然语言处理、机器人技术和专家系统。机器学习(ML)是人工智能(AI)的一部分,专注于创建可以从给定数据中学习并随着时间推移提高效率的算法。ML 算法能够自动识别数据中的模式,并利用这些模式做出预测或决策。ML 应用的例子包括预测分析、欺诈检测、推荐系统、图像识别和自动驾驶汽车。

龙哥盟 1364

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

DevOps革命:3步实现Archery数据库审核与Azure流水线无缝集成

Archery是一款强大的MySQL数据库管理和开发Web工具,提供查询构建、数据库结构管理、数据导入导出等多种功能。本文将介绍如何通过3个简单步骤,将Archery的数据库审核能力与Azure DevOps流水线无缝集成,实现数据库变更的自动化审核与部署,为DevOps流程注入强大动力。 ## 一、准备工作:快速部署Archery环境 在开始集成之前,我们需要先搭建好Archery环境。Ar

gitblog_01036的博客 1085

DevOps-Bash-tools与AWS Redshift:数据仓库自动化实战指南

在现代数据架构中,AWS Redshift(亚马逊 redshift)作为云原生数据仓库,面临三大核心挑战:**数据导入延迟**、**格式转换复杂性**和**跨团队协作效率低**。传统手动流程中,数据工程师需编写大量重复脚本完成S3(简单存储服务)数据同步、Parquet/CSV格式转换、Redshift COPY命令执行等任务,不仅易出错且难以追溯。 DevOps-Bash-tools通过模块...

gitblog_00543的博客 825

在DevOps中实现高效的数据库管理与优化

1.背景介绍 数据库是企业中最重要的基础设施之一,它存储了企业的关键数据,对于企业的运营来说,数据库的可靠性和性能都是非常重要的。 随着企业业务的扩展,数据库的规模也在不断增长,这使得数据库管理和优化变得越来越复杂。 因此,在DevOps中实现高效的数据库管理与优化是企业必须关注的问题。 DevOps是一种软件开发和运维的方法,它强调开发人员和运维人员之间紧密的合作,以实现软件的持续交付和持续...

AI天才研究院 1185

数据库升级 DevOps 落地实践

在我们做持续集成/交付的过程中,应用的发布已经通过 DevOps 流水线基本能满足快速迭代的需求,但是很多企业在落地实践 DevOps 的过程中很容易忽略的一点是关于应用数据库版本、升级的管理,每次上线发布数据库的更新依然通过运维或者 DBA 手工更新,在微服务、容器盛行的背景下,服务多,服务发布速度快,显然靠人工该 DB 是跟不上迭代速度的,从而导致 DB 的更新成了整个软件交付周期的瓶颈。这一...

qhh0205 3667

FoundationDB and DevOps: Streamlining Database Management with Automation

1.背景介绍 FoundationDB is a high-performance, distributed, multi-model database management system that is designed for modern applications. It is built on a foundation of advanced data structures and al...

AI天才研究院 458
上一篇: GUI / GitOps / API: 用 Bytebase 实现 SQL 审核
下一篇: Bytebase 2.22.2 - 允许在工作空间为群组分配角色
Bytebase
博客等级 码龄5年 1348粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值