正式发布丨Azure Cosmos DB for PostgreSQL

本文节选翻译自 Ozgun Erdogan 和 Umur Cubukcu 的博客

今天,我们很高兴地宣布 Azure Cosmos DB for PostgreSQL 正式发布,用于构建云原生关系应用程序。该服务为开发者带来最新的 PostgreSQL 功能,允许您从免费试用开始,并随着工作负载的增长扩展您的数据库。

随着这一宣布,Azure 也成为第一个提供自己的单一数据库服务的云提供商,该服务支持关系和 NoSQL 工作负载。您现在可以使用熟悉的 Azure Cosmos DB 数据库为关系和非关系数据构建云原生应用程序。

正式发布丨Azure Cosmos DB for PostgreSQL_第1张图片

三个关键属性

Azure Cosmos DB for PostgreSQL 是第一个结合了三个关键属性的托管数据库:

  • 真正的 PostgreSQL,最新版本:我们使用开源 PostgreSQL 并为之做出贡献。这样,您就不会只获得部分 API。在每个版本发布后的两周内您就可以完全熟悉 PostgreSQL 并获益。
  • 云数据库:从广泛的托管数据库功能中获益,不必再担心您的数据库。例如,可以跨可用区创建高可用性配置,将集群分叉或恢复到特定时间点,或者一键升级 PostgreSQL 和数据库扩展。
  • 从小处着手,在全球范围内扩展(由 Citus 提供支持):通过免费试用开始测试您的应用程序。随着工作负载的增长,通过启用分布式表来扩展它,由 PostgreSQL 的 Citus 开源扩展提供支持。这样,我们将为您处理大规模的关系特性——分布式事务、死锁、外键等等。如果您需要走向全球,请启用跨区域复制以降低延迟和获得全球可用性。

您的云原生数据库

从 Azure Cosmos DB 免费试用版升级,或为 PostgreSQL 创建新数据库,可为您提供许多新功能。示例功能包括:

  • 跨可用区 (AZ) 的高可用性
  • 自动备份/恢复和回退到特定时间点的能力
  • 一键升级到最新的 PostgreSQL 和扩展版本
  • 向上/向下扩展您的 CPU 和存储资源
  • 静态加密和私有端点
  • 符合 30 个 Azure 区域的全球和本地认证
  • 跨 Azure 区域的全球分布以容忍区域故障
    …… 

正式发布丨Azure Cosmos DB for PostgreSQL_第2张图片

借助这些功能,您可以获得云原生的托管数据库功能。我们还提供云集成,以便您更轻松地在 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 for PostgreSQL_第3张图片

欢迎使用 Azure Cosmos DB 免费试用版启动一个新实例。如果您在旅程中走得更远并且需要访问所有功能,则可以改为通过 Azure 门户创建一个小型实例。您有任何问题或意见,欢迎随时反馈给我们。

点我了解 Azure Cosmos DB,查看最新产品信息~

你可能感兴趣的:(azure数据库开源)