Cygnus is a connector in charge of persisting context data sources into other third-party databases and storage systems, creating a historical view of the context. Internally, Cygnus is based on Apache Flume, Flume is a data flow system based on the concepts of flow-based programming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic. It was built to automate the flow of data between systems. While the term 'dataflow' can be used in a variety of contexts, we use it here to mean the automated and managed flow of information between systems.
Each data persistence agent within Cygnus is composed of three parts - a listener or source in charge of receiving the data, a channel where the source puts the data once it has been transformed into a Flume event, and a sink, which takes Flume events from the channel in order to persist the data within its body into a third-party storage.
This project is part of FIWARE. For more information check the FIWARE Catalogue entry for the Core Context Management.
:books: Documentation | :mortar_board: Academy | quay.io | :whale: Docker Hub | :dart: Roadmap |
---|
Internally, Cygnus is based on Apache Flume, a technology addressing the design and execution of data collection and persistence agents. An agent is basically composed of a listener or source in charge of receiving the data, a channel where the source puts the data once it has been transformed into a Flume event, and a sink, which takes Flume events from the channel in order to persist the data within its body into a third-party storage.
Cygnus is designed to run a specific Flume agent per source of data.
Current stable release is able to persist the following sources of data in the following third-party storages:
IMPORTANT NOTE: for the time being, cygnus-ngsi
, cygnus-twitter
and cygnus-ngsi-ld
agents cannot be installed in the same base path, because of an incompatibility with the required version of the httpclient
library. Of course, if you are going to use just one of the agents, there is no problem at all.
cygnus-ngsi:
cygus-twitter :
cygus-ngsi-ld :
Cygnus (more specifically, cygnus-ngsi agent) plays the role of a connector between Orion Context Broker (which is a NGSI source of data) and many FIWARE storages such as CKAN, Cosmos Big Data (Hadoop) and STH Comet. Of course, as previously said, you may add MySQL, Kafka, Carto, etc as other non FIWARE storages to the FIWARE architecture.
Fiware/Cygnus has four sub-modules cygnus-common, cygnus-ngsi and cygnus-twitter, cygnus-ngsi-ld. Information about how to install these modules can be found at the corresponding section of Installation.
Following are the links of install section of Fiware/Cygnus sub-modules:
cygnus-common:
cygnus-ngsi:
cygnus-twitter:
cygnus-ngsi-ld:
The roadmap of this FIWARE GE is described here.
The per agent Quick Start Guide found at readthedocs.org provides a good documentation summary (cygnus-ngsi, cygnus-twitter).
Nevertheless, both the Installation and Administration Guide and the User and Programmer Guide for each agent also found at readthedocs.org cover more advanced topics.
The per agent Flume Extensions Catalogue completes the available documentation for Cygnus (cygnus-ngsi, cygnus-twitter).
Other interesting links are:
Any doubt you may have, please refer to the Cygnus Core Team.
Cygnus is licensed under Affero General Public License (GPL) version 3. You can find a copy of this license in the repository.
© 2023 Telefonica Investigación y Desarrollo, S.A.U