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

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.rhkb.cn/news/185360.html

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

相关文章

【Proteus仿真】【Arduino单片机】数码管显示

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用TM1637、共阳数码管等。 主要功能: 系统运行后,数码管显示数字、字符。 二、软件设计 /* 作者:嗨小易&am…

VSCode使用插件Github Copilot进行AI编程

演示示例 函数封装 根据上下文 根据注释 详情请看GitHub Copilot 安装插件 在VS Code中安装插件 GitHub Copilot 登录账号 点击VS code左下角账户图标,点击【Sign in】,会自动在浏览器打开Github登录页,登录具有 Github Copilot 服务的…

《国产服务器操作系统发展报告(2023)》重磅发布

11月1日,《国产服务器操作系统发展报告(2023)》(以下简称“报告”)在 2023 云栖大会上正式发布,开放原子开源基金会理事长孙文龙、中国信息通信研究院副总工程师石友康、阿里云基础软件部副总裁马涛、浪潮信…

Java设计模式之迭代器模式

定义 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色: 抽象聚合角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。具体聚合角色:实现抽象聚合类&a…

基于springboot vue mysql的在线拍卖系统 全套代码 全套文档

基于SpringBoot的在线拍卖系统,springboot vue mysql (毕业论文10168字以上,共34页,程序代码,MySQL数据库) 代码下载链接:https://pan.baidu.com/s/104LjKF7kvhYeooSBk9h65g?pwd8fk4 提取码:8fk4 【运行环境】 IDEA, JDK1.8, Mysql, Node, Vue 【技…

Python实用技巧:将 Excel转为PDF

将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for Python 实现Excel转PDF的简单方法。 实现步骤 首先,通过pip命令来安装依…

Visual Studio 2022 + OpenCV 4.5.2 安装与配置教程

目录 OpenCV的下载与配置Visual Studio 2022的配置新建工程新建文件新建项目属性表环境配置测试先写一个输出将OpenCV的动态链接库添加到项目的 x64 | Debug下测试配置效果 Other OpenCV的下载与配置 参考这个OpenCV的下载与环境变量的配置: Windows10CLionOpenCV4…

2023_11_6 每日半小时 SQL 刷题

文章目录 1. 查询所有列题目描述SQL 语句编写 2. 查询多列题目描述SQL 语句编写 3. 查询结果去重题目描述SQL 语句编写 4. 查询结果限制返回行数题目描述SQL 语句编写 5. 将查询后的列重新命名题目描述SQL 语句编写 语法小总结 1. 查询所有列 题目链接:SQL1 查询所…

Leetcode543. 二叉树的直径

Every day a Leetcode 题目来源:543. 二叉树的直径 解法1:深度优先搜索 首先我们知道一条路径的长度为该路径经过的节点数减 1,所以求直径(即求路径长度的最大值)等效于求路径经过节点数的最大值减 1。 而任意一条…

开发知识点-Pygame

Pygame Pygame最小开发框架与最小游戏游戏开发入门单元开篇 Pygame简介安装游戏开发入门语言开发工具的选择 Pygame最小开发框架与最小游戏 游戏开发入门单元开篇 Pygame简介安装 游戏开发入门语言开发工具的选择

【Android】Dagger2 框架设计理念和使用方式详解

文章目录 Dagger 框架作用基本使用方法引入依赖创建 Object创建 Module创建 Component向 Activity 注入对象 Component 内部单例全局单例自定义 Scope关于单例作用域的理解注入多种同类型对象Component 依赖Component 继承传递 Activity Dagger 框架作用 这里,我们…

山西电力市场日前价格预测【2023-11-09】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-09)山西电力市场全天平均日前电价为369.84元/MWh。其中,最高日前电价为784.47元/MWh,预计出现在17: 45。最低日前电价为158.90元/MWh,预计…

物联网水表有什么弊端吗?

物联网水表作为新一代智能水表,虽然在很大程度上提高了水资源的管理效率,但也存在一定的弊端。在这篇文章中,我们将详细讨论物联网水表的弊端,以帮助大家更全面地了解这一技术。 一、安全隐患 1.数据泄露:物联网水表通…

分布式数据库·Hive和MySQL的安装与配置

一、版本要求:Hadoop:hadoop-2.10.1、MySQL:mysql-8.0.35、 HIVE:apache-hive-3.1.2、MySQL驱动:mysql-connector-java-5.1.49 安装包网盘链接:阿里云盘分享 安装位置 Hive:master、MySQL:slave1 二、卸载已安装的…

人工智能辅助职业教育发展——开启教育新时代

人工智能辅助职业教育发展——开启教育新时代 随着科技的飞速发展,人工智能(AI)逐渐渗透到各行各业,并在许多领域发挥着重要作用。如今,AI的应用已经延伸到职业教育领域,为培养高素质人才提供了新的可能和动…

矩阵等价和向量组等价的一些问题

什么是向量组?答:向量组是由若干同维数的列向量(或同维数的行向量)组成的集合。什么是向量组等价?答:两个向量组,各自拼成矩阵A和B,向量组等价就是三秩相等,即r&#xff…

如何开发一个求职招聘小程序?详细步骤解析与教程

一、确定需求和功能 在开发求职招聘小程序之前,需要明确需求和功能。通过对市场和用户需求的调研和分析,确定小程序需要具备哪些功能,如职位发布、简历投递、在线沟通、面试安排等。 二、选择开发方式 求职招聘小程序的开发方式有多种选择…

智能井盖传感器功能,万宾科技产品介绍

在国家治理方面,对社会的治理是一个重要的领域,一定要在推进社会治理现代化过程中提高市政府的管理和工作能力,推动社会拥有稳定有序的发展。在管理过程中对全市井盖进行统一化管理,可能是市政府比较头疼的难题,如果想…

JAVA IDEA 下载

超简单步骤一: IntelliJ IDEA 官方下载链接 点击以上链接进入下图,点击下载 继续点下载,然后等待下载完后打开安装包即可 步骤二: 打开下好的安装包,点击Browse...我们把它下载到自己喜欢的地方(主要是别占…

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

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