一般性问题
全部打开例如,DevOps 工程师可能希望查看测量基础设施性能指标变化的数据,制造商可能希望跟踪测量整个设施内设备温度变化的物联网传感器数据,网络营销人员可能希望分析捕捉用户如何随时间的推移浏览网站的点击流数据。由于时间序列数据是从多个来源生成的,数量极多,因此需要以经济高效的方式对其进行近乎实时的存储和分析,以获得关键的业务见解。
简介
全部打开要从自行管理的 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 API 或 Amazon CLI,您可以轻松创建数据库实例。要使用 Amazon Web Services 管理控制台启动数据库实例,请选择 InfluxDB 数据库,然后选择控制面板上的“创建 InfluxDB 数据库”按钮。您可以在其中指定数据库实例的参数,包括实例类型、存储类型和数量、主用户凭证等。
此外,您还可以使用 CreateDBInstance API 或 create-db-instance 命令创建数据库实例。
计费
全部打开如果您指定数据库实例为多可用区部署,系统将根据适用于 InfluxDB 的 Timestream 定价页面上发布的多可用区定价进行计费。多可用区按如下方式计费:
硬件
全部打开选择最适合工作负载的存储类型。
| 最大序列数量 | 写入(每秒数据点) | 每秒查询次数 | 实例类型 | 存储层 |
| <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 会自动故障转移到备用实例,其中所有数据库更新都完好无损。相对于单个可用区中的标准部署,这提供了额外的数据持久性,因为在单个可用区中,需要用户启动的还原操作,并且最晚可还原时间(通常在最后 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 与多可用区实例结合使用,以获得快速、可预测且一致的吞吐量性能。
免责声明
Amazon Timestream 提供两种引擎,即 InfluxDB 和 LiveAnalytics,这两种引擎都在我们的产品页面和相关文档中进行了全面介绍。请注意:目前,由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域仅提供适用于 InfluxDB 的 Amazon Timestream。Amazon Timestream 产品页面和相关文档中与 LiveAnalytics 相关的所有内容均保留用于未来开发,此类内容不应视为 Amazon Timestream 当前服务内容的一部分,且不具有法律约束力。