跳至主要内容

Amazon Timestream

一般性问题

全部打开

时间序列数据是一段时间内记录的一系列数据点,例如股票价格、温度和 Amazon EC2 实例的 CPU 使用率。对于时间序列数据,每个数据点都由时间戳、一个或多个属性以及随时间变化的事件组成。这些数据可用于深入了解应用程序的性能和运行状况、检测异常情况并确定优化机会。

例如,DevOps 工程师可能想要查看衡量基础设施性能指标变化的数据,制造商可能想要跟踪用于衡量整个设施设备温度变化的物联网传感器数据,在线营销人员可能想要分析点击流数据,以记录用户在一段时间内浏览网站的方式。时间序列数据是从多个来源生成的,容量极高,需要以经济实惠的方式进行近乎实时的存储和收集,以得出关键业务见解。

Amazon Timestream 提供完全托管的 InfluxDB(市场上最受欢迎的开源时间序列数据库之一)和 LiveAnalytics(专为扩展而构建的无服务器时间序列数据库)。

是的,您可以为自己的 Amazon Timestream 使用购买数据库节省计划,当您承诺在 1 年期限内保持稳定的使用量时,成本最多可降低 20%。 有关符合条件的使用情况的更多信息,请参阅数据库节省计划定价页面

您可以通过 AWS 管理控制台、AWS 命令行界面(AWS CLI)或 SDK 开始使用 Timestream。如需更多信息,包括教程和其他入门内容,请参阅开发人员指南

适用于 InfluxDB 的 Amazon Timestream 应用于那些需要近乎实时的时间序列查询的应用场景,以及您需要使用 InfluxDB 功能或开源 API 时。现有的 Timestream 引擎——适用于 LiveAnalytics 的 Amazon Timestream 应用于您需要每分钟摄取数十 GB 以上的时间序列数据,并需要在几秒钟内对数 TB 的时间序列数据运行 SQL 查询时。

可以。这两款引擎相互配合,能够实现对时间序列数据的低延迟和大规模摄取。您可以将数据摄入适用于 InfluxDB 的 Timestream,并且可以使用 Telegraf 插件将数据发送到 Timestream,以便通过 SQL 查询分析历史数据。

如果您决定将适用于 InfluxDB 的 Timestream 迁移到适用于 LiveAnalytics 的 Timestream 中,则使用该服务(包括提取、存储和查询)将产生公开账单费用。可以选择将适用于 LiveAnalytics 的 Timestream 与适用于 InfluxDB 的 Timestream 结合使用。

适用于 InfluxDB 的 Timestream 可以单独使用,也可以与适用于 LiveAnalytics 的 Timestream 工作负载一起使用。适用于 InfluxDB 的 Timestream 针对的是响应时间为个位数毫秒的近实时应用程序。适用于 LiveAnalytics 的 Timestream 解决了需要在几分钟内摄取数 GB 数据并在几秒钟内查询数 TB 数据的应用场景。您可以在应用程序或控制面板中结合使用适用于 InfluxDB 的 Timestream 和适用于 LiveAnalytics 的 Timestream。

不能。Timestream 基于一组维度属性和度量值动态创建表的架构。这提供了灵活的增量架构定义,可以在不影响可用性的情况下随时进行调整。

创建数据库并使其可用后,您可以从 Timestream 控制台检索端点信息。或者,您也可以使用 Describe API 检索端点信息(使用适用于 LiveAnalytics 的 Timestream 时为 DescribeDatabase,使用适用于 InfluxDB 的 Timestream 时为 DescribeDBInstances)。

您可以使用 Grafana(一款多平台的开源分析和交互式可视化工具)可视化您的 Timestream 时间序列数据并创建警报。要了解更多信息并查找示例应用程序,请参阅文档

您可以创建与 Timestream 交互的 AWS Lambda 函数。有关更多详细信息,请参阅文档

您可以使用 Telegraf 连接器将使用开源 Telegraf 收集的时间序列数据直接发送到 Timestream。有关更多详细信息,请参阅文档

现在,您可以使用 VPC 端点,从 Amazon Virtual Private Cloud(Amazon VPC)访问 Timestream。Amazon VPC 端点易于配置,可提供指向 Timestream API 的可靠连接,无需互联网网关或 NAT 实例。

AWS CloudFormation 提供了 CloudFormation 模板,用于快速可靠地预置服务或应用程序,从而简化了预置和管理操作。CloudFormation 为 Timestream 提供全面支持,它提供了创建数据库的模板(包括适用于 LiveAnalytics 的 Timestream 和适用于 InfluxDB 的 Timestream 的模板)。这些模板与适用于 InfluxDB 的 Timestream 的最新公告保持同步,为 Timestream 客户提供了灵活性和易用性。

适用于 LiveAnalytics 的 Timestream

全部打开

适用于 LiveAnalytics 的 Amazon Timestream 是一个快速、可扩展且无服务器的时间序列数据库,专为大规模工作负载而构建。它是无服务器的,会自动纵向扩展或缩减以调整容量和性能,因此您不需要管理底层基础设施。其完全解耦的架构使您能够摄取数万亿个数据点,每天运行数百万个查询。

适用于 LiveAnalytics 的 Timestream 的自适应查询引擎允许您同时访问和分析最新数据和历史数据,而无需指定其位置。其中内置了时间序列分析函数,可帮助您近乎实时地识别您的数据中的趋势和模式。

适用于 LiveAnalytics 的 Timestream 旨在收集、存储和处理时间序列数据。它的无服务器架构支持完全分离的数据摄取、存储和查询处理服务,这些服务可以独立扩展,从而能够为您的应用程序需求提供几乎无限的扩展。Timestream 表的架构不是在创建表时预定义架构,而是根据传入的时间序列数据的属性动态创建的,从而可以灵活地进行增量架构定义。

对于数据存储,适用于 LiveAnalytics 的 Timestream 按时间和属性对数据进行分区,使用专门构建的索引加快数据访问速度。度量名称或所选分区键等数据属性在有效分区和高效检索数据方面起着至关重要的作用。此外,适用于 LiveAnalytics 的 Timestream 通过为最新数据提供内存存储,为历史数据提供磁性存储,并支持可配置的规则,在数据达到一定时间时自动将其从内存存储移动到磁性存储,从而实现数据生命周期管理的自动化。

适用于 LiveAnalytics 的 Timestream 还通过其专门构建的自适应查询引擎简化了数据访问,该引擎无需指定数据位置即可无缝访问和合并跨存储层的数据,因此您可以使用 SQL 快速轻松地从数据中获得见解。最后,Timestream 可与您首选的数据收集、可视化、分析和机器学习(ML)服务无缝协作,使您可以轻松地将 Timestream 纳入时间序列解决方案中。

适用于 LiveAnalytics 的 Timestream 提供 99.99% 的可用性。有关更多信息,请参阅服务等级协议(SLA)。

使用适用于 LiveAnalytics 的 Timestream 时,您只需按实际用量付费。对于写入、存储的数据和查询扫描的数据,您需要单独付费。Timestream 会根据使用量自动调整您的写入、存储和查询容量。您可以为每个表设置数据留存策略,并选择将数据存储在内存中存储或磁性存储中。有关定价详细信息,请参阅定价页面

是的,适用于 LiveAnalytics 的 Timestream 为所有新账户提供 1 个月的免费试用期。免费试用的使用量上限为 50GB 摄取量、100GB 的磁存储空间、750GB 小时的内存存储和 750GB 的扫描数据。

对于超出免费试用所提供的使用量,将按适用于 LiveAnalytics 的 Timestream 标准定价向您收费。更多详细信息,请访问定价页面

有关当前区域的可用性,请参阅定价页面

适用于 LiveAnalytics 的 Timestream 为数据摄取提供近乎实时的延迟。适用于 LiveAnalytics 的 Timestream 内置内存存储针对快速时间点查询进行了优化,磁性存储经过优化以支持快速分析查询。借助适用于 LiveAnalytics 的 Timestream,您可以运行查询,在几毫秒内分析来自内存存储的数十 GB 时间序列数据,也可以运行分析查询,在几秒钟内分析来自磁性存储的数 TB 时间序列数据。定时查询通过计算和存储用于为经常访问的操作控制面板、业务报告、应用程序和设备监控系统提供支持的汇总、归纳和其他实时分析,进一步提高了查询性能。

您可以在单个表中存储数 EB 的数据。随着数据的不断增长,适用于 LiveAnalytics 的 Timestream 使用其分布式架构和大量并行处理更大的数据量,同时保持查询延迟几乎不变。

Timestream 的无服务器架构支持完全分离的数据摄取、存储和查询处理系统,这些系统可以独立扩展。适用于 LiveAnalytics 的 Timestream 会持续监控您的应用程序对摄取、存储和查询速率的要求,以便在应用程序不停机的情况下即时扩展。

有关当前的限制和配额,请参阅文档

您可以从互联设备、IT 系统和工业设备收集时间序列数据,并将其写入适用于 LiveAnalytics 的 Timestream。您可以使用 AWS SDK 直接从您的应用程序向适用于 LiveAnalytics 的 Timestream 发送数据,也可以通过 AWS IoT Core、适用于 Apache Flink 的亚马逊托管服务或 Telegraf 等数据收集服务向其发送数据。有关更多信息,请参阅文档

延迟到达的数据是指具有过去时间戳且在内存存储的保留边界范围之外的数据。未来数据是具有未来时间戳的数据。Timestream 允许您存储和访问这两种类型的数据。

要存储延迟到达数据,您只需将数据写入适用于 LiveAnalytics 的 Timestream,该服务将根据数据的时间戳以及为内存存储和磁性存储配置的数据留存期,自动确定数据是写入内存存储还是写入磁性存储。要存储超出未来 15 分钟的数据,请将您的数据建模为多度量记录,并将未来时间戳表示为记录中的度量。

使用批量加载,您可以将存储在 Amazon Simple Storage Service(Amazon S3)中的 CSV 文件摄取到适用于 LiveAnalytics 的 Timestream 中。您可以使用批量加载功能来回填不需要立即用于分析的数据。您可以通过使用 AWS 管理控制台、AWS CLI 和 AWS SDK 来创建批量加载任务。有关更多信息,请参阅文档

您可以使用 AWS IoT Core 规则操作从您的物联网设备收集数据,并将这些数据存储在适用于 LiveAnalytics 的 Timestream 中。有关更多详细信息,请参阅文档

您可以使用 Apache Flink 将时间序列数据从 Amazon Kinesis 直接传输到适用于 LiveAnalytics 的 Timestream。有关更多详细信息,请参阅文档

您可以使用 Apache Flink 将您的时间序列数据从 Amazon Managed Streaming for Apache Kafka(Amazon MSK)直接发送到适用于 LiveAnalytics 的 Timestream。有关更多详细信息,请参阅文档

Timestream 在分区中组织和存储时间序列数据。数据的分区由该服务根据数据的属性确定。时间戳和 measure_name 或客户定义的分区键等属性在决定分区方面起着关键作用。有关更多详细信息,请参阅 Werner Vogels 的博客。如果您想优化查询性能以更好地满足您的特定需求,我们建议使用客户定义的分区键。使用 Timestream,您只需配置数据留存策略,在数据达到配置时自动将其从内存存储移动到磁性存储,即可实现数据生命周期管理的自动化。

适用于 LiveAnalytics 的 Timestream 内存存储是一种经过写入优化的存储,可接受传入的时间序列数据并对其进行重复数据删除。内存存储还针对延迟敏感的时间点查询进行了优化。

适用于 LiveAnalytics 的 Timestream 磁性存储是一个针对读取进行了优化的存储,专为运行快速分析查询而构建,可以扫描数百 TB 的数据。磁性存储还针对扫描数百 TB 数据的快速分析查询进行了优化。

您可以设置内存存储和磁性存储的保留期。默认值分别为 12 小时和 10 年。随着数据的年限(由记录中的时间戳确定)超过了内存存储的配置保留期限,适用于 LiveAnalytics 的 Timestream 会自动将数据分层存储到磁性存储中。同样,如果数据的年限超过了配置的磁性存储保留期限,该服务会自动删除这些数据。

适用于 LiveAnalytics 的 Timestream 通过在单个区域内的不同可用区之间自动复制您的内存和磁性存储数据,确保您的数据的持久性。在确认写入请求完成之前,您的所有数据都将写入磁盘。

您可以使用 SQL 查询存储在 Timestream 中的时间序列数据。您还可以通过 SQL 使用用于插值、回归和平滑的时间序列分析函数。有关更多信息,请参阅文档。Timestream 的自适应查询引擎使您能够使用单个 SQL 语句访问跨存储层的数据。它可以透明地访问和合并跨存储层的数据,而无需您指定数据位置。 

适用于 LiveAnalytics 的 Timestream 定时查询提供完全托管、无服务器和可扩展的解决方案,用于计算和存储汇总、归纳和其他实时分析,用于为经常访问的操作控制面板、业务报告、应用程序和设备监控系统提供支持。

使用定时查询,您只需定义实时分析查询,以计算传入数据的汇总、归纳和其他实时分析,Timestream 会定期自动运行这些查询,并将查询结果可靠地写入单独的表中。然后,您可以将控制面板、报告、应用程序和监控系统指向简单地查询目标表,而不必查询包含传入的时间序列数据的相当大的源表。这可以将性能和成本降低一个数量级,因为目标表包含的数据比源表少得多,从而提高数据访问和存储速度并减少费用。

您可以使用 JDBC 和 ODBC 驱动程序将适用于 LiveAnalytics 的 Timestream 连接到您首选的商业智能工具和其他应用程序。有关更多详细信息,请参阅 JDBCODBC 文档。

您可以使用 Amazon QuickSightGrafana 可视化和分析适用于 LiveAnalytics 的 Timestream 中的时间序列数据。您也可以使用 QuickSight 来满足您的机器学习需求。

您可以使用 QuickSight 为您的时间序列数据创建丰富的交互式控制面板。有关更多信息,请参阅文档

您可以使用 Amazon SageMaker 笔记本将您的 ML 模型与适用于 LiveAnalytics 的 Timestream 集成。有关更多信息,请参阅文档

无论是静态数据还是传输中的数据,都始终处于加密状态。适用于 LiveAnalytics 的 Timestream 使您能够指定 AWS Key Management Service(AWS KMS)客户管理型密钥来加密磁性存储中的数据。

适用于 LiveAnalytics 的 Timestream 符合符合 ISO(9001、27001、27017 和 27018)、PCI DSS、FedRAMP(Moderate)和医疗健康信息信任联盟通用安全框架(HITRUST CSF)。它还符合 HIPAA 资格,并在 AWS SOC 1、SOC 2 和 SOC 3 报告的涵盖范围内。

Timestream 资源有两个备份选项可供选择:按需备份和定时备份。按需备份是一次性备份,可以从 Timestream 控制台启动,也可以通过 AWS Backup 启动。如果您想要在更改表之前创建备份,可能需要还原更改,则按需备份非常有用。 定时备份是您可以使用 AWS Backup 策略按所需频率(例如 12 小时、1 天、1 周等)配置的定期备份。如果您想要创建持续备份以实现数据保护目标,则定时备份非常有用。

表的第一次备份,无论是按需备份还是定时备份,都是完整备份,同一个表的每次后续备份都是增量备份,仅复制自上次备份以来发生变化的数据。 

备份和恢复是根据所选表的备份存储大小收取费用的,以“每月 GB”为单位进行测量。收费将显示在您的 AWS 账单的“备份”下,包括备份存储、数据传输、恢复和提前删除的费用。由于备份本质上是增量备份,因此表的后续备份的存储大小是自上次备份以来更改的数据量的大小。请参阅 AWS Backup 定价以了解更多详细信息。

首先,您需要启用 AWS Backup 来保护您的适用于 LiveAnalytics 的 Timestream 资源(这是一次性操作)。启用后,导航到 AWS 管理控制台或使用 AWS Backup 的 CLI 或 SDK 创建数据的按需或定时备份,然后跨账户和区域复制这些备份。 您可以根据数据保护需求配置备份生命周期管理。有关更多信息,请参阅创建备份文档。 

您可以通过 AWS 管理控制台或使用 AWS Backup 的 CLI 或 SDK 恢复您的适用于 LiveAnalytics 的 Timestream 表。为要恢复的资源选择恢复点 ID,并提供所需的输入,例如目标数据库名称、新表名称和保留属性以启动恢复过程。成功恢复后,您可以访问数据。当您尝试还原表的最新增量备份时,整个表数据都将恢复。有关更多信息,请参阅文档

适用于 InfluxDB 的 Timestream

全部打开

适用于 InfluxDB 的 Amazon Timestream 是一款新的时间序列数据库引擎,使应用程序开发人员和 DevOps 团队可以轻松地在 AWS 上使用开源 API 为实时时间序列应用程序运行 InfluxDB 数据库。借助适用于 InfluxDB 的 Timestream,可以轻松设置、运行和扩展时间序列工作负载,这些工作负载能够以个位数毫秒级的查询响应时间来回答查询请求。

适用于 InfluxDB 的 Timestream 支持 InfluxDB 的开源版本 2.7。 

如果您正在自行管理 InfluxDB,想要使用开源时间序列 API 或正在构建需要个位数毫秒级查询响应的实时时间序列应用程序,则应使用适用于 InfluxDB 的 Timestream。使用适用于 InfluxDB 的 Timestream,您将享受到开源 API 的益处,并能使用众多开源 Telegraf 代理来收集时间序列数据。您无需管理复杂而耗时的任务,例如 InfluxDB 安装、升级、存储、高可用性复制和备份。

使用多可用区配置部署时,适用于 InfluxDB 的 Timestream 提供的 SLA 可用性为 99.9%,单可用区配置的可用性则为 99.5%。

适用于 InfluxDB 的 Timestream 为近乎实时的时间序列应用场景而构建。根据实例配置和工作负载特征,您可预期的写入到读取延迟大约为 1 秒,而查询的延迟则在个位数毫秒级。

从自行管理的 InfluxDB 实例迁移到适用于 InfluxDB 的 Timestream,您只需将备份从现有的 InfluxDB 数据库还原到适用于 InfluxDB 的 Timestream 实例中,只需停机几分钟即可。您可以重新配置数据收集代理,例如开源的 Telegraf 代理,以将适用于 InfluxDB 的 Timestream 管理的 InfluxDB 端点作为目标。诸如 InfluxDB 用户界面、自行托管的 Grafana 或 Amazon Managed Grafana 之类的控制面板技术将继续发挥作用,将它们配置为在不进行任何其他代码更改的情况下使用适用于 InfluxDB 的 Timestream 端点。

要从适用于 LiveAnalytics 的 Timestream 迁移到适用于 InfluxDB 的 Timestream,您可以将数据从适用于 LiveAnalytics 的 Timestream 导出到 Amazon S3,对导出的 CSV 文件进行任何必要的修改,然后将其加载到适用于 InfluxDB 的 Timestream 中。

您可以将数据库实例视为一个云中的数据库环境,其中包含您所指定的计算和存储资源。您可以创建和删除数据库实例,定义和优化数据库实例的基础设施属性,还能通过 AWS 管理控制台适用于 InfluxDB 的 Timestream API 和 AWS CLI 控制访问权限和安全性。您可以运行一个或多个数据库实例,每个数据库实例可以支持一个或多个数据库(存储桶)或组织,具体取决于工作负载特征和实例配置。

借助 AWS 管理控制台适用于 InfluxDB 的 Timestream API 或 AWS CLI,您可以轻松创建数据库实例。要使用 AWS 管理控制台启动数据库实例,请选择 InfluxDB 数据库,然后选择控制面板上的“创建 InfluxDB 数据库”按钮。您可以从中指定数据库实例的参数,包括实例类型、存储类型和存储量、主用户凭证等等。

此外,您还可以使用 CreateDBInstance APIcreate-db-instance 命令创建数据库实例。

只要数据库实例可用,您即可通过 AWS 管理控制台中的数据库实例描述、GetDBInstance API 或 get-db-instance 命令检索其端点。使用此端点加上您的访问令牌,您可以使用 InfluxDB API 发送写入和读取请求,并使用您最喜欢的数据库工具或编程语言管理引擎。您也可以使用相同的端点通过浏览器访问 InfluxDB 用户界面。要允许对您正在运行的数据库实例发出的网络请求,您需要授予访问权限或启用公共 IP 访问权限。

默认情况下,您最多可以拥有总共 40 个适用于 InfluxDB 的 Timestream 实例。

仅按实际使用量收费,无最低费用或设置费用。您的计费依据为:

  • 数据库实例小时数:基于所用数据库实例的类别(例如,db.influx.large 和 db.influx.4xlarge)。 部分数据库实例使用小时以 1 秒为增量计费,最低收取 10 分钟的费用,然后提供可计费状态更改(例如创建、启动或修改数据库实例类)。
  • 存储(每月每 GB):您的数据库实例预置的存储容量。如果您在一个月内扩展您预置的存储容量,则将按相应比例计费。
  • 数据传输:传入和传出数据库实例的互联网数据传输

有关适用于 InfluxDB 的 Timestream 的定价信息,请访问定价页面

数据库实例的账单周期从该数据库实例可用时即开始计算。账单周期一直持续到该数据库实例停止之时,删除实例或实例出现故障时会发生停止。

数据库实例小时数是指按您的数据库实例在可用状态下运行的每个小时计费。如果您希望不再为数据库实例付费,则必须将其停止或删除,以免产生更多应计费实例小时数。 部分数据库实例使用小时以 1 秒为增量计费,最低收取 10 分钟的费用,然后提供可计费状态更改(例如创建、启动或修改数据库实例类)。

当数据库实例停止时,您需要为预置的存储付费,但无需按数据库实例小时数付费。

如果您指定数据库实例为多可用区部署,系统将根据适用于 InfluxDB 的 Timestream 定价页面上发布的多可用区定价计费。多可用区计费依据以下各项:

  • 多可用区数据库实例小时数:基于所用 DB 实例的类别(例如,db.influx.large 和 db.influx.4xlarge)。如同单可用区中的标准部署那样,部分数据库实例使用小时以 1 秒为增量计费,最低收取 10 分钟的费用,然后提供可计费状态更改(例如创建、启动或修改数据库实例类)。如果在给定小时内数据库实例部署在标准和多可用区模式之间发生转换,将按该小时适用的费率收费。
  • 预置存储(针对多可用区数据库实例):如果在给定小时内数据库实例部署在标准和多可用区模式之间发生转换,将按该小时适用的存储费率中的较高者收费。
  • 数据传输:在主实例和备用实例之间复制数据不会收取数据传输费用。传入和传出数据库实例的 Internet 数据传输费用与标准部署的费用相同。

除非另行说明,否则我们的价格不包含适用的税费和关税(包括增值税和销售税)。使用日本账单地址的客户若要使用 AWS,则需缴纳日本消费税。 

  • 您的适用于 InfluxDB 的 Timestream 只读副本集群账单根据适用于 InfluxDB 的 Timestream 定价页面上列出的价格按集群中的每个实例计算。计费结构由四个主要部分组成:
    集群节点小时数根据您选择的实例类别(例如 db.influx.large 或 db.influx.4xlarge)进行收费。在任何可计费状态发生变化(包括创建、启动或实例类别修改)后,我们以 1 秒为增量计费,最低收取 10 分钟的费用。如果您在一小时内在不同集群类型之间进行转换,则在此期间您将被收取两种适用费率的费用。
  • 对于存储,将根据您的预置容量向您计费。在一小时内在部署类型(集群、标准或多可用区数据库)之间进行转换时,我们会采用该小时的适用存储费率中较高的值。
  • 关于数据传输,您在主实例与副本实例之间进行数据复制时无需支付费用。但是,传入和传出数据库集群的互联网数据传输遵循与标准部署相同的定价。
  • 只读副本功能通过一款由 InfluxData 开发并销售的授权附加组件提供,该组件将通过 AWS Marketplace 进行激活。此许可证采用按需付费模式,费用依据您的实例小时数以及所配置实例类别的 vCPU 数量而定。

要选择初始数据库实例类和存储容量,您可能需要评测应用程序的计算、内存和存储需求。有关可用数据库实例类的信息,请参阅适用于 InfluxDB 的 Timestream 用户指南

适用于 InfluxDB 的 Timestream 包含 IOPS 的存储是支持 SSD 的存储方案,旨在提供快速、可预测且一致的 I/O 性能。使用适用于 InfluxDB 的 Timestream 包含 IOPS 的存储,您可以选择三个层级,从小型工作负载到经过高性能优化的大规模工作负载不等。您只能指定为更适合您需求的层级分配的卷大小。适用于 InfluxDB 的 Timestream 包含 IOPS 的存储经过优化,适合 I/O 密集型、事务处理型(OLTP)数据库工作负载。有关更多详细信息,请参阅适用于 InfluxDB 的 Timestream 用户指南

选择最适合您的工作负载的存储类型。

默认情况下,适用于 InfluxDB 的 Timestream 会考虑实例类和存储容量,为数据库实例选择最优配置参数。但是,如果要进行更改,您可以使用 AWS 管理控制台、适用于 InfluxDB 的 Timestream API 或 AWS CLI 执行此操作。请注意,将配置参数改为非建议的值可能会产生从性能降低到系统崩溃等各种意外影响,只有愿意承担此类风险的高级用户才可以尝试该操作。

发布时,我们将提供一组有限的参数供您进行修改,这些参数包括:flux-log-enabled、log-level、metrics-disable、no-tasks、query-concurrency、query-queue-size 和 tracing-type。随着时间的推移,这份清单可能会根据客户需求不断扩充。

数据库参数组充当可应用于一个或多个数据库实例的引擎配置值的容器。如果创建的数据库实例未指定数据库参数组,将使用默认的数据库参数组。该默认组包含针对您运行的数据库实例进行优化的引擎默认值和适用于 InfluxDB 的 Timestream 系统默认值。

不过,如果希望数据库实例以您自定义的引擎配置值运行,可以轻松地创建一个新数据库参数组,修改所需的参数并修改数据库实例以使用新数据库参数组。 

创建或修改数据库实例并以多可用区部署模式运行后,适用于 InfluxDB 的 Timestream 将自动在不同的可用区预置和维护同步“备用”副本。对数据库实例的更新将同步复制到可用区的备用副本中,以保持同步并保护最新的数据库更新,以防数据库实例出现故障。 

如果遇到特定类型的计划内维护或很少出现的数据库实例故障或可用区故障,适用于 InfluxDB 的 Timestream 将自动失效转移到备用副本,以便在提升备用副本后尽快恢复数据库写入和读取操作。由于数据库实例的名称记录相同,所以应用程序无需手动管理干预即可恢复数据库操作。

借助多可用区部署,您可以透明地进行复制。无需与备用副本交互,而且它不可用来服务读取流量。

可用区是区域内的不同位置,旨在隔离其他可用区的故障。每个可用区在其独立的、物理上显著不同的基础设施中运行,具有高度可靠性。可用区之间不共用像发电机和冷却设备那样的常见故障点。此外,它们在物理上也是相互独立的,即使火灾、龙卷风或洪涝等极为罕见的灾难也只会影响单个可用区。同一区域内的可用区之间具有低延迟的网络连接。

以多可用区部署模式运行数据库实例时,“主”节点服务于数据库写入和读取操作。此外,适用于 InfluxDB 的 Timestream 会在后台预置和维护“备用”节点,它是主节点的最新副本。在失效转移情况下,会“提升”备用副本。失效转移后,备用副本将成为主节点,并接受数据库操作。在提升前的任何时候,无需与备用副本直接交互(例如,执行读取操作)。

以多可用区部署模式运行数据库实例的主要优势是可提高数据库的持久性和可用性。多可用区部署提供了增强的可用性和容错功能,这使其自然而然成为生产环境的理想之选。

在遇到罕见的数据库实例组件故障或某个可用区的可用性受损的情况时,以多可用区部署模式运行数据库实例可确保数据安全无虞。

例如,如果主节点中的存储卷出现故障,适用于 InfluxDB 的 Timestream 将自动启动失效转移到备用副本,在此您的所有数据库更新完整无缺。相对于单一可用区的标准部署,这种方式提供更长的数据持久性,否则将需要用户启动还原操作且最近可还原时间(通常在最后 5 分钟内)之后进行的更新将不可用。

此外,以多可用区部署模式运行时,您还可获得增强数据库可用性的优势。如果发生可用区故障或数据库实例故障,可用性影响将仅限于完成自动故障转移的时间。多可用区部署的可用性优势还可延伸到计划内维护。以多可用区部署模式运行数据库实例的另一潜在优势是,系统将自动执行数据库实例失效转移,无需进行管理。 

您可以看到,由于是代您执行同步数据复制,所以相对于单一可用区中的标准数据库实例部署,延迟有所提升。

不能,多可用区备用副本不能服务读取请求。多可用区部署旨在增强数据库可用性和持久性,而非获得读取扩展优势。因此,该功能在主副本和备用副本之间采用同步复制。我们的实施可确保主节点和备用副本一直处于同步状态,但不能使用备用副本执行读取或写入操作。

要创建多可用区数据库实例部署,只需在使用 AWS 管理控制台启动数据库实例时,为多可用区部署选择“创建备用实例”选项。另外,如果您使用的是适用于 InfluxDB 的 Timestream API,则可调用 CreateDBInstance API 并将“多可用区”参数的值设置为“True”。
您还可以修改现有实例之一,并将部署类型设置为“多可用区”。

适用于 InfluxDB 的 Timestream 可检测多可用区部署中最常见的故障并自动从中恢复过来,这样您可在无管理干预的情况下尽快恢复数据库操作。如果发生以下任何一种情况,适用于 InfluxDB 的 Timestream 将自动执行失效转移:

  • 主可用区的可用性受损
  • 主节点的网络连接受损
  • 主节点的计算单位出现故障
  • 主节点的存储出现故障

请注意:适用于 InfluxDB 的 Timestream 多可用区部署不会自动失效转移来响应某些数据库操作,如长时间运行查询、死锁或数据库崩溃错误。

适用于 InfluxDB 的 Timestream 将自动进行失效转移,以便尽快恢复数据库操作而无需管理干预。失效转移后,适用于 InfluxDB 的 Timestream 会轻松翻转数据库实例的规范名称(CNAME)记录以指向备用副本,备用副本继而被提升为新的主节点。我们鼓励您遵循最佳做法,在应用程序层实施数据库连接重试。

失效转移(即从在主节点上检测到故障到在备用副本上继续事务之间的时间)通常在几分钟内完成。失效转移时间还可能受到以下因素的影响:是否必须恢复那些规模较大且未提交的事务、索引的大小以及其他因素。建议在多可用区中使用足够大的实例类型,以获得最佳结果。AWS 还建议对多可用区实例使用适用于 InfluxDB 的 Timestream 包含 IOPS 的存储,以获得快速、可预测及一致的吞吐量性能。

在各种故障条件下,适用于 InfluxDB 的 Timestream 会自动进行失效转移,无需用户操作。目前,您无法手动启动适用于 InfluxDB 的 Timestream 数据库实例的强制失效转移。

对于多可用区部署,可以轻松地将“多可用区”参数设置为“True”。创建备用副本、同步复制和失效转移都将自动进行处理。这意味着,无法选择部署备用副本的可用区或更改可用的备用副本数(适用于 InfluxDB 的 Timestream 会为每个数据库实例主副本预置一个专用的备用副本)。备用副本也不可以配置为接受数据库读取活动。

是的,备用副本将自动预置到与数据库实例主节点所在区域的不同可用区。

是的,您可以使用 AWS 管理控制台或 GetDBInstance API 查看当前主副本的位置。

可用区与同一区域内的其他可用区之间可以实现低延迟网络连接。此外,您在设计应用程序及其他 AWS 资源的架构时可以跨多个可用区设置冗余,以便应用程序在出现可用区故障时能够灵活反应。多可用区部署可满足数据库层的此项需求,而无需用户干预管理。

适用于 InfluxDB 的 Timestream 只读副本集群为您的数据库提供增强的可用性和读取可扩展性。创建集群时,适用于 InfluxDB 的 Timestream 会自动在不同的可用区中预置和维护至少一个异步可读副本。您的主节点的更新会异步复制到这些只读副本中,从而使您能够在多个节点之间分配查询工作负载。

该集群在计划性维护期间或在出现不太可能发生的节点或可用区故障时,能够自动实现失效转移。发生失效转移时,您的应用程序无需手动干预即可继续运行,因为写入器和读取器端点保持相同的名称记录。但是,务必注意的是,在恢复期间,当我们修复故障节点并将其重新设置为只读副本时,使用该副本节点端点进行读取的应用程序将会暂时无法使用。

在只读副本集群中,主节点负责处理所有的数据库写入、读取操作,并管理特定于引擎的配置和管理功能。除此之外,适用于 InfluxDB 的 Timestream 还会自动预置和维护与主节点保持同步更新的只读副本。只读副本有两个关键用途:它通过接收更多的读取请求来扩展您的读取能力,并且在进行失效转移的情况下,它可以被提升为主节点。在失效转移事件期间,当只读副本升级为主节点时,它将接管所有的数据库操作。一旦先前出现故障的节点恢复运行,它将作为只读副本重新加入集群,以维持集群的韧性。

读副本集群具有三个显著优势:增强的可扩展性、更高的可用性以及工作负载优化。更高的可扩展性源于您能够将读取工作负载分配到多个集群节点上,这对于读取需求远大于写入操作的应用程序来说尤其具有价值。

配置为启用失效转移时,只读副本集群通过更快的失效转移功能来提供更高的可用性。由于集群中的所有节点都保持活动状态,因此无需等待节点启动即可将副本升级为主节点,从而最大限度地减少失效转移期间的停机时间。

此外,只读副本集群可实现高效的工作负载管理。您可以将主节点专用于处理通常用于实时控制面板、警报和通知的简单快速查询,同时将更复杂的分析查询定向到只读副本中。这种分离确保了不同类型工作负载的最佳性能。

复制器过程证明对性能的影响可以忽略不计,对 CPU 或内存消耗量的影响微乎其微。但是,务必需要注意的是,复制延迟(即从主节点接受记录到其在只读副本中可用之间的时间间隔)可能会因副本节点的负载水平而有所不同。

适用于 InfluxDB 的 Timestream 发布了一项名为“ReplicaLag”的 CloudWatch 指标,该指标可帮助您监控只读副本的同步状态。该指标以毫秒为单位,用于衡量副本与主节点之间的差距程度。复制延迟可能会受到数据库负载水平的影响,因此我们建议客户主动监控这一指标,以确保其只读副本能够维持其应用场景的可接受同步水平。

要在适用于 InfluxDB 的 Timestream 中设置只读副本集群,请先登录 AWS 管理控制台并导航到 Amazon Timestream 控制台。从 InfluxDB 数据库部分中选择“创建 InfluxDB 数据库”。配置部署设置时,选择“带有只读副本的数据库集群”。 您需要通过 AWS Marketplace 激活订阅,这需要 AWSMarketplaceManageSubscriptions 或 AWSMarketplaceFullAccess 权限。确认订阅后,提供基本配置详细信息,然后选择适用于集群中所有节点的适当节点和存储类别。

不,在只读副本集群中,任何给定时间都只能有一个主节点负责处理写入操作。主节点为所有写入请求提供服务,同时还管理数据库读取、特定于引擎的配置和管理功能。只读副本会与这个主节点保持同步更新,并且只能接受读取请求。虽然您可以在失效转移场景中将只读副本提升为主节点,但集群架构会保持单写入器模型,以确保数据一致性。

对于只读副本集群,您可以在创建或修改集群时启用或禁用失效转移功能。启用后,副本管理、复制操作以及失效转移流程均由适用于 InfluxDB 的 Timestream 自动处理。您无法为副本选择特定的可用区,适用于 InfluxDB 的 Timestream 会为每个集群维护至少一个只读副本。只读副本会主动接受读取请求,以帮助分配工作负载。

适用于 InfluxDB 的 Timestream 可检测只读副本集群部署中常见的故障场景并自动从中恢复过来,这样您可在无管理干预的情况下快速恢复数据库操作。如果发生以下任何一种情况,系统都将自动执行到只读副本的失效转移:

  • 主节点可用区的可用性受损
  • 主节点的网络连接受损
  • 主节点的计算单位出现故障
  • 主节点的存储出现故障

请注意,适用于 InfluxDB 的 Timestream 只读副本集群不会自动失效转移来响应某些数据库操作,如长时间运行查询、死锁或数据库崩溃错误。请记住,自动失效转移功能只有在您在设置过程中或通过集群修改专门为只读副本集群启用了此功能时才会生效。

启用该功能后,只读副本集群中的失效转移将由适用于 InfluxDB 的 Timestream 自动处理,从而使数据库操作无需管理干预即可快速恢复。在失效转移期间,适用于 InfluxDB 的 Timestream 会更新数据库的规范名称(CNAME)记录,使其指向只读副本,然后将其提升为新的主节点。作为最佳实践,我们建议在您的应用程序层中实施数据库连接重试逻辑。

由于只读副本集群中的节点处于活动状态,因此无论工作负载特征如何,失效转移时间都将保持稳定。通常,失效转移会在几分钟内完成,具体从检测到主故障到恢复升级副本上的事务间的时间来衡量。为了获得最佳性能,我们建议对适用于 InfluxDB 的 Timestream 包含 IOPS 的存储使用大小合适的节点类型。

启用失效转移后,适用于 InfluxDB 的 Timestream 将在各种故障条件下自动处理失效转移。目前,适用于 InfluxDB 的 Timestream 只读副本集群不支持手动启动强制失效转移。

是的,您的只读副本将自动预置到与主节点所在区域的不同可用区。

是的,您可以通过 AWS 管理控制台或使用 GetDBInstance API 查看主副本和只读副本节点的位置。

可用区与同一区域内的其他可用区之间可以实现低延迟网络连接,因此延迟影响应当最低。但是,我们建议您在设计应用程序及其他 AWS 资源时,将其分布在多个可用区中以实现冗余,从而达到最佳的韧性。只读副本集群自然支持这种架构,因为您可以将读取工作负载分布在不同可用区的节点上,而且在启用失效转移时,即使某个可用区不可用,您的应用程序仍能继续运行。