GitHub 虽然身为全球最大的(同性社交x)开源项目托管平台,它本身却是不开源的。
当初 GitLab 就从这里找到了机会,做一个开源版的 GitHub。
虽然 GitHub 本身不开源,但它还是开源了 500 多个项目。
如果按照 Star 数算,排名最高的是每个仓库都躲不过的 gitignore。不过 gitignore star 数虽高,但它并没有出现在 GitHub 的置顶列表里。
置顶列表里放了 5 个,这其中星星数最高的项目叫 gh-ost。
gh-ost 玩了一个字母梗(GitHub's Online Schema Transformer)。gh-ost 是针对 MySQL 做大表变更的。大表变更是指对大数据量的表进行 schema 变更,有些 schema 变更会导致锁表,锁表就会导致数据库不可用。表越大,需要锁表的时间就越长,就会造成更长的不可用时间,这对于许多一直在线的互联网服务是很难接受的。
不明觉厉的硬图
GitHub 自然是用它来做大表变更的,如果没有 gh-ost 的话,一旦要做数据库变更,GitHub 服务就会不可用,全球的程序员就只能名正言顺地划水了。gh-ost 在被 GitHub 开源后,被全球使用 MySQL 的互联网公司广泛应用,这也包括中国。如今大家能不间断地享受各种在线服务,背后有 gh-ost 不少的功劳。
就像许多硬核项目一样,gh-ost 虽然有过硬的实力,但包装一般,它以命令行的方式呈现,在易用性上有所欠缺。所以为了让 gh-ost 更加的平易近人,提供强大图形化界面的 Bytebase 集成了 gh-ost,让用户用起来更加舒适。
除了提供图形化的配置界面,基于 gh-ost 的大表变更也和 Bytebase 的其他能力,比如审批流,权限控制,版本管理等结合起来,提供了一套面向企业级的大表变更解决方案。
💡 更多资讯,请关注 Bytebase 公号:Bytebase
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。