IoT Storage Manager

Wikis > LinkSmart.net > IoT Storage Manager

The Storage Manager is a LinkSmart .net component that acts as an adapter for different storage technologies (primarily time series data). By using the Storage Manager your applications will be future-proof and you can easily change the underlying database technology. It provides support for the OPC SensorThings Data Model and API. The OGC SensorThings API provides an open and unified way to interconnect the Internet of Things devices, data, and applications over the Web. The OGC SensorThings API is an open standard, and that means it is non-proprietary, platform-independent, and perpetual royalty-free.

The Data model supported by the Storage Manager is shown below:

ogcthings

The Storage Manager consists of the following three main components:

Storage Adapter
Linksmart.NET does not specify or implement a specific storage technology. Instead, it provides a set of APIs to integrate different storage solutions depending on the application needs. Relational databases, document databases or graph stores, deployed locally or in the cloud, may be used. When the amount of time-series data – Observations – is very large, specialized databases like InfluxDb, KariosDB or OpenTSDB may be necessary. (Often, SQL Server or MongoDB is sufficient.)
 
Query API
A REST interface is used to query the Storage Manager. This follows the OGC SensorThings API Sensing Profile specification, a subset of OData v4. Some extensions exist to facilitate integration with other data store. The Query API is implemented using the Storage Adapter.
 
Receiver and Archiver
The Receiver and Archiver components listens to events from the messaging components and stores them using the Storage Adapter. Format and messaging protocol conversion is implemented by these components. Queueing of messages allows the system to adapt to bursts of events or temporarily busy storage. (Storing Observations by using HTTP POST is also possible, but this is usually not a feasible for high volumes of observation data.)