本文节选翻译自 Ozgun Erdogan 和 Umur Cubukcu 的博客
明天,咱们很快乐地发表 Azure Cosmos DB for PostgreSQL 正式公布,用于构建云原生关系应用程序。该服务为开发者带来最新的 PostgreSQL 性能,容许您从收费试用开始,并随着工作负载的增长扩大您的数据库。
随着这一发表,Azure 也成为第一个提供本人的繁多数据库服务的云提供商,该服务反对关系和 NoSQL 工作负载。您当初能够应用相熟的 Azure Cosmos DB 数据库为关系和非关系数据构建云原生应用程序。
三个要害属性
Azure Cosmos DB for PostgreSQL 是第一个联合了三个要害属性的托管数据库:
- 真正的 PostgreSQL,最新版本: 咱们应用开源 PostgreSQL 并为之做出奉献。这样,您就不会只取得局部 API。在每个版本公布后的两周内您就能够齐全相熟 PostgreSQL 并获益。
- 云数据库: 从宽泛的托管数据库性能中获益,不用再放心您的数据库。例如,能够跨可用区创立高可用性配置,将集群分叉或复原到特定工夫点,或者一键降级 PostgreSQL 和数据库扩大。
- 从小处着手,在寰球范畴内扩大(由 Citus 提供反对): 通过收费试用开始测试您的应用程序。随着工作负载的增长,通过启用分布式表来扩大它,由 PostgreSQL 的 Citus 开源扩大提供反对。这样,咱们将为您解决大规模的关系个性——分布式事务、死锁、外键等等。如果您须要走向寰球,请启用跨区域复制以升高提早和取得寰球可用性。
您的云原生数据库
从 Azure Cosmos DB 收费试用版降级,或为 PostgreSQL 创立新数据库,可为您提供许多新性能。示例性能包含:
- 跨可用区 (AZ) 的高可用性
- 主动备份 / 复原和回退到特定工夫点的能力
- 一键降级到最新的 PostgreSQL 和扩大版本
- 向上 / 向下扩大您的 CPU 和存储资源
- 动态加密和公有端点
- 合乎 30 个 Azure 区域的寰球和本地认证
- 跨 Azure 区域的寰球散布以容忍区域故障
……
借助这些性能,您能够取得云原生的托管数据库性能。咱们还提供星散成,以便您更轻松地在 Azure 上进行构建。
Azure 星散成
云原生数据库的另一个要害个性是它与云的其余部分的集成水平。在此之前,如果 Azure Blob 存储中有数据,则须要将该数据下载到另一个 VM,而后将其上传到您的数据库。而当初开始,您能够通过全新的 PostgreSQL 扩大 pg_azure_storage 间接与 Azure Blob 存储交互。连贯到您的 PostgreSQL 数据库后,您只须要运行以下命令:
SELECT create_extension('azure_storage');
SELECT azure_storage.account_add('mystorageaccount', 'SECRET_ACCESS_KEY');
CREATE TABLE github_events
(
event_id bigint,
event_type text,
event_public boolean,
repo_id bigint,
payload jsonb,
repo jsonb,
user_id bigint,
org jsonb,
created_at timestamp
);
COPY github_events FROM 'https://mystorageaccount.blob.core.windows.net/data/github_events.csv' WITH (format 'csv');
借助这些云原生性能,您能够轻松构建应用程序,并且筹备好以任何规模运行。为此,咱们的 PostgreSQL 服务内置了 Citus 扩大,容许您无限度地横向扩大您的数据库。Citus 打包为一个齐全开源的扩大,利用分布式表的弱小性能扩大了 PostgreSQL,从而实现了大规模的分布式查问执行和性能。Citus 这样做的同时保留了真正的 PostgreSQL 外围,反对 JSONB、天文空间、丰盛的索引、关系语义等。
具备分布式表性能的 Postgres
应用咱们的 PostgreSQL 服务,您能够开始在单节点服务器组上构建您的应用程序,就像应用 PostgreSQL 一样。随着应用程序的可扩展性和性能要求的增长,您能够启用分布式表并无缝扩大到多个节点。
Azure Cosmos DB 使这种转变(启用分布式表)变得容易。以前,如果您想应用 Citus 扩大来创立分布式表,您首先必须抉择一个分片键。而后,您必须运行一个阻止写入操作的命令。在 Citus 11.1 中,创立分布式表和许多以前写入的阻塞操作齐全变成在线的。
创立分布式表后,Citus 会解决其余的工作。示例性能包含:
- 分布式事务和分布式死锁检测
- 主动托管组,容许您强制执行外键、束缚并轻松退出您的数据,而无需进行低廉的从新分区操作
- 分布式查询处理,其中计算被传送到数据
- 分布式实用程序命令,例如索引创立、真空 / 剖析
- 可能读取和写入集群中的任何一个节点
- 在线分片从新均衡和隔离嘈杂的租户 / 分片
……
寰球分布式数据库
Azure Cosmos DB 的另一个次要劣势是寰球可用性。应用 Azure Cosmos DB,您能够创立跨区域的集群,并让您的应用程序跨这些区域查询数据库。咱们心愿通过咱们的 PostgreSQL 服务为您带来同样的益处。
从明天开始,您能够在任何受反对的区域中为 PostgreSQL 创立只读正本。您还能够将正本晋升为可读写的独立服务器组。跨区域只读正本以及集群降级为您带来以下益处:
- 低提早读取: 对于天文分布式应用程序,您能够提供来自雷同或最近区域的读取
- 劫难复原: 如果您察看到笼罩多个可用区的区域中断,您能够通过晋升该区域中的副原本故障转移到另一个区域
- 迁徙到其余区域: 如果要迁徙到其余区域,能够在新区域创立正本,期待数据赶上,而后晋升正本
欢送应用 Azure Cosmos DB 收费试用版启动一个新实例。如果您在旅程中走得更远并且须要拜访所有性能,则能够改为通过 Azure 门户创立一个小型实例。您有任何问题或意见,欢送随时反馈给咱们。
- Azure Cosmos DB 收费试用版
点我理解 Azure Cosmos DB,查看最新产品信息~