Data Storage



Database Time Storage

Dariadb
НОУ ИНТУИТ | Лекция | Обработка и хранение информации

It's been over a year since I've had my hobby-project, where I'm developing a database for the storage of time series, dariadb. The challenge is quite interesting, there are complex algorithms, and the area for me is quite new. In a year, the move was made, a small server for him and a client. It's all on C++. And if the server client is still in a fairly raw state, the movement has already gained some stability. The task of retaining time series is fairly widespread where there are any measurements (from SCADA to server monitoring).

In order to achieve this, there are a number of different degrees of penetration:

The main objective of dariadb was to create a solution that could be (such as SQLite) incorporated in its annex and transferred to it the storage, processing and analysis of time series. Measurements are currently being accepted, stored and processed. The project is still a research project, so it is not suitable for use in sales. In any case, for now:

Time series of measurements

The time series of measurements is the sequence of four {Time, Value, Id, Flag} where

  • Time, time of measurement (8 Byte)
  • Value, self-measure (8 Byte)
  • Id, temporary identifier (4 bayta)
  • Flag, flag measured (4 baths)

The flag is only used on reading. There's a special flag "no data"_NO_DATA = 0xffffffffffffff) which is for values which are or are not entirely or do not satisfy the filter. If the request for a flag is not 0 (zero), the logical and if the response is equal to the filter, the measurement shall be carried out for each measurement that is appropriate at the time of the request. The value is coming in order to increase the time mark (but it is not necessarily necessary, sometimes the meaning of “in the past” should be recorded), they must be able to make a cut and request intervals.

Read the cut.

Cutting the time-seat value for the time-frame T is the value that exists at the time T or the left of that time. We always return to the left nearest, but only if we have a flag. If there is no value or flag is not appropriate, no data.

Related posts:

  1. Database System
  2. Data Storage
  3. Domestic Data Storage
  4. Php Data Storage
  5. Database Storage