Store is a driver used for interacting with a database in write mode. The drivers are designed so as to allow working with both databases located in local area networks and databases located in cloud services.
The current version of the server includes a set of drivers for:
- InfluxDB Line Protocol
- MongoDB Driver
- PostgreSQL (TimescaleDB)
Currently, all types of drivers supported by the server work as follows:
- Step 1. Accumulating data in the driver during a certain period of time
- Step 2. Generating a packet for writing into the database. At this step, the data is “fitted” into a packet of a certain size. For example, simultaneous data writing is performed for no more than 50 time series, where each time series is represented by no more than 200 samples
- Step 3. Preparing the database for writing, e.g. executing a query such as “CREATE DATABASE tsdata”
- Step 4. Writing the data into the store and going to step 1
In case database preparation or data writing fails, the driver continues to accumulate data until the size of the data buffer exceeds a certain value. When the buffer overflows, older data is replaced by newer ones (cyclic queue).
All operations related to data accumulation, packet writing, etc. are performed by the driver automatically without any user intervention.
To improve the data writing performance, you can create several drivers to connect to the same database. In this case, writing is performed asynchronously.