推出只读副本

推出只读副本

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

今天,我们推出了Postgres只读副本支持。只读副本可用于分担数据库负载、提供数据冗余和运行复杂查询。每个项目最多支持两个副本,副本与主数据库异步复制,减少主数据库负担。定价与常规数据库相同,现已开放早期访问注册。

🔎

延伸解读

只读副本的适用场景与限制

只读副本适合分担读负载、运行分析查询或将数据部署到离用户更近的区域。但每个项目目前最多创建两个副本,且复制是异步的,存在复制延迟。副本只能读,不能写。如果主库故障,副本可能丢失部分最新数据。自动故障转移目前仅在企业计划中提供,未来将扩展到所有付费计划。

复制机制:混合方法的权衡

Postgres 采用流复制和基于文件的日志传输混合方法。流复制延迟低,但副本可能跟不上 WAL 变化;文件传输作为回退,延迟较高,且主库在文件传输前宕机可能导致数据丢失。混合方法结合两者,用流复制降低延迟,用文件传输提供回退。用户需关注复制延迟和 WAL 保留配置,以避免复制中断。

成本构成与计费方式

只读副本的计费与常规数据库相同:计算实例按相同费率计费,存储按 0.125 美元/GB 计费,主副本间的 WAL 传输按 9 美分/GB 收费。总费用是副本计算、存储和 WAL 传输之和。副本继承主库的计算规格,未来将支持独立扩展。使用前需评估额外成本,尤其是 WAL 传输量较大时。

使用方式与未来功能

用户可在基础设施设置页面管理副本,在 SQL 编辑器中选择在主库或副本上运行查询。每个副本有独立的连接池和 PostgREST 实例,也可通过负载均衡端点以轮询方式路由请求。未来将支持基于地理位置的负载均衡、自动故障转移扩展到所有付费计划,以及 Supavisor 数据库级负载均衡,自动将写查询路由到主库、读查询分摊到副本。

❓

Q&A

Postgres只读副本的主要功能是什么?

Postgres只读副本用于分担数据库负载、提供数据冗余和运行复杂查询,而不影响主数据库的性能。

如何创建Postgres只读副本?

可以在支持的12个区域中创建只读副本,每个项目最多支持两个副本,副本与主数据库之间进行异步复制。

只读副本的定价是怎样的?

只读副本的定价与常规数据库相同,计算和存储费用相同,WAL传输按每GB收费。

只读副本如何减少主数据库的负担?

只读副本可以处理复杂查询和分析任务,从而避免这些操作对主数据库性能的影响。

Postgres是如何实现数据复制的?

Postgres采用流复制和文件日志传输的混合方法进行数据复制,以减少复制延迟。

未来会有哪些关于只读副本的新功能?

未来将扩展自动故障转移功能到所有付费计划,并计划支持数据库级负载均衡。

🏷️

标签

➡️

继续阅读