Transcript
Page 1: Базы данных для временных рядов

Базы данных временных рядов и средства

обработки

Дмитрий Намиот ВМК МГУ имени М.В. ЛомоносоваЛаборатория Открытых Информационных Технологий [email protected]

Москва 2015

Page 2: Базы данных для временных рядов

• Особенности представления и обработки временных рядов

• Временные ряды и реляционные базы данных

• Расширения SQL для работы с временными рядами

• NoSQL и временные ряды

Содержание

Page 3: Базы данных для временных рядов

Представление временных рядов

• Классическое определение – последовательность данных

• Характерные области: M2M, IoT

• Однородные данные

• INSERT (добавление данных) – как превалирующая операция

Page 4: Базы данных для временных рядов

Временные ряды - window• В большинстве случаев, обрабатывается

только фрагмент временного ряда (окно)

Page 5: Базы данных для временных рядов

Реляционная модель - простое представление

T A1 A2 A3 … … An

1 X NULL X NULL NULL NUL

2 X X NULL X X X

5 X X X X X NULL

7 NULL X X X X X

9 X X X X NULL NULL

Page 6: Базы данных для временных рядов

Реляционная модель – компактное представление

T MEASUREMENTS

1 { “A1”: VALUE1, “A3”:VALUE3 … }

5 { “A2”: VALUE2, “A3”:VALUE3 … }

7 { “A5”: VALUE5, “A6”:VALUE6, “A7”:VALUE7 … }

9 { “A1”: VALUE1, “A2”:VALUE2 … }

Page 7: Базы данных для временных рядов

Реляционная модель: data engine

Page 8: Базы данных для временных рядов

SQL – расширения: Vertica

SELECT item, slice_time, ts_first_value(price, 'const') price FROM ts_test WHERE price_time BETWEEN timestamp '2015-04-01 07:00' AND timestamp '2015-04-01 07:30' TIMESERIES slice_time AS '1 minute' OVER (PARTITION BY item ORDER BY price_time) ORDER BY item, slice_time, price;

Page 9: Базы данных для временных рядов

SQL расширения: window functions

SELECT id_sensor, name_sensor, temperature, avg(temperature) OVER (ORDER BY id_sensor ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)FROM temperature_table;

Page 10: Базы данных для временных рядов

NoSQL и временные ряды

Page 11: Базы данных для временных рядов

Cassandra

Page 12: Базы данных для временных рядов

SenML

<?xml version="1.0" encoding="UTF-8"?> <senml xmlns="urn:ietf:params:xml:ns:senml" bn="urn:dev:ow:10e2073a01080063" > <e n="voltage" t="0" v="120.1" u="V" /> <e n="current" t="0" v="1.2" u="A" /> </senml>

Page 13: Базы данных для временных рядов

Lambda Architecture

Page 14: Базы данных для временных рядов

Выбор модели

• Три V больших данных: Volume, Velocity, Variety

• Определяющий фактор для выбора механизма хранения временных рядов: Velocity


Recommended