跳至主要内容

Amazon Timestream

Amazon Timestream 常见问题

一般性问题

全部打开

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

例如,DevOps 工程师可能希望查看测量基础设施性能指标变化的数据,制造商可能希望跟踪测量整个设施内设备温度变化的物联网传感器数据,网络营销人员可能希望分析捕捉用户如何随时间的推移浏览网站的点击流数据。由于时间序列数据是从多个来源生成的,数量极多,因此需要以经济高效的方式对其进行近乎实时的存储和分析,以获得关键的业务见解。

Amazon Timestream 提供完全托管的 InfluxDB,是市场上最受欢迎的开源时间序列数据库之一

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

不需要。Timestream 会根据一组维度属性和测量值动态创建表的模式。这提供了灵活的增量模式定义,可在不影响可用性的情况下随时调整。

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

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

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

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

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

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

Timestream for InfluxDB

全部打开

简介

全部打开

适用于 InfluxDB 的 Amazon Timestream 是一种新的时间序列数据库引擎,便于应用程序开发人员和 DevOps 团队在亚马逊云科技云上轻松运行 InfluxDB 数据库,以使用开源 API 构建实时时间序列应用程序。借助适用于 InfluxDB 的 Timestream,可轻松设置、操作和扩展时间序列工作负载,这些工作负载能够以个位毫秒级的查询响应速度响应查询。

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

如果您正在自行管理 InfluxDB,希望使用开源时间序列 API,或正在构建需要个位毫秒级查询响应速度的实时时间序列应用程序,则应使用适用于 InfluxDB 的 Timestream。借助 Timestream for InfluxDB,您可以利用开源 API 和各种开源 Telegraf 代理来收集时间序列数据。您无需管理复杂且耗时的任务,例如 InfluxDB 安装、升级、存储、高可用性复制和备份。

适用于 InfluxDB 的 Timestream 在多可用区配置部署中提供 99.9% 可用性的 SLA,在单可用区配置部署中提供 99.5% 可用性的 SLA。

适用于 InfluxDB 的 Timestream 专为近乎实时的时间序列使用案例而构建。根据实例配置和工作负载特性,写入和读取延迟时间约为 1 秒,查询延迟时间为个位毫秒级。

从自行管理的 InfluxDB 实例迁移到适用于 InfluxDB 的 Timestream,只需停机几分钟,便可将现有 InfluxDB 数据库的备份还原到适用于 InfluxDB 的 Timestream 实例。您可以重新配置数据收集代理(如开源 Telegraf 代理),使其专用于 Timestream for InfluxDB 管理的 InfluxDB 端点。InfluxDB UI、自托管 Grafana 或 Amazon Managed Grafana 等控制面板技术将继续发挥作用,只需将其配置为使用 Timestream for InfluxDB 端点,无需更改任何其他代码。

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

数据库实例

全部打开

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

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

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

数据库实例可用后,便可以通过亚马逊云科技管理控制台中的数据库实例描述、GetDBInstance API 或 get-db-instance 命令检索其端点。通过此端点和访问令牌,您可以使用 InfluxDB API 发送读写请求,也可以使用您最喜欢的数据库工具或编程语言管理引擎。您还可以使用同一端点在浏览器上访问 InfluxDB UI。要允许网络请求访问正在运行的数据库实例,您需要授予访问权限或启用公有 IP 访问权限。

默认情况下,最多可以运行 40 个适用于 InfluxDB 的 Timestream 实例。

计费

全部打开

您只需为实际使用量付费,无最低费用或设置费用。按以下方式计费:

  • 数据库实例使用时间:基于使用的数据库实例类(例如 db.influx.large 和 db.influx.4xlarge)。 部分数据库实例使用时间以 1 秒为增量计费,在计费状态发生变化后,比如创建、启动或修改数据库实例类,按 10 分钟收取最低费用。
  • 存储(每月每 GB):您为数据库实例预置的存储容量。如果您在当月扩展了预置的存储容量,账单将按比例分摊。
  • 数据传输:基于从您的实例传出的数据。有关更多详细信息,请查看我们的定价页面
  • 有关适用于 InfluxDB 的 Timestream 定价信息,请访问定价页面

    数据库实例自其可用之时开始计费。计费持续到该数据库实例停止(即删除实例或实例发生故障时)。

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

    数据库实例停止后,我们会向您收取预置费用,但不会对数据库实例使用时间收费。

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

  • 多可用区数据库实例使用时间:基于使用的数据库实例类(例如 db.influx.large 和 db.influx.4xlarge)。与单个可用区中的标准部署一样,部分数据库实例使用时间以 1 秒为增量计费,在计费状态发生变化后,比如创建、启动或修改数据库实例类,按 10 分钟收取最低费用。如果在给定时间内,数据库实例在标准和多可用区部署之间发生转换,则将按该时间内两种适用的费率收费。
  • 预置存储(适用于多可用区数据库实例):如果在给定时间内,数据库实例在标准和多可用区部署之间发生转换,则将按该时间内适用存储费率较高者收费。
  • 数据传输:在主实例和备用实例之间复制数据不会产生数据传输费用。传入和传出数据库实例的互联网数据传输费用与标准部署费用相同。
  • 除非另有说明,否则价格不包括适用的税费和关税(包括增值税和销售税)。

    硬件

    全部打开

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

    Timestream for InfluxDB IOPS Included Storage 是 SSD 型存储方案,旨在提供快速、可预测且一致的输入/输出性能。Timestream for InfluxDB IOPS Included Storage 提供了三个存储层供您选择:从小型工作负载到大规模高性能优化工作负载。您只需指定分配给适合您需求的存储层的卷大小。Timestream for InfluxDB IOPS Included Storage 针对输入/输出密集型、事务性(OLTP)数据库工作负载进行了优化。有关更多详细信息,请参阅适用于 InfluxDB 的 Timestream 用户指南

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

  • 高性能 OLTP 工作负载:Timestream for InfluxDB IOPS Included Storage。

  • 最大序列数量 写入(每秒数据点) 每秒查询次数 实例类型 存储层
    <100K ~50K ~5 db.influx.large InfluxDB I/O included 3K
    <1MM ~150K <25 db.influx.2xlarge InfluxDB I/O included 3K
    ~1MM ~200K ~25 db.influx.4xlarge InfluxDB I/O included 12K
    <10MM >250K ~35 db.influx.4xlarge InfluxDB I/O included 12K
    ~10MM ~500K ~50 db.influx.8xlarge InfluxDB I/O included 12K
    ~10MM <750K <100 db.influx.12xlarge InfluxDB I/O included 12K

     

    数据库配置

    全部打开

    默认情况下,适用于 InfluxDB 的 Timestream 会考虑实例类和存储容量,为数据库实例选择最优配置参数。但是,如果要进行更改,您可以使用 Amazon Web Services 管理控制台、Timestream for InfluxDB API 或 Amazon CLI 来更改。请注意,更改配置参数的建议值可能会产生意想不到的影响,包括性能下降甚至是系统崩溃,只有愿意承担这些风险的高级用户才能尝试。

    在发布时,我们将提供一组有限的参数供您修改,其中包括:flux-log-enabled、log-level、metrics-disable、no-tasks、query-concurrency、query-queue-size 和 tracing-type。此列表可能会根据客户需求日益扩充。

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

    但如果您希望数据库实例使用自定义的引擎配置值运行,则只需创建一个新的数据库参数组,修改所需的参数,然后修改数据库实例,即可使用新的数据库参数组。 

    多可用区部署

    全部打开

    创建或修改数据库实例并以多可用区部署模式运行时,适用于 InfluxDB 的 Timestream 将自动在不同的可用区预置和维护同步备用副本。对数据库实例的更新将跨可用区同步复制到备用实例,以保持同步,并保护您的数据库更新免受数据库实例故障的影响。 

    如果遇到特定类型的计划维护或很少出现的数据库实例故障或可用区故障,Timestream for InfluxDB 将自动故障转移到备用实例,以便在备用实例升级后立即恢复数据库读写。由于数据库实例的名称记录保持不变,因此您的应用程序可以恢复数据库操作,而无需手动管理干预。

    对于多可用区部署,复制是透明的。您无需与备用实例直接交互,也不能将其用于处理读取流量。

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

    以多可用区部署模式运行数据库实例时,主实例会处理数据库读写操作。此外,Timestream for InfluxDB 在后台预置和维护备用实例,它是主实例的最新副本。在故障转移情况下,备用实例会升级。故障转移后,备用实例将成为主实例,并接受数据库操作。在升级前的任何时间点,您都无需与备用实例直接交互(例如,进行读取操作)。

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

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

    例如,如果主实例中的存储卷发生故障,Timestream for InfluxDB 会自动故障转移到备用实例,其中所有数据库更新都完好无损。相对于单个可用区中的标准部署,这提供了额外的数据持久性,因为在单个可用区中,需要用户启动的还原操作,并且最晚可还原时间(通常在最后 5 分钟内)之后的更新将不可用。

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

    由于是代表您执行同步数据复制,您可能会发现,与单个可用区中的标准数据库实例部署相比延迟有所增加。

    不可以。多可用区备用实例无法处理读取请求。多可用区部署旨在提升数据库的可用性和持久性,而不是读取扩缩优势。因此,该功能在主副本和备用副本之间采用同步复制。我们的实施方案可确保主实例和备用实例始终保持同步,但不允许使用备用实例执行读取或写入操作。

    要创建多可用区数据库实例部署,只需在使用亚马逊云科技管理控制台启动数据库实例时,选择“为多可用区部署创建备用实例”选项。或者,如果您使用的是 Timestream for InfluxDB API,则需要调用 CreateDBInstance API 并将 Multi-AZ 参数设置为 True。

    目前,您无法将现有单可用区 Timestream for InfluxDB 数据库实例转换为多可用区实例。要实现此目标,唯一的方法是创建新的多可用区数据库实例,并将工作负载迁移到其中。

    适用于 InfluxDB 的 Timestream 可检测多可用区部署中最常见的故障场景并自动恢复,以便您可以尽快恢复数据库操作,而无需管理干预。如果发生以下任一情况,Timestream for InfluxDB 会自动执行故障转移:

  • 主可用区的可用性受损
  • 主可用区的网络连接受损
  • 主可用区的计算设备出现故障
  • 主可用区的存储出现故障
  • 请注意:适用于 InfluxDB 的 Timestream 多可用区部署不会自动进行失效转移来响应数据库操作,例如长时间运行查询、死锁或数据库损坏错误。

    适用于 InfluxDB 的 Timestream 会自动处理失效转移,以便尽快恢复数据库操作,而无需管理干预。发生故障转移时,Timestream for InfluxDB 将翻转数据库实例的规范名称(CNAME)记录以指向备用实例,该备用实例之后升级为新的主数据库。建议您遵循最佳做法,在应用程序层实施数据库连接重试。

    故障转移是由在主实例上检测到故障,到在备用实例上恢复事务之间的间隔定义的,通常在一两分钟内完成。故障转移时间还可能受到是否必须恢复大型未提交事务、索引大小以及其他因素的影响。为获得理想的结果,建议在多可用区中使用足够大的实例类型。我们还建议将 Timestream for InfluxDB IOPS Included Storage 与多可用区实例结合使用,以获得快速、可预测且一致的吞吐量性能。

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

    对于多可用区部署,只需将多可用区参数设置为 True。备用实例创建、同步复制和故障转移都是自动进行的。这意味着您无法选择部署备用实例的可用区或更改可用备用实例的数量(Timestream for InfluxDB 为每个主数据库实例预置了一个专用的备用实例)。您也无法将备用实例配置为接受数据库读取活动。

    可以。备用实例会自动预置在与数据库主实例所在区域的不同可用区中。

    能。您可以使用亚马逊云科技管理控制台或 GetDBInstance API 查看当前主实例的位置。

    可用区旨在为同一区域中的其他可用区提供低延迟网络连接。此外,您可能需要考虑以跨多个可用区的冗余架构应用程序及其他 Amazon Web Services 资源,以便在发生可用区故障时应用程序能够恢复。多可用区部署可满足数据库层的此项需求,而无需用户干预管理。

    免责声明

    Amazon Timestream 提供两种引擎,即 InfluxDB 和 LiveAnalytics,这两种引擎都在我们的产品页面和相关文档中进行了全面介绍。请注意:目前,由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域仅提供适用于 InfluxDB 的 Amazon Timestream。Amazon Timestream 产品页面和相关文档中与 LiveAnalytics 相关的所有内容均保留用于未来开发,此类内容不应视为 Amazon Timestream 当前服务内容的一部分,且不具有法律约束力。