在构建任何软件应用程序时,选择合适的数据库至关重要。所有数据库在性能方面都有不同的优势和劣势,因此,为您的特定用例和数据模型决定哪个数据库的优势最多,缺点最少是一项重要的决策。下面您将找到 Amazon Timestream for LiveAnalytics 和 M3 的关键概念、架构、功能、用例和定价模型的概述,以便您可以快速了解它们之间的比较。

本文的主要目的是比较 Amazon Timestream for LiveAnalytics 和 M3 在涉及时间序列数据的工作负载方面的性能,而不是针对所有可能的用例。时间序列数据通常在数据库性能方面提出了独特的挑战。这是因为正在写入大量数据以及访问该数据的查询模式。本文并非旨在说明哪个数据库更好;它只是提供了每个数据库的概述,以便您可以做出明智的决定。

Amazon Timestream for LiveAnalytics 与 M3 分解


 
数据库模型

时间序列数据库

时间序列数据库

架构

Timestream 是一种完全托管的无服务器时间序列数据库服务,仅在 AWS 上可用。

M3 堆栈可以部署在本地或云端,使用 Kubernetes 等容器化技术,或作为 AWS 或 GCP 等平台上的托管服务

许可证

闭源

Apache 2.0

用例

物联网、DevOps、时间序列分析

监控、可观测性、物联网、实时分析、大规模指标处理

可扩展性

无服务器且自动可扩展,无需人工干预即可处理摄取、存储和查询工作负载

水平可扩展,专为高可用性和大规模部署而设计

正在寻找最有效率的入门方式?

无论您是在寻求节省成本、降低管理开销还是开源,InfluxDB 都能为您提供帮助。

Amazon Timestream for LiveAnalytics 概述

Timestream for LiveAnalytics 是 AWS 开发的完全托管的无服务器时间序列数据库服务。Amazon Timestream for LiveAnalytics 于 2020 年推出,专为处理时间序列数据而设计,使其成为需要高摄取率、高效存储和快速查询功能的物联网、监控和分析应用程序的理想选择。作为 AWS 生态系统的一部分,Timestream for LiveAnalytics 可以轻松地与其他 AWS 服务集成,从而简化了在云中构建和部署时间序列应用程序的过程。AWS 还提供 Timestream for InfluxDB,它是 InfluxDB 的托管版本,与 InfluxDB 2.x API 兼容,并且与 InfluxData 合作发布

M3 概述

M3 是一个完全用 Go 编写的分布式时间序列数据库。它旨在收集大量监控时间序列数据,以水平可扩展的方式分配存储,并有效利用硬件资源。M3 最初由 Uber 开发,作为 Prometheus 和 Graphite 的可扩展远程存储后端,后来开源供更广泛使用。


Amazon Timestream for LiveAnalytics 用于时间序列数据

Amazon Timestream for LiveAnalytics 专为处理时间序列数据而设计,使其成为需要高摄取率和高效存储的各种应用程序的合适选择。其双层存储架构,包括内存存储和磁盘存储,允许用户根据数据年龄和访问模式管理数据保留并优化存储成本。此外,Timestream 支持类似 SQL 的查询,并与流行的分析工具集成,使用户可以轻松地从其时间序列数据中获得见解。

M3 用于时间序列数据

M3 专为时间序列数据而设计。它是一个分布式且可扩展的时间序列数据库,经过优化,可处理大量高分辨率数据点,使其成为存储、查询和分析时间序列数据的理想解决方案。

M3 的架构侧重于提供快速高效的查询功能以及高摄取率,这对于处理时间序列数据至关重要。其水平可扩展性和高可用性确保它可以满足大规模部署的需求,并在数据量增长时保持性能。


Amazon Timestream for LiveAnalytics 关键概念

  • 内存存储:在 Amazon Timestream for LiveAnalytics 中,内存存储是一个组件,用于在内存中存储最近的、可变的时间序列数据,以便快速查询和分析。
  • 磁盘存储:Amazon Timestream for LiveAnalytics 中的磁盘存储负责在磁盘上存储历史的、不可变的时间序列数据,以实现经济高效的长期存储。
  • 生存时间 (TTL):Amazon Timestream for LiveAnalytics 允许用户在其时间序列数据上设置 TTL,这决定了数据在内存存储中保留多长时间,然后移动到磁盘存储或删除。

M3 关键概念

  • 时间序列压缩:M3 具有压缩时间序列数据的能力,从而显着节省内存和磁盘空间。它使用 M3TSZ 和 protobuf 编码两种压缩算法来实现高效的数据压缩。
  • 分片:M3 使用分配给物理节点的虚拟分片。时间序列键被哈希到一组固定的虚拟分片,从而实现水平扩展和节点管理的无缝衔接。
  • 一致性级别:M3 为读取和写入操作以及集群连接操作提供可变的一致性级别。写入一致性级别包括 One(单个节点成功)、Majority(大多数节点成功)和 All(所有节点成功)。读取一致性级别为 One,这对应于从单个节点读取


Amazon Timestream for LiveAnalytics 架构

Amazon Timestream for LiveAnalytics 构建在无服务器分布式架构之上,该架构支持类似 SQL 的查询功能。其数据模型专为时间序列数据量身定制,使用带时间戳的记录和灵活的架构,可以适应不同的数据粒度和维度。Timestream 架构的核心组件包括内存存储和磁盘存储,它们共同管理数据保留、存储和查询。内存存储针对最近数据的快速查询进行了优化,而磁盘存储则为历史数据提供了经济高效的长期存储。

M3 架构

M3 旨在实现水平可扩展性并处理高数据吞吐量。它使用 fileset 文件作为长期存储的主要单元,存储压缩的时间序列值流。在块时间窗口变得不可访问后,这些文件将被刷新到磁盘。M3 具有提交日志,相当于其他数据库中的提交日志或预写日志,这确保了数据完整性。客户端对等流负责从对等方获取块以进行引导。M3 还实施缓存策略,通过确定哪些刷新块保留在内存中来优化高效读取。

免费时间序列数据库指南

获取对备选方案和选择数据库的关键要求的全面审查。

Amazon Timestream for LiveAnalytics 功能

无服务器架构

Amazon Timestream for LiveAnalytics 无服务器架构消除了用户管理或配置基础设施的需求,从而易于扩展并减少了运营开销。

双层存储

Timestream 的双层存储架构,包括内存存储和磁盘存储,可根据数据年龄和访问模式自动管理数据保留并优化存储成本。

类似 SQL 的查询

Amazon Timestream for LiveAnalytics 支持类似 SQL 的查询,并与流行的分析工具集成,使用户可以轻松地从其时间序列数据中获得见解。

Timestream for InfluxDB

对于需要亚毫秒级延迟的近实时查询的工作负载,AWS 建议使用 Timestream for InfluxDB 而不是 LiveAnalytics。Timestream for InfluxDB 还为希望使用 AWS 托管服务而无需更新其代码的用户提供与 InfluxDB API 的兼容性。

M3 功能

提交日志

M3 使用提交日志来确保数据完整性,为写入操作提供持久性。

对等流

M3 的客户端对等流从对等方获取数据块以进行引导,从而优化数据检索和分发。

缓存机制

M3 实施各种缓存策略以有效管理内存使用,将频繁访问的数据块保留在内存中以加快读取速度。


Amazon Timestream for LiveAnalytics 用例

物联网应用

Amazon Timestream for LiveAnalytic 对高摄取率和高效存储的支持使其成为监控和分析来自物联网设备(如传感器和智能家电)的数据的理想选择。

DevOps

LiveAnalytics 可用于通用 DevOps 工作负载,如监控应用程序健康状况和利用率。对于需要尽可能最低延迟的实时监控的用例,AWS 建议使用 Timestream for InfluxDB。

分析

Amazon Timestream for LiveAnalytics 可用于跟踪分析数据,如 Web 和应用程序数据。然后,内置的时间序列分析功能可用于聚合和分析数据,以获得有价值的见解,从而提高开发人员的生产力。

M3 用例

监控和可观测性

M3 特别适用于大规模监控和可观测性任务,因为它可以存储和管理基础设施、应用程序和微服务生成的大量时间序列数据。组织可以使用 M3 来分析、可视化和检测从各种来源收集的指标中的异常,从而使他们能够识别潜在问题并优化其系统。

物联网和传感器数据

M3 可用于存储和处理物联网设备和传感器生成的大量时间序列数据。通过处理来自数百万个设备和传感器的数据,M3 可以为组织提供有关其连接设备的性能、使用模式和潜在问题的宝贵见解。此信息可用于优化、预测性维护和提高物联网系统的整体效率。

金融数据分析

金融组织可以使用 M3 来存储和分析与股票、债券、商品和其他金融工具相关的时间序列数据。通过提供快速高效的查询功能,M3 可以帮助分析师和交易员根据历史趋势、当前市场状况和潜在的未来发展做出更明智的决策。


Amazon Timestream for LiveAnalytics 定价模型

Amazon Timestream for LiveAnalytics 提供基于数据摄取、存储和查询执行的按需付费定价模型。摄取成本由摄取到 Timestream 中的数据量决定,而存储成本基于内存存储和磁盘存储中存储的数据量。查询执行成本根据查询执行期间扫描和处理的数据量计算。Timestream 还为用户提供免费套餐,以探索该服务并构建概念验证应用程序,而无需产生任何费用。

M3 定价模型

M3 是一个开源数据库,可以免费使用,但您必须考虑管理基础设施和用于运行 M3 的硬件成本。Chronosphere 是 M3 与 Uber 的共同维护者,并且还提供以 M3 作为后端存储层的托管可观测性服务。