Skip to content
This repository has been archived by the owner on Apr 4, 2023. It is now read-only.

Component Diagram

Shreekantha Devasya edited this page Feb 4, 2021 · 2 revisions

The relationship between components of Historical Datastore (HDS) is illustrated in the diagram below:

Core

The core component is a client setting up Historical Datastore and its APIs. The configuration is obtained from the Configuration Loader and is used to initialize required APIs, the OAuth Client, and to register the service in one or more Service Catalog. This component also takes care of the graceful shutdown of all components and service de-registration.

Registry

Registry is a set of components allowing registration and retrieval of datastream information. The information includes meta data about a sensor as well as the configuration and means to access the historical data of that sensor. The API exposes RESTful endpoints to interface with an underlying storage backend. The storage backend can be any storage system providing the required interface to the API component. Data Storage and Aggregation Storage components will be notified of any changes to datastreams in order to take necessary actions (e.g. creating database tables).

Data

Data provides an interface to store and access historical data. The API exposes endpoints to store and retrieve raw data points. The default API is RESTful, supporting SenML media type. The API and media types are extensible. The storage backend can be any scalable storage system providing the required interface. The storage keeps data for a specific period of time set during the datastream registration. It also receives and handles notifications from the Registry API about changes to datastream and performs necessary actions to accept incoming data points from every source. Aggregation Storage will be notified of any successful data point submission to the Data API. This type of notification does not apply to storage backends that support built-in automated aggregation.

Configuration Loader

This component loads a JSON file containing configuration of Historical Datastore and its APIs. These configurations can be overriden by the environmental variables. Upon startup, the component loads the configuration object and provides an interface for structured retrieval of the attributes.

HDS Sync

This component is responsible to synchronize the data between two instances of HDS. This component is still under development

DNS Registrator

This component is responsible for registering DNS-SD instance for HDS

Clone this wiki locally