表面上看,PlanetScale 的 Vitess 产品似乎是一个用于替代您数据库的直接解决方案,这种看法没有错。我们的主要目标是为您提供一种简单且成本有效的方法,来创建高性能的 MySQL 配置,让您可以专注于编写代码,而不用兼任数据库管理员的角色。但我们的服务远远超出了传统 MySQL 服务器的范畴。本文将探讨 PlanetScale 能够替代的所有独立软件和基础设施组件。

基于 Vitess 的 MySQL

首先,从最明显的开始:MySQL。如果您曾经管理过 MySQL 环境,就会知道这并非轻而易举的任务。如果您在数据中心设置高性能且可靠的 MySQL 环境,需要考虑的远不止是运行服务的一台服务器。首先,您需要了解如何设置一个包含多个物理或虚拟服务器的 MySQL 集群,以应对不可避免的宕机情况。您还需要选择适合存储数据库的存储系统,使其不受底层磁盘 IOPS 的限制。此外,考虑到服务器需要与外部世界以及彼此进行通信,网络设备也不能马虎。
构建和维护一个生产服务的数据库环境绝非易事。PlanetScale 的 Vitess 集群提供了一个环境,可自动配置计算、存储和网络资源,同时具备必要组件以处理节点离线时的容错问题。除了 Vitess 提供的编排,环境还能自动进行连接负载均衡,为应用程序提供一个单一的连接端点。在这个环境中负责查询路由的组件也同时负责连接池管理,无需使用 ProxySQL 等工具。

PlanetScale Vitess 替代的所有技术插图
Vitess 架构示意图

在线架构变更

开发周期中最具挑战性的任务之一是同步两个数据库之间的架构。例如,当在同一应用程序中工作于不同的环境时,通常会出现这样的情况。例如,开发和生产环境并行运行,开发人员经常会在开发环境中对数据库架构进行更改,以配合他们正在构建的新功能。在发布时,就需要一种方法将开发数据库的变更应用到生产环境的架构中,而不会造成应用程序停机。
为了解决这一问题,您可能会使用 gh-ost 或 pt-online-schema-change 等工具,但 PlanetScale 自动通过其分支和部署请求工作流来处理这个问题。每个数据库都可以拥有一个或多个分支,在上述场景中这可以替代开发环境中使用的单独数据库。开发人员会在开发阶段对该分支进行必要的架构修改。

PlanetScale Vitess 替代的所有技术插图1
分支

当他们准备发布更改时,可以创建一个部署请求,让团队中的任何人都能审查将应用到生产数据库主分支的更改。这类似于在 git 环境中处理拉取请求的方式。PlanetScale 还会通过自动化分析系统运行这些变更,向开发人员告知这些架构更改是否具有破坏性,或是否可能影响数据。

PlanetScale Vitess 替代的所有技术插图2
部署请求

一旦更改获得批准,架构变更会零停机地应用到数据库的生产分支中。利用分支系统,PlanetScale 还内置了数据库架构的变更跟踪功能,提供一种方法来审计和追踪数据库改动及其执行者。

分支功能还提供了一种快速回滚架构变动的方法。在更改部署后,如果您的应用程序因这些更改出现了未预见的问题,您有 30 分钟的窗口期可以快速撤销这些更改,而不会影响变更期间写入到数据库的数据。这可以充当紧急回滚操作,让系统快速恢复运行,同时进行进一步的调试。

监控与指标

管理基础设施是构建高性能 MySQL 环境的重要第一步,但糟糕的查询编写以及缺失或配置错误的索引仍然会拖垮任何精心设计的架构。通常情况下,您需要安装 SolarWinds Database Performance Monitor(前身是 VividCortex)等第三方工具来监控查询性能,报告潜在问题并为优化查询决策提供依据。
PlanetScale 平台针对所有数据库内置了 Insights 功能,无论用户处于哪个订阅层级都能使用。Insights 提供一种分析运行缓慢查询的方法,帮助您做出智能化决策来优化这些查询或应用正确的索引。Scaler Pro 可保留执行数据 7 天,用于跟踪查询运行频次、耗时以及读取和返回的行数。这些数据会呈现为简洁的可筛选、可排序的表格,并配有图表,供您选择特定时间段进行分析。

PlanetScale Vitess 替代的所有技术插图3
Insights

备份与恢复

备份在任何数据库中都至关重要,以防止因数据误删除或更新导致的损失。与许多平台要求用户手动配置备份不同,PlanetScale 的数据库备份是为每个数据库自动配置的。当您创建一个数据库时,数据库的每个分支在 Scaler Pro 计划中每 12 小时会备份一次,备份保留 2 天。这只是默认设置,您可以创建任何额外的备份计划,备份费用仅根据存储的数据量收取。数据将直接存储在我们的系统中,无需配置外部存储(如 S3)来保留备份。
当您需要恢复时,会显示该数据库的所有可用恢复点,您可以恢复到一个独立的分支,以便在完全迁移到恢复版本之前审查数据并测试您的应用程序。

PlanetScale Vitess 替代的所有技术插图4
备份

结论

正如之前所述,构建一个高性能、可扩展且功能丰富的数据库系统(无论使用何种引擎)远不止于在计算机上安装数据库软件。您还需要大量数据库以外的其它工具,这也意味着需要额外的资源来管理和维护这些工具。PlanetScale 致力于提供最简单的方法来启动一个复杂的 MySQL 环境,该环境具备各种附加功能,让您无需担心随之而来的管理开销。



PlanetScale Vitess 替代的所有技术插图5

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2025/09/10/planetscale-vitess-2/