GitHub 虽然身为全球最大的(同性社交x)开源项目托管平台,它本身却是不开源的。

file

当初 GitLab 就从这里找到了机会,做一个开源版的 GitHub。

虽然 GitHub 本身不开源,但它还是开源了 500 多个项目。

file

如果按照 Star 数算,排名最高的是每个仓库都躲不过的 gitignore。不过 gitignore star 数虽高,但它并没有出现在 GitHub 的置顶列表里。

file

置顶列表里放了 5 个,这其中星星数最高的项目叫 gh-ost。

file

gh-ost 玩了一个字母梗(GitHub's Online Schema Transformer)。gh-ost 是针对 MySQL 做大表变更的。大表变更是指对大数据量的表进行 schema 变更,有些 schema 变更会导致锁表,锁表就会导致数据库不可用。表越大,需要锁表的时间就越长,就会造成更长的不可用时间,这对于许多一直在线的互联网服务是很难接受的。

file

不明觉厉的硬图

GitHub 自然是用它来做大表变更的,如果没有 gh-ost 的话,一旦要做数据库变更,GitHub 服务就会不可用,全球的程序员就只能名正言顺地划水了。gh-ost 在被 GitHub 开源后,被全球使用 MySQL 的互联网公司广泛应用,这也包括中国。如今大家能不间断地享受各种在线服务,背后有 gh-ost 不少的功劳。


就像许多硬核项目一样,gh-ost 虽然有过硬的实力,但包装一般,它以命令行的方式呈现,在易用性上有所欠缺。所以为了让 gh-ost 更加的平易近人,提供强大图形化界面的 Bytebase 集成了 gh-ost,让用户用起来更加舒适。

file

除了提供图形化的配置界面,基于 gh-ost 的大表变更也和 Bytebase 的其他能力,比如审批流,权限控制,版本管理等结合起来,提供了一套面向企业级的大表变更解决方案。


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


Bytebase
38 声望17 粉丝

为 DevOps 团队准备的数据库 CI/CD 工具,专为开发者和 DBA 打造。唯一被 CNCF Landscape 收录的 Database CI/CD 产品。