为什么审计平台不适合进行数据库变更管理?

关于视源电子

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

file

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

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

视源电子此前已经采购了数据库审计安全平台,其理论上可以实现对所有数据库访问的监控与阻断,从而避免违规操作。然而实际使用过程中,却并不能很好的应对复杂的数据库变更管理需求:

  • 拦截规则粒度较粗:由于无法进行精细化的规则设置,粗粒度的规则可能造成误拦截
  • 固定规则无法灵活调整:由于类似防火墙的固定规则配置,一旦终端用户发现规则错误或是需要临时放行,只能不断的反复修改规则
  • 不支持 SQL 审核规范:审计平台的拦截规则基本只限定于 SQL 类型,但是对于更细节的 SQL 审核规范完全无法支持,例如命名风格、字段类型约束等
  • 拦截能力不稳定:存在不明原因的 SQL 执行错误,只能关闭拦截功能才能解决
  • 缺乏线上流程管控:所有的发布依然需要人工在多个割裂的系统中对接,无法在一个闭环流程中实现提交、审核与发布,增加了不必要的沟通成本,也引入了更多的故障点。
  • 缺乏高级发布能力:视源电子一个现实需求是将同一个变更发布到多个工厂的系统中,原有流程中只能逐个登录堡垒机执行,效率低下。
  • 无法实现变更版本化管理:虽然审计平台能够记录所有的变更,但其目的是为了审计,事实上无法支持版本管理中需要的变更差异比对、变更历史分析、历史变更组织编排等能力。
  • 无法管理账号权限:由于存在发布与查询的现实需求,需要将生产系统的账号提供给研发人员,即便做了账号权限的控制,但是下发的账号无法进行有效的管理和回收,也无法控制账号在研发团队间的传播

由于安全平台的诸多局限,为了不影响用户的正常使用,事实上只能放弃拦截功能,而仅仅采用其审计能力。然而变更质量管控的问题依然无法得到解决,成为了日常数据库管理中最大的痛点。

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

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

数据库变更全流程管控

file

Bytebase 提供了一站式的变更管理流程,形成变更的合并、审核、发布、通知、记录的完整生命周期管理,同时通过接口等方式与上下游的研发工具实现联动,将原本割裂的行为实现了闭环统一。

  • 合并。可以通过 UI,代码仓库,接口等多种方式合并变更,不同研发团队可以按需选择。
  • 审核。提供了强大的自动审核功能,实现多维度的 SQL 检查。
  • 发布。可以一键将工单发布到目标数据库,避免手工执行低效易错。
  • 通知。可以集成主流 IM,实现流程节点自动化通知。
  • 记录。有别于审计平台只记录最终执行语句,Bytebase 可将记录工单项目的流程信息以及变更前后的结构快照,实现更专业的变更历史管理。

提升发布效率

file

在强调对流程管控的同时,Bytebase 提供了多种能力,帮助开发团队提升其发布效率,其中的一些切实解决了视源团队此前面临的问题。

  • 批量发布。Bytebase 支持多种高级发布能力,其中的批量分组功能可以将大量数据库进行灵活的分组发布,避免逐个库执行的低效,也解决了自定义批处理脚本无法灵活应对交叉分组的问题。
  • 可执行性验证。Bytebase 可以更好的帮助研发同学写出真正可执行的 SQL,不仅包括了语法检查与对象名校验,对于一些特定操作,例如修改被视图引用的表结构(在 Postgres 中需要删除该视图才能修改表结构),可以自动给出视图定义方便研发改写脚本,得到研发团队的一致好评。
  • 简化版本管理。在原有的流程中,测试环境的变更脚本需要通过电子表格等工具进行手工记录与编排,再逐个发布至生产系统,繁琐且易错。Bytebase 提供了变更列表管理功能,可以从历史记录或文件中导入变更,编排后实现一键发布,工作体验得到明显改善。

将访问合规融入流程

file

Bytebase 同时提供了多种安全能力,实现了所有人工直接访问数据库的安全管控。

  • 统一的权限管控。利用一套账号角色体系,可以管理所有项目中的数据库权限,无需将数据库的直接访问权给到开发者。
  • 细粒度的查询导出权限。可以精确到表级或语句级的细粒度权限分配,确保数据的访问合规。
  • 严格控制变更类需求。所有的变更类需求强制通过工单形式执行,便于流程审核与记录。

由浅到深的落地实践

为了确保落地效果,管理团队与不同的项目研发团队进行了深入的沟通,结合实际情况进行分阶段推行,取得了很好的效果。

  • 分部门逐步推广。优先在需求较为迫切的部门推广,例如制造部门急需分组变更等能力。
  • 分场景逐项落地。针对变更最为频繁,场景最为复杂的营销部门,并不急于全面推广,而是结合常规发布、大版本发布、数据修复等不同场景制定不同的应对策略,优先将临时性、易出错的数据变更纳入管理,再逐步接管其他场景,从而让开发团队能够适应新的流程。
  • 分功能逐级演进。优先采用易于上手的 UI 变更工作流,逐步在一些部门启用 GitOps 工作流,实现更无缝的变更体验。

在与视源技术团队合作的过程中,我们也深刻体会到了其专业性,不但将 Bytebase 的各项功能进行了充分的发挥,还贡献了很多极有价值的应用场景。后续的工作中 Bytebase 仍将全力支持,协助视源电子进一步完善新一代的数据库变更管理流程⛽️。


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言之文件操作(剩余部分)

上篇博客字数到极限了,给大家把内容补充在这一篇,我们还剩下文件读取结束的判定和文件缓冲区的内容没有介绍,让我们开始下面的学习吧! 目录 1.文件读取结束的判定 1.1feof函数 1.2ferror函数 代码示例 2.文件缓冲区 2.1fflu…

Redis之主从复制

文章目录 一、什么是Redis主从复制?1.作用2.配置主从复制的原因3.环境配置 二、一主二从三、复制原理四、链路总结 一、什么是Redis主从复制? 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(ma…

用Go实现网络流量解析和行为检测引擎

1.前言 最近有个在学校读书的迷弟问我:大德德, 有没有这么一款软件, 能够批量读取多个抓包文件,并把我想要的数据呈现出来, 比如:源IP、目的IP、源mac地址、目的mac地址等等。我说:“这样的软件你要认真找真能找出不少开源软件, 但毕竟没有你自己的灵魂在里面,要不…

类与对象(2)

✨前言✨ 📘 博客主页:to Keep博客主页 🙆欢迎关注,👍点赞,📝留言评论 ⏳首发时间:2023年11月11日 📨 博主码云地址:博主码云地址 📕参考书籍&…

C++动态库

C动态库 动态库文件(Dynamic Link Library,DLL)是程序在运行时所需要调用的库。静态库文件是程序在编译时所需要调用的库。 1 环境介绍 VS版本:VS2017 编程语言:C 2 功能介绍 使用VS2017项目模板创建C动态库生成…

Java 之 IO/NIO/OKIO

BIO blocking io AIO Asynchronous IO 从内存读取到写入--输出 从外部到内存 -- 输入 OutputStream //文件不存在则自动创建 try {OutputStream outputStream new FileOutputStream("text.txt");outputStream.write(a);outputStream.write(b);} catch (IOExcep…

Java-多态

1. 多态 1.1 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 1.2 多态实现条件 在java中要实现多态,必须要满足如下几个条件,缺一不…

vivado时序分析-3时序分析关键概念

1、时钟相移 时钟相移对应于延迟时钟波形 , 此波形与因时钟路径内的特殊硬件所导致的参考时钟相关。在 AMD FPGA 中 , 时钟相移通常是由 MMCM 或 PLL 原语引入的 , 前提是这些原语的输出时钟属性 CLKOUT*_PHASE 为非零值。 时序分析期间…

Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】

一、传统磁盘管理的弊端 传统的磁盘管理:使用MBR先对硬盘分区,然后对分区进行文件系统的格式化最后再将该分区挂载上去。 传统的磁盘管理当分区没有空间使用进行扩展时,操作比较麻烦。分区使用空间已经满了,不再够用了&#xff…

如何使用HadSky搭配内网穿透工具打造个人站点并公网访问

🌈个人主页:聆风吟 🔥系列专栏:Cpolar杂谈、数据结构、算法模板 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 前言一. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 二. 本地网页发…

【算法 | 模拟No.4】AcWing 756. 蛇形矩阵 AcWing 40. 顺时针打印矩阵

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程&a…

【chat】4: ubuntu20.04:数据库创建:mysql8 导入5.7表

【chat】3: ubutnu 安装mysql-8 并支持远程访问 已经支持 8.0的SQLyog 远程访问:大神2021年的文章:sql是5.7的版本,我使用的ubuntu20.04,8.0版本:chat数据库设计 C++搭建集群聊天室(七):MySQL数据库配置 及项目工程目录配置 User表,以id 唯一标识 Friend 表,自己的id…

JavaFX入门和网格布局面板的使用,Dao层交互,舞台与场景切换以及其他控件的使用

网格布局 将整个面板划分为若干个格子 , 每个格子的大小是一样的 , 每个格子中可以放置一个控件(布局) , 类似于表格的方式。在网格布局 中放入控件的时候 , 还需要指定位置。 GridPane gridPane new GridPane(); 我们将要排出这个布局 , 也就是登陆页…

如何通过命令查看某一文件的内容改动和提交记录

1. 查看最近10条的提交记录 一行显示 git log --oneline -102.查看某一个文件的提交记录 git log --oneline -10 文件路径3.查看某个文件的修改内容 查看某次提交的修改 内容 git show bcd9299 查看某次提交某个文件的修改内容git show bcd9299 文件路径4.对比两次提交内容的…

【STM32】HAL库UART含校验位的串口通信配置BUG避坑

【STM32】HAL库UART含校验位的串口通信配置BUG避坑 文章目录 UART协议校验位HAL库配置含校验位的串口配置BUG避坑附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时 位带操作位带代码位带宏定义总线函…

新生儿夜惊:原因、科普和注意事项

引言: 新生儿夜惊是一种常见的现象,它可能让新父母感到焦虑和不安。夜惊通常表现为婴儿在夜间忽然惊醒、哭闹,并伴随着呼吸急促和肌肉紧张。尽管这在大多数情况下是正常的生理现象,但对于父母来说,了解夜惊的原因和适…

HTML点击链接强制触发下载

常见网页中会有很多点击链接即下载的内容&#xff0c;以下示范一下如何实现 <a href"文件地址" download"下载的文件名字&#xff08;不包括后缀&#xff09;">强制下载</a> 下面举个例子&#xff1a; <a href"./image/test.jpg"…

Mysql配置主从复制-GTID模式

目录 主从复制 主从复制的定义 主从复制的原理 主从复制的优势 主从复制的形式 主从复制的模式 主从复制的类型 GTID模式 GTID的概念 GTID的优势 GTID的原理 GTID的配置 Mysql主服务器 ​编辑 Mysql从服务器 ​编辑 主从复制 主从复制的定义 是指把数据从一个…

缓存与数据库双写一致性几种策略分析

一、背景 在高并发场景中&#xff0c;为防止大量请求直接访问数据库&#xff0c;缓解数据库压力&#xff0c;常用的方式一般会增加缓存层起到缓冲作用&#xff0c;减少数据库压力。引入缓存&#xff0c;就会涉及到缓存与数据库中数据如何保持一致性问题&#xff0c;本文将对几…

财税服务展示预约小程序的作用是什么

财税财政往往困扰着很多公司&#xff0c;尤其是公司里没有相应职员或工作压力大的情况下&#xff0c;不少商家就会寻找代理记账、审计服务、会计代理等服务的机构。 对财政服务代理机构&#xff08;会计公司&#xff09;来说&#xff0c;市场企业多而广&#xff0c;理论上来说…