在构建任何软件应用程序时,选择正确的数据库至关重要。所有数据库在性能方面都有不同的优势和劣势,因此,决定哪种数据库对于您的特定用例和数据模型具有最大的优势和最小的缺点是一个重要的决定。下面您将找到 OSI PI Data Historian 和 TimescaleDB 的关键概念、架构、功能、用例和定价模型的概述,以便您可以快速了解它们之间的比较。

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

OSI PI Data Historian 与 TimescaleDB 分解


 
数据库模型

时间序列数据库/数据 Historian

时间序列数据库

架构

OSIsoft PI System 是一套软件产品,专为工业环境中的实时数据收集、存储和时间序列数据分析而设计。PI System 围绕 PI Server 构建,PI Server 存储、处理数据并为客户端提供数据,并且可以部署在本地或云端。

TimescaleDB 构建在 PostgreSQL 之上,并继承了其架构。它通过时间序列特定的优化和功能扩展了 PostgreSQL,使其能够有效地管理时间序列数据。它可以作为单节点、多节点设置或云中的托管服务进行部署。

许可证

闭源

Timescale 许可证(适用于 TimescaleDB 社区版);Apache 2.0(适用于核心 PostgreSQL)

用例

工业数据管理、实时监控、资产健康跟踪、预测性维护、能源管理

监控、可观测性、物联网、实时分析、金融市场数据

可扩展性

通过分布式架构、数据复制和数据联邦支持水平扩展,用于大规模部署

通过对分区、复制和分片的本机支持进行水平扩展。提供多节点功能,用于在节点之间分配数据和查询。

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

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

OSI PI Data Historian 概述

OSI PI,也称为 OSIsoft PI System,是一个企业级数据管理和分析平台,专门设计用于处理来自工业过程、传感器和其他来源的时间序列数据。PI System 由 OSIsoft(于 2021 年被 AVEVA 收购)开发,自 20 世纪 80 年代推出以来,已广泛应用于能源、制造、公用事业和制药等各个行业。它提供实时收集、存储、分析和可视化大量时间序列数据的能力,使组织能够获得洞察力、优化流程并改进决策。

TimescaleDB 概述

TimescaleDB 是构建在 PostgreSQL 之上的开源时间序列数据库。它的创建是为了解决管理时间序列数据的挑战,例如可扩展性、查询性能和数据保留策略。TimescaleDB 于 2017 年首次发布,此后因其 PostgreSQL 兼容性、性能优化和灵活的数据保留策略而成为存储和分析时间序列数据的流行选择。


用于时间序列数据的 OSI PI Data Historian

OSI PI 是为存储时间序列数据而创建的,使其成为需要管理大量传感器和过程数据的组织的理想选择。其架构和组件经过优化,可高效、低延迟地收集、存储和分析时间序列数据。PI System 的可扩展性和性能使其成为处理工业过程、物联网设备或其他来源生成的大量数据的组织的合适解决方案。

用于时间序列数据的 TimescaleDB

TimescaleDB 专为时间序列数据而设计,使其成为存储和查询此类数据的自然选择。它为时间序列数据管理提供了几个优势,如水平可扩展性、列式存储和保留策略支持。但是,TimescaleDB 可能不是所有时间序列用例的最佳选择。一个示例是,如果应用程序需要非常高的写入吞吐量或实时分析,则其他专门的时间序列数据库(如 InfluxDB)可能更合适。


OSI PI Data Historian 关键概念

  • PI Server:PI System 的核心组件,负责数据收集、存储和管理。
  • PI 接口和 PI 连接器:从各种来源收集数据并将其发送到 PI Server 的软件组件。
  • PI Asset Framework:一个建模框架,允许用户创建资产及其相关元数据的分层结构,从而更容易理解和分析数据。
  • PI DataLink:Microsoft Excel 的一个加载项,使用户可以直接从 Excel 访问和分析 PI System 数据。
  • PI ProcessBook:一种可视化工具,用于创建 PI System 数据的交互式图形显示。

TimescaleDB 关键概念

  • Hypertable:Hypertable 是一个分布式表,按时间以及可能的其他维度(例如设备 ID 或位置)进行分区。它是 TimescaleDB 中存储时间序列数据的主要抽象,旨在跨多个节点水平扩展。
  • Chunk:Chunk 是 Hypertable 的一个分区,包含 Hypertable 数据的子集。Chunk 由 TimescaleDB 根据指定的时间间隔自动创建,并且可以单独压缩、索引和备份,以获得更好的性能和数据管理。
  • 分布式 Hypertable:对于大规模部署,TimescaleDB 支持分布式 Hypertable,它跨多个节点分区数据,以提高查询性能和容错能力。


OSI PI Data Historian 架构

OSI PI 是一个围绕 PI Server 构建的数据管理平台,PI Server 负责数据收集、存储和管理。PI System 使用高效的专有时间序列数据库来存储数据。PI 接口和 PI 连接器从各种来源收集数据并将其发送到 PI Server。PI Asset Framework (AF) 允许用户以分层结构对资产及其相关数据进行建模,从而更容易理解和分析数据。各种客户端工具(如 PI DataLink 和 PI ProcessBook)使用户能够访问和可视化存储在 PI System 中的数据。

TimescaleDB 架构

TimescaleDB 是构建在 PostgreSQL 上的扩展,继承了其关系数据模型和 SQL 支持。但是,TimescaleDB 使用自定义数据结构和针对时间序列数据的优化(如 Hypertable 和 Chunk)扩展了 PostgreSQL。

免费时间序列数据库指南

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

OSI PI Data Historian 功能

数据收集和存储

OSI PI 的 PI 接口和 PI 连接器能够从各种来源无缝收集数据,而 PI Server 可以高效地存储和管理数据。

可扩展性

PI System 具有高度可扩展性,使组织能够处理大量数据和不断增长的数据源,而不会影响性能。

资产建模

PI Asset Framework (AF) 提供了一种强大的方式来建模资产及其相关数据,从而更容易理解和分析复杂的工业过程。

数据可视化

PI DataLink 和 PI ProcessBook 等工具使用户能够分析和可视化存储在 PI System 中的数据,从而促进更好的决策和流程优化。

TimescaleDB 功能

分区

TimescaleDB 使用 Hypertable 和 Chunk 自动对时间序列数据表进行分区,这简化了数据管理并提高了查询性能。

面向时间序列的 SQL 函数

TimescaleDB 为时间序列数据应用场景提供了几个专门的 SQL 函数和运算符,例如 time_bucket、first 和 last,这些函数和运算符简化了时间序列数据的查询和聚合。

查询优化

如前所述,TimescaleDB 扩展了 PostgreSQL 的查询规划器,用于编写和查询时间序列数据,包括基于时间的索引和 Chunk 修剪等优化。


OSI PI Data Historian 用例

流程优化

OSI PI 可以通过提供来自传感器和其他来源的时间序列数据的实时洞察,帮助组织识别效率低下之处、监控性能并优化其工业流程。

预测性维护

通过分析历史数据并检测模式或异常,OSI PI 使组织能够实施预测性维护策略,从而减少设备停机时间和维护成本。

能源管理

OSI PI 可用于跟踪各种资产和流程的能源消耗,从而使组织能够确定需要改进的领域并实施节能措施。

TimescaleDB 用例

监控和指标

TimescaleDB 非常适合存储和分析监控和指标数据,例如服务器性能指标、应用程序日志和传感器数据。其 Hypertable 结构和查询优化使其易于存储、查询和可视化大量时间序列数据。

物联网数据存储

TimescaleDB 可用于存储和分析物联网数据,例如传感器读数和设备状态信息。其对自动分区和专用 SQL 接口的支持简化了大规模物联网数据集的管理和查询。

金融数据

TimescaleDB 适用于存储和分析金融数据,例如股票价格、汇率和交易量。其查询优化和专用 SQL 函数使其易于执行基于时间的聚合和分析金融数据中的趋势。


OSI PI Data Historian 定价模型

OSI PI 的定价通常基于多种因素的组合,例如数据源的数量、用户数量以及所需的支持级别。定价详情不公开提供,因为它们是根据组织的具体需求以报价形式提供的。

TimescaleDB 定价模型

TimescaleDB 有两个版本:TimescaleDB 开源版和 TimescaleDB Cloud。开源版可以免费使用并且可以自托管,而云版是托管服务,采用按需付费定价模式,具体取决于存储、计算和数据传输使用量。TimescaleDB Cloud 提供具有不同资源和功能级别(例如持续备份和高可用性)的各种定价层。