SlideShare uma empresa Scribd logo
1 de 14
Базы данных временных
рядов и средства
обработки
Дмитрий Намиот ВМК МГУ имени М.В. Ломоносова
Лаборатория Открытых
Информационных
Технологий
dnamiot@gmail.com
Москва 2015
• Особенности представления и обработки
временных рядов
• Временные ряды и реляционные базы
данных
• Расширения SQL для работы с
временными рядами
• NoSQL и временные ряды
Содержание
Представление временных рядов
• Классическое определение –
последовательность данных
• Характерные области: M2M, IoT
• Однородные данные
• INSERT (добавление данных) – как
превалирующая операция
Временные ряды - window
• В большинстве случаев, обрабатывается
только фрагмент временного ряда (окно)
Реляционная модель - простое
представление
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
Реляционная модель – компактное
представление
T MEASUREMENTS
1 { “A1”: VALUE1, “A3”:VALUE3 … }
5 { “A2”: VALUE2, “A3”:VALUE3 … }
7 { “A5”: VALUE5, “A6”:VALUE6, “A7”:VALUE7 … }
9 { “A1”: VALUE1, “A2”:VALUE2 … }
Реляционная модель: data engine
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;
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;
NoSQL и временные ряды
Cassandra
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>
Lambda Architecture
Выбор модели
• Три V больших данных: Volume, Velocity,
Variety
• Определяющий фактор для выбора
механизма хранения временных рядов:
Velocity

Mais conteúdo relacionado

Mais de Coldbeans Software

Mais de Coldbeans Software (20)

On Internet of Things education
On Internet of Things educationOn Internet of Things education
On Internet of Things education
 
Стандарты в цифровой экономике
Стандарты в цифровой экономикеСтандарты в цифровой экономике
Стандарты в цифровой экономике
 
On Internet of Things programming models
On Internet of Things programming modelsOn Internet of Things programming models
On Internet of Things programming models
 
IoT education
IoT educationIoT education
IoT education
 
On Crowd-sensing back-end
On Crowd-sensing back-endOn Crowd-sensing back-end
On Crowd-sensing back-end
 
On Physical Web models
On Physical Web modelsOn Physical Web models
On Physical Web models
 
Безопасный город
Безопасный городБезопасный город
Безопасный город
 
Twitter as a Transport Layer Platform
Twitter as a Transport Layer Platform Twitter as a Transport Layer Platform
Twitter as a Transport Layer Platform
 
On hyper-local web pages
On hyper-local web pagesOn hyper-local web pages
On hyper-local web pages
 
On data model for context–aware services
On data model for context–aware servicesOn data model for context–aware services
On data model for context–aware services
 
On time-series databases
On time-series databasesOn time-series databases
On time-series databases
 
On Web-based Domain-Specific Language for Internet of Things
On Web-based Domain-Specific Language for Internet of ThingsOn Web-based Domain-Specific Language for Internet of Things
On Web-based Domain-Specific Language for Internet of Things
 
ON THE SYNERGY OF CIRCUITS AND PACKETS
ON THE SYNERGY OF CIRCUITS AND PACKETS ON THE SYNERGY OF CIRCUITS AND PACKETS
ON THE SYNERGY OF CIRCUITS AND PACKETS
 
Bluetooth Data Points
Bluetooth Data PointsBluetooth Data Points
Bluetooth Data Points
 
Метаданные в модели REST
Метаданные в модели RESTМетаданные в модели REST
Метаданные в модели REST
 
ОБ ИСПОЛЬЗОВАНИИ BLUETOOTH ДЛЯ ПРЕДСТАВЛЕНИЯ ЛОКАЛЬНЫХ ДАННЫХ.
ОБ ИСПОЛЬЗОВАНИИ BLUETOOTH ДЛЯ ПРЕДСТАВЛЕНИЯ ЛОКАЛЬНЫХ ДАННЫХ.ОБ ИСПОЛЬЗОВАНИИ BLUETOOTH ДЛЯ ПРЕДСТАВЛЕНИЯ ЛОКАЛЬНЫХ ДАННЫХ.
ОБ ИСПОЛЬЗОВАНИИ BLUETOOTH ДЛЯ ПРЕДСТАВЛЕНИЯ ЛОКАЛЬНЫХ ДАННЫХ.
 
From Jules Verne’s Moon landing dream in 1865 to “Star Wars” now
From Jules Verne’s Moon landing dream in 1865 to “Star Wars” nowFrom Jules Verne’s Moon landing dream in 1865 to “Star Wars” now
From Jules Verne’s Moon landing dream in 1865 to “Star Wars” now
 
Cars as Tags
Cars as TagsCars as Tags
Cars as Tags
 
Sensing
SensingSensing
Sensing
 
ON SOFTWARE STANDARDS FOR SMART CITIES: API OR DPI
ON SOFTWARE STANDARDS FOR SMART CITIES: API OR DPI ON SOFTWARE STANDARDS FOR SMART CITIES: API OR DPI
ON SOFTWARE STANDARDS FOR SMART CITIES: API OR DPI
 

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

  • 1. Базы данных временных рядов и средства обработки Дмитрий Намиот ВМК МГУ имени М.В. Ломоносова Лаборатория Открытых Информационных Технологий dnamiot@gmail.com Москва 2015
  • 2. • Особенности представления и обработки временных рядов • Временные ряды и реляционные базы данных • Расширения SQL для работы с временными рядами • NoSQL и временные ряды Содержание
  • 3. Представление временных рядов • Классическое определение – последовательность данных • Характерные области: M2M, IoT • Однородные данные • INSERT (добавление данных) – как превалирующая операция
  • 4. Временные ряды - window • В большинстве случаев, обрабатывается только фрагмент временного ряда (окно)
  • 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
  • 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 … }
  • 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;
  • 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;
  • 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>
  • 14. Выбор модели • Три V больших данных: Volume, Velocity, Variety • Определяющий фактор для выбора механизма хранения временных рядов: Velocity