Bytebase:让数据库管理和协作变得无缝

news2024/11/27 18:47:56
Bytebase:让数据库管理和协作变得无缝

背景

在团队规模较小的时候,往往部门数量有限,沟通协作成本较低,暂时可以通过某几个人管理数据库的方式让独轮车跑起来。但是,随着团队规模的扩大,部门及人员数量的增长,部门间沟通协作成本增加,往往 20%的业务成为核心,80%的业务相对来说不那么重要,这时候往往会抓大放小。时间一长,问题就会涌现,变成出现事故解决流程,引入工具;而不是引入工具,解决流程,预防事故。


工具对比

市面上比较主流的工具有 Navicat,Yearning,DBeaver 等。各个组织引入和解决问题的方式有所区别,通过工具生成 SQL 变更文件,然后通过组织内部审批流进行;或者引入开源产品,公司搭建内部服务;又或者结合公司业务进行自研。

  1. Navicat

这款客户端工具强大吗,确实强大。提供一系列丰富的功能,可视化的数据库设计和管理,导入和导出,数据库结构对比等等。但是,昂贵的价格,我个人觉得不够灵活的客户端,每个平台,每种数据库都需要单独下载一个客户端去进行管理,团队协作能力很弱,需要组织自行引入其他服务进行管理。

  1. Yearning

这款开源产品在 SQL 审计方面做得比较不错,具备一定的组织协作能力,用户的权限管控较为完善。缺点也很明显,在云原生的今天,很多组织数据库上云,组织内部会有多种数据库共存,Yearning 仅支持 MySQL,相比于商业化的工具,它更多的是集中在 SQL 审计,其他方面的功能较弱,而且缺乏社区乃至商业上的技术和文档支持。

  1. DBeaver

DBeaver 支持多种数据库,提供了丰富的数据库管理,可视化相关功能,社区支持十分强大,文档,插件相关资料很丰富,并且较为易用。但在 SQL 审计和团队协作方面比较不方便,安装文件较大,下载和安装时间较长,对资源较少的计算机,可能比较困扰。

介绍

到这里,我要说一下这段时间 Bytebase 使用下来的感受,这款工具是唯一被 CNCF Landscape 收录的 Database CI/CD 产品。技术背景和实力都挺靠谱的,具备海外和国内工作经验,视角更加全面,目前已经有很多公司在进行相关落地。在云原生的今天,传统的 DB 管理工具对云原生场景下很难提供更为全面的治理能力,对于开发人员来说,更希望像管理代码一样管理 SQL,这就引入了 Bytebase GitOps 实践。传统 SQL 和代码是分离的,对于管理人员需要对他们进行两套不同的管理模式,这带来了一定的管理成本和出错可能性。更重要的是在团队协作方面的能力,是传统的管理工具所缺乏的,Bytebase 在这方面的能力十分优秀。


1. 部署

支持多种部署方式,DockerK8sRender

我推荐先通过 render 尝试部署使用,填写一个仓库地址,基本可以在几分钟之内搞定


部署完成后,能够看到主站和元数据库状态,如下

然后直接通过域名访问即可,整个流程十分丝滑

2. 团队协作

现在,让我们进行一次生产环境的表结构同步,我们想要在 employee 表中添加头像字段,可以自定义 SQL 审计插件,自动提交并通知审批人,SQL 审查可以设置不同的级别,如果违反了某些规则,可以禁用或者警告。

每个阶段清晰可见,当我们批准之后,可以去对应数据库查看变更记录,Schema 的对照十分清晰。


企业 IM 集成审批流也已经进入测试版,目前支持飞书,后续将支持更多三方 IM。

3. 版本管理

每次 Schema 变更后,都会生成对应的版本,可以查看版本历史记录,以及不同版本之间的比对。合并及冲突解决。我这里展示一个备份的流程,创建数据库审批完成之后,我们点击库表同步,这个时候选择源数据库和目标数据库,选择版本之后,预览即将进行的 Schema 变更。


接下来进行组织内部的审批流,等待批准后。

查看备份数据库数据及版本即可,能够看到相关的变更已执行。


总结

就我个人这段时间的使用感受,部署十分方便,并且十分贴合云原生的场景,支持多种数据库,团队协作方面十分出色,后续版本正式上线 IM 集成后,对很多企业来说如德芙般丝滑。是一款能够站在组织协同的角度出发,解决 DB 管理过程中不可多得的好工具,充分贯彻了 GitOps 这一理念,管理代码一样管理 SQL 变更,解决了开发人员这种协同的成本。希望在未来能够基于库表设计及 SQL 语句执行效率方面提供更多的助力。

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

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

相关文章

探索环保葡萄酒之生物动力

根据生物动力农业和园艺协会的说法,生物动力农业是“一种精神-伦理-生态的农业、园艺、食品生产和营养方法。”生物动力农民将他们的农场或葡萄园视为一个坚固的有机体,一个自我维持的生态系统。这些农业哲学和实践在整个农业周期中应用了一种整体方法。…

开源GIS工具分享,基于Java的开源GIS代码库GeoTools介绍

GeoTools介绍 GeoTools是一个基于Java开发的开源(LGPL)的GIS代码库,它为地理空间数据的操作提供了符合标准的方法,例如实现地理信息系统。GeoTools 库数据结构基于开放地理空间联盟 (OGC) 规范。 GeoTools提供了用于处理空间数据的类库和工具,包括数据读写、空间分析、…

对话李彦宏:AI 大模型时代,应用开发机会比移动互联网大十

AI 2.0 时代,ChatGPT 的出现,让大模型引发的诸神之战正式打响。百度作为中国首个推出真实应战“武器”的公司,其基于千亿量级数据炼就而成的“文心一言”背后,蕴藏哪些鲜为人知的故事?这种打破人类对过往 NLP 之智能对…

说说你对immutable的理解?如何应用在react项目中?

一、是什么 Immutable,不可改变的,在计算机中,即指一旦创建,就不能再被更改的数据 对 Immutable对象的任何修改或添加删除操作都会返回一个新的 Immutable对象 Immutable 实现的原理是 Persistent Data Structure(持…

关掉电脑的自动更新

1、键盘上同时按【winR】,打开【运行】窗口,参考下图。 2、然后在运行窗口里输入【services.msc】,并按一下回车键,打开服务管理器,参考下图。 3、在服务中管理器中,我们找到【windows update】&#xff0c…

数实结合的复杂电磁环境构建解决方案

数实结合的复杂电磁环境构建解决方案 数实结合的复杂电磁环境构建 目前无线收发设备面临的电磁环境愈发恶劣。为了检验设备在复杂电磁环境下的实际工作性能,需进行各种应用条件下的测试和试验。外场测试难以提供各种应用环境,存在测试周期长、成本高、难…

电脑出现“此驱动器存在问题请立即扫描”该怎么办?

在您将可移动设备(例如:U盘、移动硬盘)连接到计算机时,您可能会收到一条错误消息“此驱动器存在问题请立即扫描并修复问题”。收到此错误消息后,您的设备在大多数情况下将无法访问。那么,电脑出现“此驱动器…

Redis系列-Redis安装与配置【2】

目录 Redis系列-Redis安装与配置【2】二、Redis安装与配置Redis安装步骤windowDocker安装 Redis配置文件说明Redis启动和停止命令启动Redis服务打开Redis客户端进行连接 使用可视化工具Another Redis Desktop ManagerRedisInsight 个人主页: 【⭐️个人主页】 需要您的【&#…

Linux 内核顶层Makefile 详解

目录 Linux 内核获取Linux 内核初次编译Linux 工程目录分析VSCode 工程创建顶层Makefile 详解make xxx_defconfig 过程Makefile.build 脚本分析make 过程built-in.o 文件编译生成过程make zImage 过程 前几章我们重点讲解了如何移植uboot 到I.MX6U-ALPHA 开发板上,从…

优思学院|为何CPK要大于1.33?

当初接触六西格玛或者质量工程的人们,通常对于Cpk值都会有一些疑问。其中一个最普遍的问题就是:为什么通常要求Cpk大于1.33呢? 这个问题首先涉及到正态分布的核心,和你的统计工具看到你的过程中的变化的能力。让我们来简单描绘一…

Stable Diffusion webui 源码调试(三)

Stable Diffusion webui 源码调试(三) 个人模型主页:LibLibai stable-diffusion-webui 版本:v1.4.1 内容更新随机,看心情调试代码~ shared 变量 shared变量,简直是一锅大杂烩,shared变量存放…

矢量绘图软件Sketch 99 for mac

Sketch是一款为用户提供设计和创建数字界面的矢量编辑工具。它主要用于UI/UX设计师、产品经理和开发人员,帮助他们快速设计和原型各种应用程序和网站。 Sketch具有简洁直观的界面,以及丰富的功能集,使得用户可以轻松地创建、编辑和共享精美的…

线程活跃性

文章目录 1. 简介2. 死锁3. 活锁4. 饥饿 1. 简介 所谓线程的活跃性,我们知道每个线程所要执行的java代码是有限的,在执行一段时间后线程自然会陷入Terminated状态,但由于某些外部原因导致线程一直执行不完,一直处于活跃状态&…

Apache APISIX Dashboard 未经认证访问导致 RCE(CVE-2021-45232)漏洞复现

漏洞描述 Apache APISIX 是一个动态、实时、高性能的 API 网关,而 Apache APISIX Dashboard 是一个简单易用的前端界面,用于管理 Apache APISIX。 在 2.10.1 之前的 Apache APISIX Dashboard 中,Manager API 使用了两个框架,并在…

分享5款会带来意想不到效果的软件

​ 有时候一些小工具,能给你带来一些意想不到的效果,我们来看看下面这5款工具,你又用过其中几款呢? 1.密码管理器——Bitwarden ​ Bitwarden是一款开源的密码管理器,可以安全地生成、存储和分享密码和其他敏感信息。…

探索经典算法:贪心、分治、动态规划等

1.贪心算法 贪心算法是一种常见的算法范式,通常在解决最优化问题中使用。 贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法范式。其核心思想是选择每一步的最佳解决方案,以期望达到最终的全局最优解。这种算法特点在于只考虑局部最优解&am…

郑州市管城回族区政协副主席张惠云一行莅临中创算力调研指导工作

为促进企业健康发展,服务管城区企业。2023年11月8日,郑州市管城区政协副主席、工商联主席张惠云带队赴河南中创算力信息科技有限公司进行走访调研。 中创算力董事长许伟威、技术总监刘朝阳陪同考察。此次调研旨在深入了解中创算力的发展情况&#xff0c…

避坑丨一次看懂软著软件著作权登记避免「补正」的“方法”……

前言:2023年6月1日起,试运行软件版权登记网上办理。软件著作权申请登记,从提交到审核结束基本都得两个月以上。对很多企业来说,两个月的时间本来就长,但如果提交的材料不符合要求、不规范,大概率就会出现补…

将对象与返回的数据所对应的键相同时一一赋值

问题描述 对象与返回的数据直接赋值,会将多余的键与值也添加上 那么赋值时值要 目标对象的键所对应的值 解决方案: 利用双重遍历 来比对 当 键相同时再赋值 duiYingFuZhi(obj,data){for (let key in obj) {for (let index in data) {if (keyindex) {obj…

在线预约表单小程序源码系统 带完整搭建教程

随着移动互联网的普及和前端技术的不断发展,越来越多的业务场景开始采用在线预约表单小程序来实现。这种小程序具有使用便捷、用户体验良好、能够快速处理大量数据等优点。随着消费者对服务质量和体验的要求不断提高,传统的预约方式已经无法满足人们的需…