GridProtectionAlliance / openPDC

Licence: MIT license
Open Source Phasor Data Concentrator

Programming Languages

C#
18002 projects
TSQL
950 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
PLSQL
303 projects
Rich Text Format
576 projects

Projects that are alternatives of or similar to openPDC

Gsf
Grid Solutions Framework
Stars: ✭ 106 (-2.75%)
Mutual labels:  time-series, stream-processing, streaming-data
Wally
Distributed Stream Processing
Stars: ✭ 1,461 (+1240.37%)
Mutual labels:  stream-processing, stream-processing-engine
Awesome Bigdata
A curated list of awesome big data frameworks, ressources and other awesomeness.
Stars: ✭ 10,478 (+9512.84%)
Mutual labels:  stream-processing, streaming-data
talaria
TalariaDB is a distributed, highly available, and low latency time-series database for Presto
Stars: ✭ 148 (+35.78%)
Mutual labels:  time-series, stream-processing
Go Streams
A lightweight stream processing library for Go
Stars: ✭ 615 (+464.22%)
Mutual labels:  stream-processing, streaming-data
Saber
Window-Based Hybrid CPU/GPU Stream Processing Engine
Stars: ✭ 35 (-67.89%)
Mutual labels:  stream-processing, streaming-data
Kafka Streams In Action
Source code for the Kafka Streams in Action Book
Stars: ✭ 167 (+53.21%)
Mutual labels:  stream-processing, streaming-data
godsend
A simple and eloquent workflow for streaming messages to micro-services.
Stars: ✭ 15 (-86.24%)
Mutual labels:  stream-processing, streaming-data
Pipelinedb
High-performance time-series aggregation for PostgreSQL
Stars: ✭ 2,447 (+2144.95%)
Mutual labels:  time-series, stream-processing
the-apache-ignite-book
All code samples, scripts and more in-depth examples for The Apache Ignite Book. Include Apache Ignite 2.6 or above
Stars: ✭ 65 (-40.37%)
Mutual labels:  hadoop, streaming-data
Awesome Kafka
A list about Apache Kafka
Stars: ✭ 397 (+264.22%)
Mutual labels:  stream-processing, streaming-data
frizzle
The magic message bus
Stars: ✭ 14 (-87.16%)
Mutual labels:  stream-processing, streaming-data
Benthos
Fancy stream processing made operationally mundane
Stars: ✭ 3,705 (+3299.08%)
Mutual labels:  stream-processing, streaming-data
Machine
Machine is a workflow/pipeline library for processing data
Stars: ✭ 78 (-28.44%)
Mutual labels:  stream-processing, streaming-data
EsperIoT
Small and simple stream-based CEP tool for IoT devices connected to an MQTT broker
Stars: ✭ 18 (-83.49%)
Mutual labels:  stream-processing, complex-event-processing
Real Time Sentiment Tracking On Twitter For Brand Improvement And Trend Recognition
A real-time interactive web app based on data pipelines using streaming Twitter data, automated sentiment analysis, and MySQL&PostgreSQL database (Deployed on Heroku)
Stars: ✭ 127 (+16.51%)
Mutual labels:  stream-processing, streaming-data
gostream
Stream Processing Library for Go
Stars: ✭ 51 (-53.21%)
Mutual labels:  stream-processing, complex-event-processing
awesome-bigdata
A curated list of awesome big data frameworks, ressources and other awesomeness.
Stars: ✭ 11,093 (+10077.06%)
Mutual labels:  stream-processing, streaming-data
Nsdb
Natural Series Database
Stars: ✭ 49 (-55.05%)
Mutual labels:  time-series, streaming-data
Atsd
Axibase Time Series Database Documentation
Stars: ✭ 68 (-37.61%)
Mutual labels:  hadoop, time-series

Round LogoopenPDC

Open Source Phasor Data Concentrator

The openPDC administered by the Grid Protection Alliance (GPA) is a complete Phasor Data Concentrator software system designed to process streaming time-series data in real-time. Measured data gathered with GPS-time from many hundreds of input sources is time-sorted and provided to user defined actions as well as to custom outputs for archival.

Overview

A phasor data concentrator is designed to receive streaming synchrophasor data from phasor measurement units (PMUs) installed on power transmission lines and align this data by GPS time-tag (i.e., it "concentrates" the data based on time). The output of a PDC is a time-synchronized dataset that is forwarded on one or more software applications. For more information on the functional requirements of a PDC see: Phasor Data Concentrator Requirements

The openPDC is much more than just a data concentrator, it is a flexible platform for processing high-speed time-series data that can adapt with changing technology to provide a future-proof phasor data architecture. The openPDC can be used to distribute data (both real-time and historical) to consuming applications and can be installed anywhere within the synchrophasor infrastructure, even on fanless computers that run in a substation environment.

Although the primary purpose of the openPDC is concentration and management of real-time streaming synchrophasors, by having its functionality based on GPA's Time-Series Library the openPDC inherits a modular design that allows it to be classified as a generic event stream processor:

openPDC Flow Diagram

Features

The openPDC implements a number of standard phasor protocols which can be used to receive data from devices. The supported protocols include IEEE C37.118, IEC 61850-90-5, IEEE 1344, BPA PDCstream, F-NET, SEL Fast Message, and Macrodyne among others.

Using the Time-Series Library, the openPDC can be configured to archive to any historian system, however, the system also includes an available built-in historian, the openHistorian, for data archival. The local historian comes with a visualization and extraction tool, a high-speed local API and web services, all of which can be used to extract and monitor the data being archived in real-time. The files produced by the historian can also be analyzed using Hadoop.

With version 2.1 or later, the openPDC can be deployed in POSIX environments as well as on Windows.

Other features include:

  • Lossless phasor data transformation and replication with the ability to create a configurable number of output streams
  • Extensive performance statistic history such as average latency, data quality and time code errors
  • Generic configuration database with support for Microsoft SQL Server and Oracle as well as free alternatives such as MySQL and SQLite
  • Distributed multi-node architecture supported for high availability and throughput
  • Provided output adapters for multiple historians including the openHistorian, OSI-PI Historian and Hadoop.
  • Automated data availability reporting

Documentation and Support

Deployment

Requirements

  • .NET 4.6 or higher.
  • 64-bit Windows 7 or newer or POSIX OS, e.g. Linux or Mac.
  • Database management system such as:
    • SQL Server (Express version is fine)
    • MySQL
    • Oracle
    • PostgreSQL
    • SQLite (included, no extra install required - not recommended for large deployments)

Downloads

  • Download the latest stable release here.
  • Older releases are also available here.
  • Download the nightly build here.

Contributing

If you would like to contribute please:

  • Read our styleguide.
  • Fork the repository.
  • Code like a boss.
  • Create a pull request.

License

openPDC is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].