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 data source registration. It also receives and handles notifications from the Registry API about changes to data sources 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.
Aggregation is tightly coupled with the Data component generating aggregated data points given raw data. Data aggregation is done automatically when data points are submitted via the Data API. This is done via a notification mechanism between Data and Aggregation components or via their underlying storage systems. The configuration for the aggregation, including the aggregate types, retention policy, and intervals are set as part of the data source registration via Registry API. Aggregation Storage is notified about any changes to the registration. Aggregation API exposes an endpoint for retrieval of aggregated data points. By default, the endpoint is RESTful with SenML media type.This component is currently removed from the datastore
This component requires a JSON file containing configuration of Historical Datastore and its APIs. Upon startup, the component loads the configuration object and provides an interface for structured retrieval of the attributes.