查看原文
其他

来自电子制造行业视源科技 (CVTE) 的数据库变更管理实践

cy Bytebase 2023-12-22

关于视源电子

广州视源电子科技股份有限公司 (CVTE) 成立于 2005 年 12 月,旗下拥有多家业务子公司。

截至 2022 年底,公司总人数超 6000 人,约 60% 为技术人员。公司的主营业务为液晶显示主控板卡和交互智能平板等显控产品的设计、研发与销售,产品已广泛应用于家电领域、 教育信息化领域、企业服务领域等。自成立以来,依托在音视频技术、信号处理、电源管理、人机交互、应用开发、系统集成等电子产品领域的软硬件技术积累,在细分市场逐步取得领先地位,并建立了教育数字化工具及服务提供商希沃(seewo)、智慧协同平台 MAXHUB 等多个业内知名品牌。


困扰已久的数据库变更发布管理

视源电子此前已经采购了数据库审计安全平台,其理论上可以实现对所有数据库访问的监控与阻断,从而避免违规操作。然而实际使用过程中,却并不能很好的应对复杂的数据库变更管理需求:
  • 拦截规则粒度较粗:由于无法进行精细化的规则设置,粗粒度的规则可能造成误拦截

  • 固定规则无法灵活调整:由于类似防火墙的固定规则配置,一旦终端用户发现规则错误或是需要临时放行,只能不断的反复修改规则

  • 不支持 SQL 审核规范:审计平台的拦截规则基本只限定于 SQL 类型,但是对于更细节的 SQL 审核规范完全无法支持,例如命名风格、字段类型约束等

  • 拦截能力不稳定:存在不明原因的 SQL 执行错误,只能关闭拦截功能才能解决

  • 缺乏线上流程管控:所有的发布依然需要人工在多个割裂的系统中对接,无法在一个闭环流程中实现提交、审核与发布,增加了不必要的沟通成本,也引入了更多的故障点。

  • 缺乏高级发布能力:视源电子一个现实需求是将同一个变更发布到多个工厂的系统中,原有流程中只能逐个登录堡垒机执行,效率低下。

  • 无法实现变更版本化管理:虽然审计平台能够记录所有的变更,但其目的是为了审计,事实上无法支持版本管理中需要的变更差异比对、变更历史分析、历史变更组织编排等能力。

  • 无法管理账号权限:由于存在发布与查询的现实需求,需要将生产系统的账号提供给研发人员,即便做了账号权限的控制,但是下发的账号无法进行有效的管理和回收,也无法控制账号在研发团队间的传播
由于安全平台的诸多局限,为了不影响用户的正常使用,事实上只能放弃拦截功能,而仅仅采用其审计能力。然而变更质量管控的问题依然无法得到解决,成为了日常数据库管理中最大的痛点。


Bytebase:为制造行业带来全新的数据库变更管理体验

专业的事情交给专业的产品。经过充分的试用评估,视源电子选择了 Bytebase 来作为其真正意义上的数据库变更管理平台。作为一款聚焦于数据库变更管理的产品,Bytebase 很好的满足了视源电子在数据库管理需求中的诸多关键需求。

数据库变更全流程管控

Bytebase 提供了一站式的变更管理流程,形成变更的合并、审核、发布、通知、记录的完整生命周期管理,同时通过接口等方式与上下游的研发工具实现联动,将原本割裂的行为实现了闭环统一。
  • 合并。可以通过 UI,代码仓库,接口等多种方式合并变更,不同研发团队可以按需选择。

  • 审核。提供了强大的自动审核功能,实现多维度的 SQL 检查。

  • 发布。可以一键将工单发布到目标数据库,避免手工执行低效易错。

  • 通知。可以集成主流 IM,实现流程节点自动化通知。

  • 记录。有别于审计平台只记录最终执行语句,Bytebase 可将记录工单项目的流程信息以及变更前后的结构快照,实现更专业的变更历史管理。

提升发布效率

在强调对流程管控的同时,Bytebase 提供了多种能力,帮助开发团队提升其发布效率,其中的一些切实解决了视源团队此前面临的问题。
  • 批量发布。Bytebase 支持多种高级发布能力,其中的批量分组功能可以将大量数据库进行灵活的分组发布,避免逐个库执行的低效,也解决了自定义批处理脚本无法灵活应对交叉分组的问题。

  • 可执行性验证。Bytebase 可以更好的帮助研发同学写出真正可执行的 SQL,不仅包括了语法检查与对象名校验,对于一些特定操作,例如修改被视图引用的表结构(在 Postgres 中需要删除该视图才能修改表结构),可以自动给出视图定义方便研发改写脚本,得到研发团队的一致好评。

  • 简化版本管理。在原有的流程中,测试环境的变更脚本需要通过电子表格等工具进行手工记录与编排,再逐个发布至生产系统,繁琐且易错。Bytebase 提供了变更列表管理功能,可以从历史记录或文件中导入变更,编排后实现一键发布,工作体验得到明显改善。

将访问合规融入流程

Bytebase 同时提供了多种安全能力,实现了所有人工直接访问数据库的安全管控。
  • 统一的权限管控。利用一套账号角色体系,可以管理所有项目中的数据库权限,无需将数据库的直接访问权给到开发者。

  • 细粒度的查询导出权限。可以精确到表级或语句级的细粒度权限分配,确保数据的访问合规。

  • 严格控制变更类需求。所有的变更类需求强制通过工单形式执行,便于流程审核与记录。


由浅到深的落地实践

为了确保落地效果,管理团队与不同的项目研发团队进行了深入的沟通,结合实际情况进行分阶段推行,取得了很好的效果。
  • 分部门逐步推广。优先在需求较为迫切的部门推广,例如制造部门急需分组变更等能力。

  • 分场景逐项落地。针对变更最为频繁,场景最为复杂的营销部门,并不急于全面推广,而是结合常规发布、大版本发布、数据修复等不同场景制定不同的应对策略,优先将临时性、易出错的数据变更纳入管理,再逐步接管其他场景,从而让开发团队能够适应新的流程。

  • 分功能逐级演进。优先采用易于上手的 UI 变更工作流,逐步在一些部门启用 GitOps 工作流,实现更无缝的变更体验。
在与视源技术团队合作的过程中,我们也深刻体会到了其专业性,不但将 Bytebase 的各项功能进行了充分的发挥,还贡献了很多极有价值的应用场景。后续的工作中 Bytebase 仍将鼎力支持,协助视源电子进一步完善新一代的数据库变更管理流程⛽️。

左手 Jira,右手 Polarion,驶入互联网和制造业十字路口的新能源汽车
为何在中国 MySQL 远比 PostgreSQL 流行 🔥
MySQL 数据脱敏方式盘点
实现基于 Azure DevOps 的数据库 CI/CD 最佳实践

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存