TimescaleDB 托管服务 (MST) 是在 Azure 和 GCP 上托管的 TimescaleDB。MST 是与 Aiven 合作提供的。
Timescale Cloud 还是 MST?
Timescale Cloud 是一个以高性能开发者为中心云,提供增强了我们极速向量搜索的 PostgreSQL 服务。您可以将 Timescale Cloud 与您的 AWS、GCS 或 Azure 基础设施安全地集成。创建 Timescale Cloud 服务 并免费试用。
如果您需要在 GCP 或 Azure 上运行 TimescaleDB,那么您来对地方了 — 请继续阅读。
您的 TimescaleDB 托管服务帐户有三个主要组成部分:项目、服务和数据库。
当您注册 TimescaleDB 托管服务时,会自动为您创建一个空项目。项目是最高的组织级别,它们包含您的所有服务和数据库。您可以使用项目来组织服务组。每个项目也可以有自己的账单设置。
要创建新项目:在 MST 控制台 中,单击 Projects
> Create project
。

每个项目包含一个或多个服务。每个项目下可以有多个服务,每个服务对应于一个云服务提供商层级。您可以从项目的 Services
选项卡访问您的所有服务。

有关启动和运行您的第一个服务的更多信息,请参阅 Timescale 托管服务安装部分。
重要提示
当您创建并命名新的 TimescaleDB 托管服务服务后,您将无法重命名它。如果您需要让您的服务以不同的名称运行,您需要创建一个新服务,并手动迁移数据。有关迁移数据的更多信息,请参阅迁移您的数据。
有关 TimescaleDB 托管服务计费的信息,请参阅计费部分。
每个服务可以包含一个或多个数据库。要查看现有数据库或创建新数据库,请在服务列表中选择一个服务,单击 Databases
,然后单击 Create database
。

TimescaleDB 托管服务通过与 Aiven 的合作提供。这为您提供了服务承诺,以实现 99.99% 的可用性。有关更多信息,请参阅 Aiven 服务级别协议政策。
当您创建新服务时,您需要选择一个配置计划。该计划决定了服务运行的虚拟机数量、高可用性配置、CPU 核心数以及 RAM 和存储卷的大小。
计划包括
- 基本计划:包括 2 天的备份,以及实例失败时的自动备份和恢复。
- 开发计划:包括 1 天的备份,以及实例失败时的自动备份和恢复。
- 专业计划:包括 3 天的备份,以及实例失败时自动故障转移到热备用。
基本计划和开发计划由单个虚拟机 (VM) 节点提供服务。这意味着如果节点发生故障,服务将不可用,直到构建新的 VM。如果数据最新更改在故障前没有备份,这可能会导致数据丢失。有时,将服务恢复正常运行也可能需要很长时间,因为需要创建新的 VM 并从备份中恢复,然后服务才能恢复。恢复时间取决于您需要恢复的数据量。
专业计划对故障的弹性要高得多。单个节点故障不会导致数据丢失,并且可能的停机时间最短。如果活动的 TimescaleDB 主节点发生故障,则会将最新的副本节点自动提升为新的主节点。这意味着只有在应用程序重新连接到数据库并访问新的主节点时才会出现短暂的中断。
您可以在服务运行时升级您的计划。服务将在后台重新配置以在更大的 VM 上运行,并且当重新配置完成时,DNS 名称将指向新的主机。这可能会在 DNS 更改传播期间导致您的服务短暂中断。
在每个配置计划选项中,都有几种计划类型可用
IO 优化
和计算优化
这些配置针对输入/输出 (I/O) 性能进行了优化,使用 SSD 存储介质。存储优化
:这些配置通常具有更大的总存储量,使用 HDD 存储介质。仅开发
:这些配置通常占用空间较小,成本较低,专为开发和测试场景而设计。

大多数次要故障都会自动处理,而无需对您的服务部署进行任何更改。这包括服务进程崩溃或临时网络访问丢失等故障。当崩溃的进程自动重启或网络访问恢复时,服务会自动恢复正常运行。
但是,更严重的故障模式,例如完全丢失单个节点,需要更严厉的恢复措施。例如,由于硬件故障或严重的软件故障,可能会丢失整个节点或虚拟机。
MST 监控基础设施会自动检测到故障节点。节点开始报告其自身的自诊断报告存在问题,或者节点完全停止通信。当这种情况发生时,监控基础设施会自动安排创建一个新的替换节点。
注意
如果发生数据库故障转移,您的服务的服务 URL 保持不变。只有 IP 地址更改为指向新的主节点。
TimescaleDB 托管服务的可用性功能因服务计划而异
- 基本计划和开发计划:这些是单节点计划。基本计划包括两天的备份历史记录,开发计划包括一天的备份历史记录。
- 专业计划:这些是双节点计划,具有主节点和备用节点,可实现更高的可用性,并具有三天的备份历史记录。
在基本计划和开发计划中,如果您丢失了服务中的唯一节点,它会立即启动创建新替换节点的自动过程。新节点启动,从最新的可用备份中恢复其状态,并恢复服务。由于只有一个节点提供服务,因此在恢复操作期间服务不可用。此外,自上次预写日志 (WAL) 文件备份以来进行的任何写入都会丢失。通常,此时间窗口限制为五分钟或一个 WAL 文件。
在专业计划中,如果 PostgreSQL 备用节点发生故障,主节点将保持正常运行,并为客户端应用程序提供正常的服务级别。当新的替换备用节点准备就绪并与主节点同步后,它将开始实时复制主节点,并且服务恢复正常运行。
如果 PostgreSQL 主节点发生故障,则来自 MST 监控基础设施和备用节点的组合信息用于做出故障转移决策。在节点上,开源监控守护程序 PGLookout
与来自 MST 系统基础设施的信息相结合,报告故障转移。如果主节点完全关闭,则备用节点会将自身提升为新的主节点,并立即开始为客户端提供服务。会自动安排一个新的替换节点,并成为新的备用节点。
如果主节点和备用节点同时发生故障,则会自动安排创建两个新节点,并分别成为新的主节点和备用节点。主节点从最新的可用备份中恢复自身,这意味着可能涉及一定程度的数据丢失。例如,自上次预写日志 (WAL) 文件备份以来进行的任何写入都可能丢失。
替换故障节点所需的时间主要取决于云区域和需要恢复的数据量。但是,对于具有双节点专业计划的服务,即使在重新创建另一个节点期间,幸存的节点也继续为客户端提供服务。此过程是完全自动的,无需人工干预。
对于备份和恢复,TimescaleDB 托管服务使用 MST 维护的开源备份守护程序 PGHoard
。它将预写日志 (WAL) 文件的实时副本以压缩和加密格式复制到对象存储中。
TimescaleDB 托管服务限制了每个服务的最大连接数。允许的最大连接数取决于您的服务计划。要查看您服务的当前连接限制,请导航到服务 Overview
选项卡并找到 Connection Limit
部分。
如果您有大量客户端或客户端线程连接到您的数据库,请使用连接池来限制连接数。有关连接池的更多信息,请参阅 连接池部分。
注意
如果您的数据库连接数很高,您的服务可能会运行得更慢,并且可能会耗尽内存。请注意您在任何给定时间与数据库有多少个打开的连接。
您可以通过启用服务终止保护来保护您的服务免于意外终止。启用终止保护后,您无法从 Web 控制台、REST API 或命令行客户端关闭服务。要关闭受保护的服务,您需要先关闭终止保护。终止保护不会中断服务迁移或升级。
要启用服务终止保护,请导航到服务 Overview
选项卡。找到 Termination protection
部分,然后切换以启用保护。
重要提示
如果您用完了免费注册额度,并且没有输入有效的信用卡付款,即使您启用了终止保护,您的服务也会关闭。
TimescaleDB 托管服务对 TCP 连接使用默认的保持活动设置。默认设置是
tcp_keepalives_idle
: 7200tcp_keepalive_count
: 9tcp_keepalives_interval
: 75
如果您有长时间的空闲数据库连接会话,您可能需要调整这些设置以确保您的 TCP 连接保持稳定。如果您遇到 TCP 连接断开的情况,当您重新连接时,请确保您的客户端正确解析 DNS 地址,因为底层地址会在自动故障转移期间更改。
有关调整保持活动设置的更多信息,请参阅 PostgreSQL 文档。
TimescaleDB 托管服务不会取消数据库查询。如果您创建了一个运行时间很长或挂起的查询,它可能会锁定您服务上的资源,并可能阻止执行数据库管理任务。
您可以通过导航到服务 Current Queries
选项卡来查找是否有任何长时间运行的查询。您也可以从此选项卡取消长时间运行的查询。
或者,您可以使用您的连接客户端使用此命令查看正在运行的查询
SELECT * FROM pg_stat_activityWHERE state <> 'idle';
使用以下命令取消长时间运行的查询,其中 PID 是您要取消的查询的 PID
SELECT pg_terminate_backend(<PID>);
如果您想自动取消任何运行时间超过指定时长的查询,您可以使用以下命令
SET statement_timeout = <milliseconds>
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。