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

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

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
Debunking 3 myths about Vitess fault tolerance — PlanetScale
Abhi Vaidyanatha · 2020-06-11 · via Blog — PlanetScale

Abhi Vaidyanatha |

Here at PlanetScale we hear some concerns about the reliability of Vitess and its capabilities with regards to data loss. When one hears “cloud-native, highly-available, distributed database running on Kubernetes,” it does sound too good to be true, so we understand the initial apprehension. Even though multiple reputable companies such as Slack, Square, GitHub, and JD run their production databases on Vitess, we still get questions about whether or not Vitess will lose data. We’re here to debunk myths about Vitess and address some lingering questions about how Vitess handles failures.

Myth: Because Vitess does not use a consensus based commit protocol, if your master goes down, you will lose data.

Because Vitess is based on MySQL, it solves this potential problem using MySQL’s lossless semi-synchronous replication feature. Simply put, before a transaction is considered committed, the master must first acknowledge that at least one replica has received the transaction as well.

Myth: Even if you’ve saved your data, when your Vitess master goes down, you cannot automatically perform self-recovery.

While out of the box this is true, MySQL deployments (to which Vitess is no exception) are very commonly run with Orchestrator to automatically reparent upon master failure. Even better, PlanetScale’s proprietary Vitess operator will automatically detect a dead master and will do the reparenting for you.

Myth: Configuring self-recovery with Vitess requires a lot of extra steps.

Also not true! Vitess’ control plane includes workflows such as PlannedReparentShard and EmergencyReparentShard that are available right out of the box. Your orchestration tool simply needs to detect the failure, send the reparent request, and Vitess handles the rest. The case of a network partition does require manual intervention; this is due to Vitess’ tradeoffs to optimize around a very low p99 latency for high performance.

If you still don’t believe us, check out this longer form piece from our CEO Jiten Vaidya, where he dives into the difference between theoretical and practical durability.

If you want to know more about Vitess and its capabilities, contact us in the Vitess Slack community, try it out for yourself with the quickstart guide, or check out our newly open-sourced Kubernetes operator!