GitHub 数据库 15 年进化史:幕后英雄如何成就 Copilot 传奇

本文回顾了GitHub自2008年以来的数据库系统发展,从MySQL初始使用,到读写分离、高可用架构的建立,大表变更自动化,以及最终的微服务化和向MySQL8.0的升级过程。

自 2008 年成立以来,GitHub 的数据库系统经历了多次重大的演变,以适应不断增长的用户基础和不断变化的技术需求。GitHub 一直使用 MySQL 数据库,其中保存了除了 git 代码仓库以外的其他所有元数据,诸如用户,issue,PR, Gist 这些。在 2023 年结束之际,我们就一起来回顾一下这 15 年来 GitHub 数据库的演进之路。

起步 (2007 ~ 2009)

file

第 1 个仓库诞生于 2007 年的 10 月 29 日,而第 1000 个则是在来年的 2 月 25 日。

file

GitHub 是一个 Rails 应用,这个主应用在内部叫做 Monolith,称呼也一直沿用至今。GitHub 一开始是跑在 Engine Yard 上的,从 Logo 上也可以看出 Engine Yard 和 Rails 社区的渊源。

file

不过因为 GitHub 的增长过快,以及商业化路线和 Engine Yard 初衷有偏离,所以 GitHub 很快又迁移到了 Rackspace。

file

Rackspace 是一个如今已经陌生的名字,但在 2009 年还是云服务的首选,上面是 GitHub 当时的评估。

file

这个阶段的数据库架构也比较简单,MySQL(这个时间点应该是 5.0 或者 5.1),一主一备,通过 DRBD 同步。

file

确定领域模型 (2010)

GitHub 在 2010 年,经过 2 年不断的打磨,终于发布了大家如今熟悉的 PR 工作流。

file

也是在同一时期,引入了 Organization 这个概念。

file

所以从领域模型来看,GitHub 从 2010 后就再也没有变过。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值