惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
GRAHAM CLULEY
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
P
Privacy & Cybersecurity Law Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - Franky
Spread Privacy
Spread Privacy
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Project Zero
Project Zero
Engineering at Meta
Engineering at Meta
The Hacker News
The Hacker News
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
A
Arctic Wolf
Cisco Talos Blog
Cisco Talos Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Threat Research - Cisco Blogs
Recorded Future
Recorded Future
Latest news
Latest news
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
C
CERT Recently Published Vulnerability Notes
美团技术团队
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
T
The Blog of Author Tim Ferriss
L
LINUX DO - 最新话题
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
S
Securelist
Microsoft Azure Blog
Microsoft Azure Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Secure Thoughts
罗磊的独立博客
P
Proofpoint News Feed
T
The Exploit Database - CXSecurity.com
Apple Machine Learning Research
Apple Machine Learning Research
Cloudbric
Cloudbric
G
Google Developers Blog

Blog — PlanetScale

Keeping a Postgres queue healthy — PlanetScale Patterns for Postgres Traffic Control — PlanetScale Graceful degradation in Postgres — PlanetScale High memory usage in Postgres is good, actually — PlanetScale Stripe Projects partnership: Provision PlanetScale Postgres and MySQL databases from the Stripe CLI — PlanetScale Enhanced tagging in Postgres Query Insights — PlanetScale Behind the scenes: How Database Traffic Control works — PlanetScale Introducing Database Traffic Control — PlanetScale Scaling Postgres connections with PgBouncer — PlanetScale Drizzle joins PlanetScale — PlanetScale Video Conferencing with Postgres — PlanetScale Faster PlanetScale Postgres connections with Cloudflare Hyperdrive — PlanetScale Introducing the PlanetScale MCP server — PlanetScale Database Transactions — PlanetScale Automating our changelog with Cursor commands — PlanetScale Postgres 18 is now available — PlanetScale Using MotherDuck with PlanetScale — PlanetScale $50 PlanetScale Metal is GA for Postgres — PlanetScale AI-Powered Postgres index suggestions — PlanetScale $5 PlanetScale is live — PlanetScale Announcing Vitess 23 — PlanetScale $50 PlanetScale Metal — PlanetScale Report on our investigation of the 2025-10-20 incident in AWS us-east-1 — PlanetScale $5 PlanetScale — PlanetScale Benchmarking Postgres 17 vs 18 — PlanetScale Larger than RAM Vector Indexes for Relational Databases — PlanetScale Partnering with Cloudflare to bring you the fastest globally distributed applications — PlanetScale Processes and Threads — PlanetScale PlanetScale for Postgres is now GA — PlanetScale Postgres High Availability with CDC — PlanetScale Announcing Neki — PlanetScale Caching — PlanetScale The principles of extreme fault tolerance — PlanetScale Announcing PlanetScale for Postgres — PlanetScale Benchmarking Postgres — PlanetScale Announcing Vitess 22 — PlanetScale The Real Failure Rate of EBS — PlanetScale IO devices and latency — PlanetScale Announcing PlanetScale Metal — PlanetScale PlanetScale Metal: There’s no replacement for displacement — PlanetScale Upgrading Query Insights to Metal — PlanetScale Automating cherry-picks between OSS and private forks — PlanetScale Database Sharding — PlanetScale Anatomy of a Throttler, part 3 — PlanetScale Announcing Vitess 21 — PlanetScale Announcing the PlanetScale vectors public beta — PlanetScale Anatomy of a Throttler, part 2 — PlanetScale Instant deploy requests — PlanetScale Anatomy of a Throttler, part 1 — PlanetScale Increase IOPS and throughput with sharding — PlanetScale Tracking index usage with Insights — PlanetScale Faster backups with sharding — PlanetScale Building data pipelines with Vitess — PlanetScale The State of Online Schema Migrations in MySQL — PlanetScale Optimizing aggregation in the Vitess query planner — PlanetScale Dealing with large tables — PlanetScale Announcing Vitess 20 — PlanetScale Self-managed Vitess vs Managed Vitess with PlanetScale — PlanetScale Achieving data consistency with the consistent lookup Vindex — PlanetScale The MySQL adaptive hash index — PlanetScale Introducing global replica credentials — PlanetScale Profiling memory usage in MySQL — PlanetScale Summer 2023: Fuzzing Vitess at PlanetScale — PlanetScale How PlanetScale makes schema changes — PlanetScale Identifying and profiling problematic MySQL queries — PlanetScale The Problem with Using a UUID Primary Key in MySQL — PlanetScale Announcing Vitess 19 — PlanetScale PlanetScale forever — PlanetScale Introducing schema recommendations — PlanetScale Amazon Aurora Pricing: The many surprising costs of running an Aurora database — PlanetScale Three common MySQL database design mistakes — PlanetScale OAuth applications are now available to everyone — PlanetScale Deprecating the Scaler plan — PlanetScale PlanetScale branching vs. Amazon Aurora blue/green deployments — PlanetScale Databases at scale — PlanetScale Considerations for building a database disaster recovery plan — PlanetScale Working with Geospatial Features in MySQL — PlanetScale PlanetScale vs Amazon Aurora replication — PlanetScale Introducing the Vantage and PlanetScale integration — PlanetScale MySQL isolation levels and how they work — PlanetScale Introducing the schemadiff command line tool — PlanetScale $ pscale ping — PlanetScale Announcing foreign key constraints support — PlanetScale The challenges of supporting foreign key constraints — PlanetScale What is HTAP? — PlanetScale Introducing Insights Anomalies — PlanetScale Webhook security: a hands-on guide — PlanetScale Announcing the Fivetran integration — PlanetScale Introducing webhooks — PlanetScale What is MySQL replication and when should you use it? — PlanetScale Sync user data between Clerk and a PlanetScale MySQL database — PlanetScale Introducing database reports — PlanetScale Distributed caching systems and MySQL — PlanetScale What is MySQL partitioning? — PlanetScale MySQL High Availability: Connection handling and concurrency — PlanetScale Personalizing your onboarding with Markdoc — PlanetScale PlanetScale vs. Amazon Aurora — PlanetScale PlanetScale vs. Amazon RDS — PlanetScale PlanetScale is bringing vector search and storage to MySQL — PlanetScale PlanetScale Managed is now PCI compliant — PlanetScale
Introducing sharding on PlanetScale with workflows — PlanetScale
Ben Dicken · 2024-11-07 · via Blog — PlanetScale

Ben Dicken [@BenjDicken] |

We just released our new workflows functionality, which provides you with recipes that run a series of predefined steps to perform actions on your database. Our first workflow enables you to horizontally scale your databases by moving tables to a sharded keyspace, all from within the PlanetScale dashboard.

If you're familiar with Vitess, this first workflow is similar to MoveTables, a critical component to managing your data distribution in Vitess. We are excited to now offer this functionality directly in PlanetScale.

Workflows functionality is available on all PlanetScale plans.

Why did we build this?

At PlanetScale, our goal is to be the most reliable and scalable platform for running relational databases. One of the keys to achieving this is sharding — a proven architecture used by some of the web's largest properties to scale their databases to several millions of queries per second.

Up until recently, much of the functionality for creating and configuring sharded databases was only accessible via our Enterprise plan.

The recent release of the Cluster configuration functionality allowed users to create their own sharded keyspaces as well as configure custom VSchema and routing rules. With the addition of workflows, you can also easily migrate existing data to sharded keyspaces and smoothly switch production traffic between them with no downtime.

Over the past few decades, many companies have faced significant challenges scaling their databases, especially at the point where a single server cannot handle all traffic. Being able to easily and safely transition to a sharded environment shifts this phase of a company's existence from an extreme pain point to a smooth, well-tuned process. We want to empower our users with the tools they need for scaling their database to meet any demands.

Let's take a look at how this works.

How to shard your tables with PlanetScale

You can refer to the Sharding quickstart for a full end-to-end tutorial. If you prefer video walkthroughs, check out our latest video:

Before starting a workflow, you'll want to ensure you have a sharded keyspace set up in addition to your unsharded source keyspace. You can view, modify, and create keyspaces from our recently-released Cluster configuration interface. Navigate to “Clusters” and create keyspaces as needed. In this example database, we already have two such keyspaces: gymtracker and gymtracker-sharded:

The cluster configuration UI with two keyspaces

You can use a workflow to move one or more tables from the unsharded keyspace into a sharded one. To start a workflow, navigate to the “Workflow” UI:

Workflows section of a PlanetScale database

Click “New workflow” to start a new workflow. In this menu, you'll be asked to give the workflow a name, select the source and target keyspaces, and select the table(s) you want to move.

Configuring a workflow

After setting everything up, click “Validate”. PlanetScale will not allow you to start the workflow until all validation checks pass.

Configuring a workflow

After clicking “Create workflow”, you enter into the "copying phase" and can monitor the progress of the workflow. Initially, PlanetScale will migrate your data from the source keyspace to the target. After the initial bulk migration completes, it will continue to replicate any new rows that come in to the target. When you're ready to proceed, we recommend you first Verify data (to ensure everything migrated correctly), and then you can Switch traffic.

Configuring a workflow

After switching traffic, the new sharded table is configured to handle all traffic for the migrated tables! We also give you an option to switch traffic back to the unsharded database, providing an escape hatch in case any unexpected problems arise from the sharded configuration.

With just a few clicks, you can create a sharded keyspace with however many shard you'd like, move existing tables to that keyspace, and switch production traffic to be served from the sharded keyspace.

Vitess workflows

Every PlanetScale database is powered by Vitess — which supports a number of workflows to facilitate managing your database cluster. These include:

  • MoveTables — Allows you to move tables between keyspaces (between logical databases within your cluster)
  • Reshard — Facilitates modifying the way that your data is sharded. Allows you to spread your data across more shards or less shards, depending on demand.
  • Materialize — Allows you to create copies, aggregations, or views of the tables in your Vitess cluster.
  • LookupVindex — Helps with the creation and population of Lookup Vindexes (lookup index tables to help queries execute faster).
  • Migrate — Allows you to move tables between distinct Vitess clusters.

For this first release, we focused on supporting MoveTables, specifically when migrating a table from an unsharded keyspace to a sharded one. We believe that this is one of the most important workflows for our users, as it unlocks the ability to horizontally scale existing unsharded databases with minimal friction.

We intend to support more types of workflows in the future. For example, the ability to reshard is also important to allow users to self-manage their growing database systems on PlanetScale. We also plan to integrate the Migration workflow into PlanetScale to help with migrations from outside sources.

Workflows resources

We have a number of resources to help you get up and running with PlanetScale workflows.

We also have detailed documentation that walks you through important concepts and instructions for running your own unsharded to sharded workflows.

If you have questions or feedback about workflows, contact us. We'd love to chat.