PlanetScale 基于 Vitess 的数据库解决方案
我们都曾体验过关系数据库模型的局限性以及维护大规模数据库集群所带来的运维负担。在 PlanetScale,我们的愿景是创造一个开发者喜爱的数据库,同时不牺牲任何应用程序需要的功能,以支持其根据需求扩展。为实现这一目标,我们需要一种拥有卓越记录且能够帮助公司处理海量数据和高流量的数据库引擎。这就是为什么我们选择了 Vitess。
Vitess 的力量(及承诺)
Vitess 于十多年前由 YouTube 创建,旨在解决其面对的大规模扩展问题。随着时间的推移,其他具有类似扩展需求的公司也开始采用 Vitess,因为它的性能、灵活性和扩展能力远超其他解决方案。这意味着,Vitess 多年来已经在多个大规模生产系统中稳定运行。
支持企业级扩展能力(如 YouTube 和 Slack)是 Vitess 的一大核心优势。然而,Vitess 同样为早期阶段的公司提供了宝贵的助力。通过在坚实的基础上构建系统,企业无需担心当业务迎来高速增长时需要迁移到其他数据平台。
Vitess 基于 MySQL 提供了一层抽象,不仅保留了关系型数据库的优势,还增加了缺失的功能,例如自动故障检测和恢复。此外,Vitess 还提供了诸如自动行数限制、热点行保护、查询合并以及非阻塞式模式更改等安全功能,这些能够显著降低高负载导致数据库宕机的风险。这些功能是原生 MySQL 无法提供的。
高可用性与安全性相结合,即使是小规模数据库部署也能通过 Vitess 获益良多,相较于直接使用 MySQL,Vitess 能够对系统可靠性进行显著提升。
像 Slack 和京东(JD.com)这样的 Vitess 用户已经体会到了高可用关系型数据库系统的优势。虽然京东的具体数据尚不公开,但 Slack 100% 运行在 Vitess 上,其运行时的高可靠性已成为行业典范。
提示
想了解 Vitess 的运行方式?通过我们的 免费 Vitess 课程 迅速掌握 Vitess 的设置、部署与管理。
关于分片的一些信息
分片 是 Vitess 的一大超能力。Vitess 允许将数据分拆到多个分片中,同时提供跨分片的统一视图。除了这一核心功能,PlanetScale 的维护团队还进一步优化了 Vitess 的基础架构,以支持更多工作流程,包括但不限于:
- 在数据物化的同时屏蔽敏感信息
- 移动表以平衡数据库大小
- 在不同系统间进行数据迁移(拷贝)
- 如果初始分片键选择不理想,可重新分片并使用新分片键
虽然分片并非我们期望 PlanetScale 的早期用户立即需要的功能,但随着系统规模的增长,这些特性将变得更加重要。
听上去很棒,但…
尽管 Vitess 减轻了管理大规模 MySQL 集群的运维负担,但它本身也带来了一定的运维复杂性。从版本升级和兼容性问题到管理硬件(或在云环境中进行资源配置)等,任何大型软件部署都伴随着常见问题,Vitess 也不例外。
此外,掌握 Vitess 专业技能的人才稀缺。要熟练使用 Vitess,学习曲线相当陡峭,因此许多人虽然尝试了解,但最终未进入生产环境使用。
引入 PlanetScale
PlanetScale 专注于解决如何提供最简单易用的数据库的问题,这一数据库围绕开发者需求构建。我们主要从以下两方面着手:
便捷的使用与快速启动
创建一个新的开发用数据库应该非常简单,不超过 10 秒。PlanetScale 的用户引导体验旨在实现这一目标,确保过程流畅无阻。同时,这也意味着我们必须能够在短时间内部署一个可用的 Vitess 集群,而这正是我们所达成的目标。Vitess 原本对 Kubernetes 的兼容性很好,PlanetScale 又加入了独特优化,推动了这一过程。
简化使用过程
我们更关注解决开发者在实际工作中遇到的真实问题。例如,不少开发者提到,在运行系统中进行模式(schema)变更非常困难。担心影响生产环境的错误可能使得更新过程需要耗费数小时、数天甚至数周。这减缓了创新速度,并给开发者带来了挫败感。
PlanetScale 提供的 数据库分支(database branching)和部署请求(Deploy Requests) 使得模式变更变得快速且简便。开发人员无需担心锁定或导致系统停机,就能够轻松推出产品更新。这一非阻塞式模式变更功能是 Vitess 的核心特性之一,而我们又在其基础上进一步优化以自动检查潜在冲突,从而确保模式变更可以安全地部署。
构建于 PlanetScale 之上
PlanetScale 与 Vitess 的结合使开发者能够快速为应用程序配置数据库。从应用上线到生产阶段,开发者都可以以安全异步的方式进行模式变更,而不影响系统的可用性。数据库具备高可用性,任何故障都由服务自动处理。随着应用规模扩大,开发者还可以利用 Vitess 的分片功能维持性能而无需停机。上述全部功能为您提供了一个坚实的基础,支持无限扩展。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:http://www.choupangxia.com/2025/05/19/planetscale-vitess/