中东 Shopify 如何使用 Bytebase 构建一站式数据库开发工作流

file

公司简介

Salla 是一家 2016 年成立,位于沙特麦加的自建站电商平台。

file

作为中东 Shopify,其最大的特点是支持阿拉伯语建站,并且提供更多适应中东地区特点的本地化服务。截止目前,已有 47,000 家店铺入驻 Salla,商品销售总额达到了 43 亿美元,近三年保持了接近 100% 的增速。

合作背景

与 Salla CTO Salah Alkhwlani 的首次交流是在 23 年初。我们惊讶的发现,他们对产品的主要功能非常熟悉,并且迫不及待直奔主题希望立即采购。 事后了解到,随着业务的快速发展,结合其电商平台的属性,对于数据库的合规管控需求越来越急迫。然而市场上的产品要么是独立的 SQL 客户端缺乏安全管控能力,要么只提供一些 SQL 脚本审核能力,要么只提供命令行的 SQL 发布能力,找不到任何一款产品可以将诸多环节打通构建完整的数据库开发工作流。如果考虑自研,作为一家快速发展的科技公司,将研发资源投入到与业务没有直接关联的需求上是一种巨大的浪费。 直到他们发现了 Bytebase 这个产品,经过简单试用后,就立马意识到几乎所有功能都像是为他们量身打造的。于是,在初次交流的短短三天后,Salla 就成为了 Bytebase 在中东地区的首个付费用户。

使用场景

Salla 有大量的研发人员与运营人员,需要频繁地访问数据库进行各类操作。作为托管大量用户数据的电商平台,又受到监管方的严格要求。因此,Salla 需要一个专业的软件,对所有绕开应用的直接数据库访问行为进行管控,具体包括:

  • 所有研发、运营团队对生产系统数据的直接查询行为
  • 所有研发、运营团队对生产系统数据的导出行为
  • 所有研发、运营团队对生产系统数据的直接修改行为
  • 所有研发团队对生产系统数据库的结构变更行为

Salla 基于 Bytebase 构建了一套完整的数据库访问权限体系以及审核流程。

对于生产数据库的任何查询与导出行为

file

实现了细化到每一张表或每一条 SQL 的管控,并且可以将一些关键字段按需遮蔽脱敏。尤为关键的是,所有数据库可以在 Bytebase 中进行统一管理,无需针对每一个数据库设置不同的账号体系。权限可以按需进行主动申请或自动回收,也可以由管理员统一分配,大大简化了管理复杂度。

对于生产数据库的任何 DML & DDL 行为

file

构建了标准的发布工作流,所有变更请求需要提交工单,基于风险等级自动生成不同的审批流程,审批人基于自动审核工具的辅助高效的完成审核工作,再由专人按需一键发布到数据库。这一过程被统一集成到了 Bytebase 中,相比此前通过项目管理工具提交审核需求,管理员下载脚本人工审核再复制粘贴到数据库客户端发布的模式,新流程不仅大大提升了协作效率,还极大降低了人为误操作的风险。

深入合作

在满足基本需求后,Salla 计划进行 GitOps 与 Terraform 的集成。 通过 GitOps 工作流,可以让研发人员直接通过代码管理平台提交工单,实现与研发工作流的进一步整合。 通过 Terraform,可以实现 Bytebase 所有配置的代码化,让管理员更方便的进行人员与数据库访问权限的批量配置。 同时,我们也惊喜地发现,优质的产品结合服务,让 Salla 愿意将我们推荐给中东地区的同行们,帮助我们点亮了一个又一个新的客户,中东市场也意外成为了 Bytebase 的增长点💡。

关于 Bytebase

八月初,Bytebase 下载量正式突破了 100 万次。

file

作为一个开源项目,Bytebase 的发展速度远超业界老牌数据库变更管理工具 Liquibase 和 Flyway。

file

Bytebase 也是唯一一个同时被 CNCF Landscape 和 Platform Engineering Landscape 收录的数据库工具。

file

Bytebase 初心不变:打造一个一站式平台,负责各种不同数据库的变更、查询、安全和治理。将类似 GitLab / GitHub 的代码管理和开发体验带给研发、DBA 和平台工程团队⛵️。

file


💡 你可以访问官网,免费注册云账号,立即体验 Bytebase。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

已解决‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件报错

本文摘要:本文已解决‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件的相关报错问题,并系统性地总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。 😎 作者介绍:我是程序员洲洲…

C++--动态规划其他问题

1.一和零 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0…

ubuntu学习(六)----文件编程实现cp指令

1 思路 Linux要想复制一份文件通常指令为: cp src.c des.c 其中src.c为源文件,des.c为目标文件。 要想通过文件编程实现cp效果,思路如下 1 首先打开源文件 src.c 2 读src到buf 3 创建des.c 4 将buf写入到des.c 5 close两个文件 2 实现 vi …

容器技术Linux Namespaces和Cgroups

对操作系统了解多少,仅仅敲个命令吗 操作系统虚拟化(容器技术)的发展历程 1979 年,UNIX 的第 7 个版本引入了 Chroot 特性。Chroot 现在被认为是第一个操作系统虚拟化(Operating system level virtualization&#x…

如何在 Vue TypeScript 项目使用 emits 事件

Vue是构建出色的Web应用程序的最灵活、灵活和强大的JavaScript框架之一。Vue中最重要的概念和关键特性之一是能够促进应用程序组件之间的通信。让我们深入探讨一下Vue中的“emits”概念,并了解它们如何以流畅和无缝的方式实现父子组件之间的通信。 Vue中的emits是什…

工控上位机程序为什么只能用C语言?

工控上位机程序并不只能用C#开发,实际上在工业自动化领域中,常见的上位机开发语言包括但不限于以下几种:C#: C#是一种常用的编程语言,在工控领域中被广泛使用。它具有良好的面向对象特性和丰富的类库支持,可以实现高性…

艾昆纬携手亚马逊云科技赋能生物医药企业,加速武田数字化转型

IQVIA艾昆纬是全球以及中国医疗健康服务领域的领导者,利用其数据及分析,前沿数字化技术和医疗领域的专业知识,智能连接医疗生态的各个环节。过去几年,IQVIA艾昆纬所服务的生物医药行业客户武田中国也迎来了数字化转型的高潮。 武田…

习题练习 C语言(暑期第三弹)

自我小提升! 前言一、存储地址二、逗号表达式三、除自身以外数组的乘积四、字节与二进制五、符号计算六、不用加减乘除做加法七、unsigned判断八、移位计算九、sizeof宏十、移位计算十一、移位计算十二、优先级判断十三、单词倒排总结 前言 重要的事说三遍&#xf…

工厂方法模式的概述和使用

目录 一、工厂方法模式概述1. 定义2. 使用动机 二、工厂方法模式结构1. 模式结构2. 时序图 三、工厂方法模式的使用实例四、工厂方法模式的优缺点五、工厂方法模式在Java中应用 原文链接 一、工厂方法模式概述 1. 定义 工厂方法模式(Factory Method Pattern)又称为工厂模式&…

python3+requests:接口自动化测试(二)

前言:上篇文章python3requestsunittest:接口自动化测试(一):已经介绍了基于unittest框架的实现接口自动化,但是也存在一些问题,比如最明显的测试数据和业务没有区分开,接口用例不便于…

禅道项目管理系统 - 操作使用 (2023版)

1. 部门-用户-权限 新增部门 新增用户 设置权限 2. 项目集创建 项目集 - 添加项目集 3. 产品线创建 产品 - 产品线 4. 产品创建 产品 - 产品列表 - 添加产品 5. 产品计划创建 产品 - xx产品 - 计划 - 创建计划 我这里创建3个计划 (一期, 二期, 三期) 6. 研发需求 - 创建模块…

设计模式-中介者模式

文章目录 一、前言二、中介者模式1、定义2、未使用/使用中介者模式对比2.1、未使用中介者模式:2.2、使用中介者模式: 3、角色分析3.1、中介者(Mediator):3.2、同事(Colleague):3.3、…

Springboot2.0 上传图片 jar包导出启动(第二章)

目录 一,目录文件结构讲解二,文件上传实战三,jar包方式运行web项目的文件上传和访问处理(核心知识)最后 一,目录文件结构讲解 简介:讲解SpringBoot目录文件结构和官方推荐的目录规范 1、目录讲解…

SAP_ABAP_接口技术_RFC远程函数实践总结

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型,ALV/REPORT|SMARTFROM|SCREEN|OLE|BAPI|BDC|PI|IDOC|RFC|API|WEBSERVICE|Enhancement|UserExits|Badi|Debughttps://blog.csdn.net/java_zhong1990/article/details/132469977 SAP接…

RabbitMQ-常用命令

RabbitMQ常用命令 3.1 启动停止rabbitMQ命令 # 前台启动Erlang VM 和 RabbitMQ 当窗口关闭或者ctrlc时,使退出了。 rabbitmq-server# 使用系统命令启动 systemctl start rabbitmq-server# 后台启动 rabbitmq-server -detached# 停止rabbitMQ和Erlang VM rabbitmq-…

【Python基础教程】快速找到多个字典中的公共键(key)的方法

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 方法一:for in循环 from random import randint, samplea1 {k: randint(1, 4) for k in abcdefg} a2 {k: randint(1, 4) for k in abc123456…

【OpenCV入门】第七部分——图像的几何变换

文章结构 缩放dsize参数实现缩放fx参数和fy参数实现缩放 翻转仿射变换平移旋转倾斜 透视cmath模块 缩放 通过resize()方法可以随意更改图像的大小比例: dst cv2.resize(src, dsize, fx, fy, interpolation)src: 原始图像dsize: 输出图像的…

代码随想录—力扣算法题:19删除链表的倒数第N个节点.Java版(示例代码与导图详解)

19.删除链表的倒数第N个节点 力扣题目链接 更多内容可点击此处跳转到代码随想录,看原版文件 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1&#xff1…

六、vim编辑器的使用

1、编辑器 (1)编辑器就是一款软件。 (2)作用就是用来编辑文件,譬如编辑文字、编写代码。 (3)Windows中常用的编辑器,有自带的有记事本(notepad),比较好用的notepad、VSCode等。 (4)Linux中常用的编辑器,自带的最古老的vi&…

UG\NX CAM二次开发 插入工序 UF_OPER_create

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 插入工序 UF_OPER_create 效果: 代码: void MyClass::do_it() {tag_t setup_tag=NULL_TAG;UF_SETUP_ask_setup(&setup_tag);if (setup_tag==NULL_TAG){uc1601("请先初始化加工环境…