我们刚刚发布了新的工作流功能,它为您提供了一系列预定义的步骤配方,用于在数据库上执行操作。我们的第一个工作流使您能够通过将表移动到分片键空间来水平扩展数据库,所有这些都可以在 PlanetScale 仪表板内完成。
如果您熟悉 Vitess,这个第一个工作流类似于 MoveTables,这是 Vitess 中管理数据分布的关键组件。我们很高兴现在能在 PlanetScale 中直接提供此功能。
工作流功能在所有 PlanetScale 计划中均可使用。
在 PlanetScale,我们的目标是成为运行关系型数据库最可靠和可扩展的平台。实现这一目标的关键之一是分片——一种经过验证的架构,被一些网络上最大的资产用于将其数据库扩展到每秒数百万次查询。
直到最近,创建和配置分片数据库的大部分功能只能通过我们的企业计划访问。
最近发布的集群配置功能允许用户创建自己的分片键空间以及配置自定义 VSchema 和路由规则。随着工作流的加入,您还可以轻松地将现有数据迁移到分片键空间,并在它们之间平滑切换生产流量,而无需停机。
在过去的几十年里,许多公司在扩展数据库方面面临重大挑战,特别是在单个服务器无法处理所有流量的情况下。能够轻松安全地过渡到分片环境,将公司存在的这一阶段从极端的痛点转变为平滑、良好调优的过程。我们希望为用户提供所需的工具,以扩展他们的数据库以满足任何需求。
让我们来看看这是如何工作的。
你可以参考分片快速入门获取完整的端到端教程。如果你更喜欢视频讲解,请查看我们的最新视频:
在开始工作流之前,你需要确保除了未分片的源键空间之外,还设置了一个分片键空间。你可以通过我们最近发布的集群配置界面查看、修改和创建键空间。导航到“Clusters”并根据需要创建键空间。在这个示例数据库中,我们已经有两个这样的键空间:gymtracker 和 gymtracker-sharded:

你可以使用工作流将一个或多个表从未分片的键空间移动到分片键空间。要启动工作流,请导航到“Workflow”界面:

点击“New workflow”以启动新工作流。在此菜单中,系统会要求你为工作流命名、选择源键空间和目标键空间,并选择你想要移动的表。

完成所有设置后,点击“Validate”。在所有验证检查通过之前,PlanetScale 不会允许你启动工作流。

点击“Create workflow”后,你将进入“复制阶段”,并可以监控工作流的进度。最初,PlanetScale 会将你的数据从源键空间迁移到目标键空间。初始批量迁移完成后,它会继续将新进入的行复制到目标键空间。当你准备好继续时,我们建议你先验证数据(以确保所有内容都正确迁移),然后你可以切换流量。

切换流量后,新的分片表将被配置为处理已迁移表的所有流量!我们还为你提供了将流量切换回未分片数据库的选项,以便在分片配置出现任何意外问题时提供一条退路。
只需点击几下,你就可以创建一个包含任意数量分片的分片键空间,将现有表移动到该键空间,并将生产流量切换为由分片键空间提供服务。
每个 PlanetScale 数据库都由 Vitess 提供支持——它支持多种工作流,以帮助你管理数据库集群。这些工作流包括:
MoveTables — 允许你在键空间之间(集群内的逻辑数据库之间)移动表
Reshard — 帮助你修改数据分片方式。允许你根据需求将数据分布到更多或更少的分片中。
Materialize — 允许你在 Vitess 集群中创建表的副本、聚合或视图。
LookupVindex — 帮助创建和填充 Lookup Vindexes(用于帮助查询更快执行的查找索引表)。
Migrate — 允许你在不同的 Vitess 集群之间移动表。
在首个版本中,我们专注于支持 MoveTables,特别是在将表从非分片键空间迁移到分片键空间时。我们认为这是用户最重要的流程之一,因为它能够以最小的阻力实现现有非分片数据库的水平扩展。
我们计划在未来支持更多类型的工作流程。例如,重新分片的能力对于允许用户在 PlanetScale 上自行管理其不断增长的数据库系统也很重要。我们还计划将迁移工作流程集成到 PlanetScale 中,以帮助从外部来源进行迁移。
我们提供了大量资源,帮助您快速上手 PlanetScale 工作流程。
我们还提供了详细的文档,引导您了解重要概念以及运行自己的非分片到分片工作流程的说明。
分片快速入门
工作流程
避免跨分片查询
Vindexes
分片工作流程状态参考
分片前检查清单
定位正确的键空间
什么是键空间?
转载声明:本文为转载整理,原文版权归原作者及原站点所有。
原文来源:PlanetScale Blog
原创地址:https://planetscale.com/blog/introducing-workflows-on-planetscale
原文作者:PlanetScale Blog;如有侵权,请联系管理员删除。