中东 Shopify 如何使用 Bytebase 构建一站式数据库开发工作流
公司简介
Salla 是一家 2016 年成立,位于沙特麦加的自建站电商平台。
作为中东 Shopify,其最大的特点是支持阿拉伯语建站,并且提供更多适应中东地区特点的本地化服务。截止目前,已有 47,000 家店铺入驻 Salla,商品销售总额达到了 43 亿美元,近三年保持了接近 100% 的增速。
合作背景
与 Salla CTO Salah Alkhwlani 的首次交流是在 23 年初。我们惊讶的发现,他们对产品的主要功能非常熟悉,并且迫不及待直奔主题希望立即采购。 事后了解到,随着业务的快速发展,结合其电商平台的属性,对于数据库的合规管控需求越来越急迫。然而市场上的产品要么是独立的 SQL 客户端缺乏安全管控能力,要么只提供一些 SQL 脚本审核能力,要么只提供命令行的 SQL 发布能力,找不到任何一款产品可以将诸多环节打通构建完整的数据库开发工作流。如果考虑自研,作为一家快速发展的科技公司,将研发资源投入到与业务没有直接关联的需求上是一种巨大的浪费。 直到他们发现了 Bytebase 这个产品,经过简单试用后,就立马意识到几乎所有功能都像是为他们量身打造的。于是,在初次交流的短短三天后,Salla 就成为了 Bytebase 在中东地区的首个付费用户。
使用场景
Salla 有大量的研发人员与运营人员,需要频繁地访问数据库进行各类操作。作为托管大量用户数据的电商平台,又受到监管方的严格要求。因此,Salla 需要一个专业的软件,对所有绕开应用的直接数据库访问行为进行管控,具体包括:
- 所有研发、运营团队对生产系统数据的直接查询行为
- 所有研发、运营团队对生产系统数据的导出行为
- 所有研发、运营团队对生产系统数据的直接修改行为
- 所有研发团队对生产系统数据库的结构变更行为
Salla 基于 Bytebase 构建了一套完整的数据库访问权限体系以及审核流程。
对于生产数据库的任何查询与导出行为
实现了细化到每一张表或每一条 SQL 的管控,并且可以将一些关键字段按需遮蔽脱敏。尤为关键的是,所有数据库可以在 Bytebase 中进行统一管理,无需针对每一个数据库设置不同的账号体系。权限可以按需进行主动申请或自动回收,也可以由管理员统一分配,大大简化了管理复杂度。
对于生产数据库的任何 DML & DDL 行为
构建了标准的发布工作流,所有变更请求需要提交工单,基于风险等级自动生成不同的审批流程,审批人基于自动审核工具的辅助高效的完成审核工作,再由专人按需一键发布到数据库。这一过程被统一集成到了 Bytebase 中,相比此前通过项目管理工具提交审核需求,管理员下载脚本人工审核再复制粘贴到数据库客户端发布的模式,新流程不仅大大提升了协作效率,还极大降低了人为误操作的风险。
深入合作
在满足基本需求后,Salla 计划进行 GitOps 与 Terraform 的集成。 通过 GitOps 工作流,可以让研发人员直接通过代码管理平台提交工单,实现与研发工作流的进一步整合。 通过 Terraform,可以实现 Bytebase 所有配置的代码化,让管理员更方便的进行人员与数据库访问权限的批量配置。 同时,我们也惊喜地发现,优质的产品结合服务,让 Salla 愿意将我们推荐给中东地区的同行们,帮助我们点亮了一个又一个新的客户,中东市场也意外成为了 Bytebase 的增长点💡。
关于 Bytebase
八月初,Bytebase 下载量正式突破了 100 万次。
作为一个开源项目,Bytebase 的发展速度远超业界老牌数据库变更管理工具 Liquibase 和 Flyway。
Bytebase 也是唯一一个同时被 CNCF Landscape 和 Platform Engineering Landscape 收录的数据库工具。
Bytebase 初心不变:打造一个一站式平台,负责各种不同数据库的变更、查询、安全和治理。将类似 GitLab / GitHub 的代码管理和开发体验带给研发、DBA 和平台工程团队⛵️。
💡 你可以访问官网,免费注册云账号,立即体验 Bytebase。
相关文章:
![](https://img-blog.csdnimg.cn/600c9a8ad44d440399ab384b81ee381c.png)
中东 Shopify 如何使用 Bytebase 构建一站式数据库开发工作流
公司简介 Salla 是一家 2016 年成立,位于沙特麦加的自建站电商平台。 作为中东 Shopify,其最大的特点是支持阿拉伯语建站,并且提供更多适应中东地区特点的本地化服务。截止目前,已有 47,000 家店铺入驻 Salla,商品销售…...
![](https://img-blog.csdnimg.cn/img_convert/5733ce833779e5a9f1f7773a5763eae8.gif)
谷歌Chrome庆祝15周年,推出全新设计!了解最新信息!
谷歌浏览器本月将满15岁,为了纪念这一时刻,它正在进行改造和升级。 这一点意义重大,因为Chrome在全球有数十亿人使用,因此谷歌所做的每一项改变都会对互联网以及这些人与互联网的互动方式产生巨大影响。即使你不使用Chrome或不关…...
![](https://www.ngui.cc/images/no-images.jpg)
解决Oracle SQL语句性能问题——SQL语句改写(分析函数、with as、union及or)
1. 正确使用分析函数 分析函数最早出现于Oracle 8i版本中,并在后续版本中不断得以增强。正确的使用分析函数,不但能非常方便的实现某些功能,而且,在某些场景中,还可以大幅提升SQL语句的性能。因此,为了简化应用实现逻辑或解决相关SQL语句性能问题,有时我们需要利用分析…...
![](https://img-blog.csdnimg.cn/0404f66375b64a2dbc0ab3c84ec908c5.png)
Linux之SELinux
目录 概述 定义 作用 SELinux与传统的权限区别 SELinux工作原理 名词解释 主体(Subject) 目标(Object) 策略(Policy) 安全上下文(Security Context) 文件安全上下文查看 …...
![](https://img-blog.csdnimg.cn/7e588b0d71f541fa97496c19c3cabe8e.png#pic_center)
Acwing算法心得——街灯(差分)
大家好,我是晴天学长,差分广泛用于一段范围的加减运算,可以优化时间复杂度,需要的小伙伴请自取哦!如果觉得写的不错的话,可以点个关注哦,后续会继续更新的。💪💪…...
![](https://img-blog.csdnimg.cn/ad05014535374ada91d3f86948544a63.png)
streamlit执行报错WARNING,重新安装碰到问题如何解决
streamlit执行报错WARNING,重新安装碰到问题如何解决 如何解决1、卸载已经安装的程序2、再次安装程序3、出现如下yinstaller 警告问题:4、又出现“which is not on PATH”警告。5、解决方案 发现在安装的时候有很多WARNING出现,但是没有但回事…...
![](https://img-blog.csdnimg.cn/4d2a740f061042ffbb39892194c40ace.png)
《C++设计模式》——行为型
前言 行为型模式是对在不同的对象之间划分责任和算法的抽象化。行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。 Interpreter(解释器) Template Method(模板方法) GOOD:把不变的代码部分都转移到父类中,将可变的代…...
![](https://img-blog.csdnimg.cn/img_convert/c3b61a0c263fad6778660a9ca7eae196.jpeg)
什么是原生IP?原生IP与住宅IP有何区别?
相信许多做跨境的都会接触到IP代理,比如电商平台、社媒平台、收款平台等等,都会检测IP。那也会经常听到一些词汇:原生IP、住宅IP,这两者之间有什么区别呢?什么业务需要用到呢?接下来带大家具体了解一下。 什…...
![](https://img-blog.csdnimg.cn/3a3cd2a4d7454854afba20ed05c8e4c8.png)
element-plus 表格-自定义样式实现
效果如下 代码如下 <template><h2>表格自定义样式</h2><div style"background-color: cadetblue; height: 600px;"><div class"regulaContainer"><el-table ref"tableRef" :data"tableData" border …...
![](https://www.ngui.cc/images/no-images.jpg)
MVCC
MVCC(Multi-Version Concurrency Control)是数据库管理系统(DBMS)中的一种技术,用于管理并发访问数据,允许多个事务同时进行而不互相干扰,同时保持数据的一致性。 MVCC 的工作原理如下…...
![](https://www.ngui.cc/images/no-images.jpg)
你不知道的JavaScript---对象
1.语法 对象可以通过两种方式定义:一种是对象字面量形式,一种是构造形式 对象字面量: var muObject {key: value }构造形式的: var myObject new Object() myObject.key value不管是使用对象字面量形式还是构造形式创建出来…...
![](https://img-blog.csdnimg.cn/bedaa4136cb645d5bc1b3ba121a3775e.gif#pic_center)
C++项目实战——基于多设计模式下的同步异步日志系统-①-项目介绍
文章目录 专栏导读项目介绍开发环境核心技术环境搭建日志系统介绍1.为什么需要日志系统2.日志系统技术实现2.1同步写日志2.2异步写日志 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师&a…...
![](https://www.ngui.cc/images/no-images.jpg)
解决Oracle数据库中日期格式不识别的问题
在数据库开发中,我们经常需要处理日期和时间数据。当我们在Oracle数据库中执行UPDATE语句时,可能会遇到ORA-01821错误,该错误表示提供的日期格式无法被数据库识别。本文将介绍如何解决Oracle数据库中日期格式不识别的问题。 问题分析&#x…...
![](https://www.ngui.cc/images/no-images.jpg)
一生一芯13——linux设置环境变量
参考自https://baijiahao.baidu.com/s?id1753516015142083750&wfrspider&forpc 本机使用ubuntu22.04 目录 1. 读取环境变量1. 读取特定环境变量2. 读取所有环境变量 2. 设置环境变量1. 对当前用户有效2. root设置 1. 读取环境变量 1. 读取特定环境变量 在命令行中输…...
![](https://img-blog.csdnimg.cn/1b4a2e8a40304c728ed536177416d662.png#pic_center)
CSS笔记(黑马程序员pink老师前端)定位
定位可以让盒子自由的在某个盒子内移动位置或者固定在屏幕中某个位置,并且可以压住其他盒子。 定位 定位模式 边偏移 定位模式说明static静态定位,按标准流特性摆放,没有边偏移,很少用relative相对定位,相对自身原有位置移动,原有位置继续占有(不脱标…...
![](https://img-blog.csdnimg.cn/7114167066044f3f855b8a643eadcbfc.png)
C高级Linux指令和shell脚本
XMind...
![](https://img-blog.csdnimg.cn/b014ae6c273f476e9adb9143c403639a.png)
449. 序列化和反序列化二叉搜索树
难度:中等 昨天忘记做了。。。 简单学习一下官方题解 主要是:’ .join(map(str, arr)) int数组转String,中间有空格隔开 list(map(int, data.split())) String转int数组 class Codec:def serialize(self, root: TreeNode) -> str:arr […...
![](https://img-blog.csdnimg.cn/7b0616209d82457c9139589ce05d1b70.png)
DockerCompose部署es和kibana
DockerCompose文件 version: 3.1 services:elasticsearch:image: elasticsearch:7.13.3container_name: elasticsearchprivileged: trueports:- "9200:9200"- "9300:9300"environment:- ES_JAVA_OPTS-Xms128m -Xmx1024m #设置使用jvm内存大小- cluster.na…...
![](https://img-blog.csdnimg.cn/77d4274b7e8d4cf7a29bd803258305bd.png)
windows系统docker中将vue项目网站部署在nginx上
一、首先在windows系统上下载并安装docker,要下载windows版本 https://www.docker.com/products/docker-desktop/ PS:安装过程中需要WSL,我的是win11系统,直接提示了我安装就可以下一步了。其他windows系统版本我不知道是否需要单…...
![](https://img-blog.csdnimg.cn/img_convert/d3da227cf769afabcc32787adc212d27.png)
LabVIEW利用纳米结构干电极控制神经肌肉活动
LabVIEW利用纳米结构干电极控制神经肌肉活动 随着人口老龄化,长期护理的必要性变得更加重要,医疗中心的压力开始达到惊人的水平。全球对所有社会和经济部门的认识对于更好地协调卫生和社会服务之间的护理以及为更多的院外治疗提供条件至关重要。 关于医…...
![](https://img-blog.csdnimg.cn/img_convert/14812b39c628ccd5b9c7efd6600ca195.jpeg)
使用PHPStudy在本地快速建立网站并实现局域网外访问(无公网IP)
文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…...
![](https://www.ngui.cc/images/no-images.jpg)
Java工具类--http请求-post
支持各类型报文与参数说明 说明: url : 地址timeout:超时时间 如3秒 3*1000contentType:类型 如 application/x-www-form-urlencoded application/jsonapplication/xmlrequestBody:报文内容 如 application/x-www-form-urlenco…...
![](https://www.ngui.cc/images/no-images.jpg)
HTTP【总结】
1. 当用户在浏览器输入网址回车之后,网络协议都做了哪些工作? 首先解析出URL中的域名,根据域名获取对应的ip地址,从浏览器缓存中查看,如果没有则从本机域名解析文件hosts中查看,还没有则从DNS的层层解析。…...
![](https://www.ngui.cc/images/no-images.jpg)
统计子岛屿
统计子岛屿 关于岛屿的相似题目: 岛屿数量 – 二维矩阵的dfs算法封闭岛屿数量 – 二维矩阵的dfs算法统计封闭岛屿的数目统计子岛屿不同岛屿的数量 class CountSubIslands:"""floodFill 算法1254. 统计子岛屿https://leetcode.cn/problems/count-su…...
![](https://www.ngui.cc/images/no-images.jpg)
docker介绍、安装及卸载
官网安装教程:https://docs.docker.com/engine/install/centos/ ####### Docker介绍 ########## 镜像(image):Docker镜像就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。它也相当于是一…...
![](https://img-blog.csdnimg.cn/img_convert/ace25e78e2d6427f4d75b429db618869.png)
【EI/SCOPUS会议征稿】第二届环境遥感与地理信息技术国际学术会议(ERSGIT 2023)
第二届环境遥感与地理信息技术国际学术会议 2023 2nd International Conference on Environmental Remote Sensing and Geographic Information Technology 第二届环境遥感与地理信息技术国际学术会议(ERSGIT 2023)定于2023年11月10-12日在中国陕西西安…...
![](https://img-blog.csdnimg.cn/f2bf9ec106ae473291753d225b228eb5.png)
LabVIEW应用开发——LabVIEW2019保姆级介绍、安装、第一个程序
一、前言 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而Lab…...
![](https://www.ngui.cc/images/no-images.jpg)
《TCP/IP网络编程》阅读笔记--Timewait状态和Nagle算法
1--Timewait状态 对于服务器端/客户端,当一端结束连接时,会向另一端发送 FIN 消息;两端的在经过四次挥手过程后,其 Socket 不会马上消除,而是会处于一个 Time-wait 状态的阶段,此时 Socket 拥有的端口号并没…...
![](https://img-blog.csdnimg.cn/8a9a002f96af445c90ac7ff27b0c8aa2.png)
Python常用IDE选择与安装
1、IDE简介 选择一款高效而又顺手的IDE学习或使用Python,可以让你的开发之路充满激情和动力,让你真正投入其中。 常见的Python的IDE工具有: PyCharm 由JetBrains开发的Python IDE,功能强大,支持调试、代码自动完成、…...
![](https://img-blog.csdnimg.cn/db66731a68b545f9a9ebb8d768343e1d.png#pic_center)
Docker从认识到实践再到底层原理(三)|Docker在Centos7环境下的安装和配置
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...
![](/images/no-images.jpg)
幼儿园网站建设管理人员/网络推广是以企业产品或服务
节专家>详细资料节>颜色>背景颜色(勾上) CSS样式,水晶报表语法 if recordnumber mod 20 then crYellow else crWhite 转载于:https://www.cnblogs.com/kingjiong/archive/2009/02/26/1398500.html...
![](http://jason-images.qiniudn.com/@/ML/foundation/regularization/l2_regularizer.jpg)
wordpress哪个主题适合做网址导航/惠州抖音seo
引言 上一小节中,我们介绍了过拟合的概念,在机器学习中最大的危险就是过拟合,为了解决过拟合问题,通常有两种办法,第一是减少样本的特征(即维度),第二就是我们这里要说的“正则化”&…...
![](https://img-blog.csdnimg.cn/img_convert/4673eb833143b8c79776a6cf22a77540.gif)
网页设计培训计划/百度搜索优化平台
作者:LeonLok编译:ronghuaiyang导读本文来自github,很实用的一个应用。git仓库地址:https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking这个存储库包含了我的目标检测和跟踪项目。所有这些都可以托管在云服务器上。由…...
![](/images/no-images.jpg)
网站部分版块显示正在建设/百度视频排名优化
前言 我再做磁盘配额的时候为了实验我的磁盘配额是否生效,我在限制目录下用被限制的用户生成大量的无效文件出现了结构需要清理的报错。我尝试解绑之后发现用户被进程占用无法解绑。我尝试杀死进程之后发现并没有实际效果,最后它进程卡顿结束以后实现卸…...
![](/images/no-images.jpg)
企石镇网站仿做/国内重大新闻十条
数据库结构 1.服务器:用于接收并处理其他程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。 2.客户端:向服务器发出请求的程序(软件),或者是安…...
![](https://upload-images.jianshu.io/upload_images/12520529-700db4755fb7e1b5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/900/format/webp)
玉溪网站制作/近期热点新闻事件
北京出台文件支持区块链,提出 “一区一核、多点支撑” 51BB8财经 2018.11.13 11:10 字数 3965 阅读 0评论 0喜欢 0 编辑文章 11月9日,中关村管委会、北京市金融工作局和北京市科学技术委员会发布消息,经市政府同意,联合发布《北…...