Choosing the right database is a critical choice when building any software application. All databases have different strengths and weaknesses when it comes to performance, so deciding which database has the most benefits and the most minor downsides for your specific use case and data model is an important decision. Below you will find an overview of the key concepts, architecture, features, use cases, and pricing models of M3 and OSI PI Data Historian so you can quickly see how they compare against each other.

The primary purpose of this article is to compare how M3 and OSI PI Data Historian perform for workloads involving time series data, not for all possible use cases. Time series data typically presents a unique challenge in terms of database performance. This is due to the high volume of data being written and the query patterns to access that data. This article doesn’t intend to make the case for which database is better; it simply provides an overview of each database so you can make an informed decision.

M3 vs OSI PI Data Historian Breakdown


 
Database Model

Time series database

Time series database/data historian

Architecture

The M3 stack can be deployed on-premises or in the cloud, using containerization technologies like Kubernetes or as a managed service on platforms like AWS or GCP

OSIsoft PI System is a suite of software products designed for real-time data collection, storage, and analysis of time series data in industrial environments. The PI System is built around the PI Server, which stores, processes, and serves data to clients, and it can be deployed on-premises or in the cloud.

License

Apache 2.0

Closed source

Use Cases

Monitoring, observability, IoT, Real-time analytics, large-scale metrics processing

Industrial data management, real-time monitoring, asset health tracking, predictive maintenance, energy management

Scalability

Horizontally scalable, designed for high availability and large-scale deployments

Supports horizontal scaling through distributed architecture, data replication, and data federation for large-scale deployments

M3 Overview

M3 is a distributed time series database written entirely in Go. It is designed to collect a high volume of monitoring time series data, distribute storage in a horizontally scalable manner, and efficiently leverage hardware resources. M3 was initially developed by Uber as a scalable remote storage backend for Prometheus and Graphite and later open-sourced for broader use.

OSI PI Data Historian Overview

OSI PI, also known as OSIsoft PI System, is an enterprise-level data management and analytics platform specifically designed for handling time series data from industrial processes, sensors, and other sources. Developed by OSIsoft (acquired by AVEVA in 2021), the PI System has been widely used in various industries such as energy, manufacturing, utilities, and pharmaceuticals since its introduction in the 1980s. It provides the ability to collect, store, analyze, and visualize large volumes of time series data in real-time, allowing organizations to gain insights, optimize processes, and improve decision-making.


M3 for Time Series Data

M3 is specifically designed for time-series data. It is a distributed and scalable time-series database optimized for handling large volumes of high-resolution data points, making it an ideal solution for storing, querying, and analyzing time-series data.

M3’s architecture focuses on providing fast and efficient querying capabilities, as well as high ingestion rates, which are essential for working with time-series data. Its horizontal scalability and high availability ensure that it can handle the demands of large-scale deployments and maintain performance as data volumes grow.

OSI PI Data Historian for Time Series Data

OSI PI was created for storing time series data, making it an ideal choice for organizations that need to manage large volumes of sensor and process data. Its architecture and components are optimized for collecting, storing, and analyzing time series data with high efficiency and minimal latency. The PI System’s scalability and performance make it a suitable solution for organizations dealing with vast amounts of data generated by industrial processes, IoT devices, or other sources.


M3 Key Concepts

  • Time Series Compression: M3 has the ability to compress time series data, resulting in significant memory and disk savings. It uses two compression algorithms, M3TSZ and protobuf encoding, to achieve efficient data compression.
  • Sharding: M3 uses virtual shards that are assigned to physical nodes. Timeseries keys are hashed to a fixed set of virtual shards, making horizontal scaling and node management seamless.
  • Consistency Levels: M3 provides variable consistency levels for read and write operations, as well as cluster connection operations. Write consistency levels include One (success of a single node), Majority (success of the majority of nodes), and All (success of all nodes). Read consistency level is One, which corresponds to reading from a single nod

OSI PI Data Historian Key Concepts

  • PI Server: The core component of the PI System, responsible for data collection, storage, and management.
  • PI Interfaces and PI Connectors: Software components that collect data from various sources and send it to the PI Server.
  • PI Asset Framework: A modeling framework that allows users to create a hierarchical structure of assets and their associated metadata, making it easier to understand and analyze data.
  • PI DataLink: An add-in for Microsoft Excel that enables users to access and analyze PI System data directly from Excel.
  • PI ProcessBook: A visualization tool for creating interactive, graphical displays of PI System data.


M3 Architecture

M3 is designed to be horizontally scalable and handle high data throughput. It uses fileset files as the primary unit of long-term storage, storing compressed streams of time series values. These files are flushed to disk after a block time window becomes unreachable. M3 has a commit log, equivalent to the commit log or write-ahead-log in other databases, which ensures data integrity. Client Peer streaming is responsible for fetching blocks from peers for bootstrapping purposes. M3 also implements caching policies to optimize efficient reads by determining which flushed blocks are kept in memory.

OSI PI Data Historian Architecture

OSI PI is a data management platform built around the PI Server, which is responsible for data collection, storage, and management. The PI System uses a highly efficient, proprietary time series database to store data. PI Interfaces and PI Connectors collect data from various sources and send it to the PI Server. The PI Asset Framework (AF) allows users to model their assets and their associated data in a hierarchical structure, making it easier to understand and analyze the data. Various client tools, such as PI DataLink and PI ProcessBook, enable users to access and visualize data stored in the PI System.

Free Time-Series Database Guide

Get a comprehensive review of alternatives and critical requirements for selecting yours.

M3 Features

Commit Log

M3 uses a commit log to ensure data integrity, providing durability for write operations.

Peer Streaming

M3’s client peer streaming fetches data blocks from peers for bootstrapping purposes, optimizing data retrieval and distribution.

Caching Mechanisms

M3 implements various caching policies to efficiently manage memory usage, keeping frequently accessed data blocks in memory for faster reads.

OSI PI Data Historian Features

Data collection and storage

OSI PI’s PI Interfaces and PI Connectors enable seamless data collection from a wide variety of sources, while the PI Server efficiently stores and manages the data.

Scalability

The PI System is highly scalable, allowing organizations to handle large volumes of data and a growing number of data sources without compromising performance.

Asset nodeling

The PI Asset Framework (AF) provides a powerful way to model assets and their associated data, making it easier to understand and analyze complex industrial processes.

Data visualization

Tools like PI DataLink and PI ProcessBook enable users to analyze and visualize data stored in the PI System, facilitating better decision-making and process optimization.


M3 Use Cases

Monitoring and Observability

M3 is particularly suitable for large-scale monitoring and observability tasks, as it can store and manage massive volumes of time-series data generated by infrastructure, applications, and microservices. Organizations can use M3 to analyze, visualize, and detect anomalies in the metrics collected from various sources, enabling them to identify potential issues and optimize their systems.

IoT and Sensor Data

M3 can be used to store and process the vast amounts of time-series data generated by IoT devices and sensors. By handling data from millions of devices and sensors, M3 can provide organizations with valuable insights into the performance, usage patterns, and potential issues of their connected devices. This information can be used for optimization, predictive maintenance, and improving the overall efficiency of IoT systems.

Financial Data Analysis

Financial organizations can use M3 to store and analyze time-series data related to stocks, bonds, commodities, and other financial instruments. By providing fast and efficient querying capabilities, M3 can help analysts and traders make more informed decisions based on historical trends, current market conditions, and potential future developments.

OSI PI Data Historian Use Cases

Process optimization

OSI PI can help organizations identify inefficiencies, monitor performance, and optimize their industrial processes by providing real-time insights into time series data from sensors and other sources.

Predictive maintenance

By analyzing historical data and detecting patterns or anomalies, OSI PI enables organizations to implement predictive maintenance strategies, reducing equipment downtime and maintenance costs.

Energy management

OSI PI can be used to track energy consumption across various assets and processes, allowing organizations to identify areas for improvement and implement energy-saving measures.


M3 Pricing Model

M3 is an open source database and can be used freely, although you will have to account for the cost of managing your infrastructure and the hardware used to run M3. Chronosphere is the co-maintainer of M3 along with Uber and also offers a hosted observability that uses M3 as the backend storage layer.

OSI PI Data Historian Pricing Model

Pricing for OSI PI is typically based on a combination of factors such as the number of data sources, the number of users, and the level of support required. Pricing details are not publicly available, as they are provided on a quote basis depending on the specific needs of the organization.

Get started with InfluxDB for free

InfluxDB Cloud is the fastest way to start storing and analyzing your time series data.