Vitess 是由 YouTube 开源、后捐赠给 CNCF 的数据库集群系统,用于对 MySQL 进行水平分片和大规模扩展。它在保持 MySQL 兼容性的同时,提供自动分片、连接池和故障切换,让 MySQL 能支撑云原生环境下的海量数据与高并发。

| 起源 | YouTube |
| 初始发布 | 2011 年 |
| 开发语言 | Go |
| 开源许可 | Apache License 2.0 |
| 托管组织 | CNCF |
Vitess 是一个开源的数据库集群系统,通过在 MySQL 之上提供分片与集群管理能力,帮助应用把关系型数据库水平扩展到超大规模。
Vitess 最初由 YouTube 于 2010 年前后开发,用于支撑其快速增长的数据库负载,2018 年捐赠给云原生计算基金会(CNCF)并成为毕业项目。当单台 MySQL 无法承载业务增长时,通常需要分库分表,而这会给应用带来复杂的路由和运维负担。Vitess 的核心价值在于把分片、路由、连接管理等复杂逻辑封装在中间层,对应用暴露出近似单一 MySQL 的接口,让开发者几乎无感地享受水平扩展的能力。
Vitess 适合数据量和并发量超出单机 MySQL 承载能力的大型应用,如社交、电商和金融等场景。它让团队能够在坚持使用成熟的 MySQL 的同时,获得类似分布式数据库的横向扩展能力。除了 YouTube,许多大型互联网公司都在生产环境中使用 Vitess 管理其庞大的 MySQL 集群。在 Kubernetes 上,它也提供了云原生的部署方式。
问:使用 Vitess 需要改造现有应用吗?答:由于兼容 MySQL 协议,大部分应用改动很小;但为了发挥分片优势,通常需要合理设计分片键并规避一些跨分片的复杂查询。
问:Vitess 和 NewSQL 分布式数据库有何不同?答:Vitess 基于成熟的 MySQL 做扩展,复用其存储引擎和生态;而 NewSQL 数据库通常是全新架构,二者在兼容性和迁移成本上各有取舍。

| 起源 | YouTube |
| 初始发布 | 2011 年 |
| 开发语言 | Go |
| 开源许可 | Apache License 2.0 |
| 托管组织 | CNCF |
登录 后参与讨论
暂无讨论,来发表第一条评论吧