Size: a a a

Архитектура данных

2019 December 04

A

Alexey in Архитектура данных
Надо конечно проверить как он будет себя чувствовать в таком кейсе. В части аналитики понятное дело - отлично, но тащить по одной записи и постоянно - хз. Как проверю - отпишусь.
источник

A

Alexey in Архитектура данных
O. Petr
Ну все зависит от основных запросов все таки
Получение метрик по идентификатору устройств и фильтрация по нескольким колонкам.
источник

A

Alexey in Архитектура данных
Кх просто для пейджинга использовать плохая идея, это в кейсе с фильтрацией я имею ввиду.
источник

OP

O. Petr in Архитектура данных
В гринпламе сегментировать по id устройств , партицнуть по времени, будете брать с каждого сегмента по последним данным из партиции
источник

Д

Дмитрий in Архитектура данных
Alexey
Кх просто для пейджинга использовать плохая идея, это в кейсе с фильтрацией я имею ввиду.
RIAK TS посмотрите еще
источник

Д

Дмитрий in Архитектура данных
тоже тайм сериз
источник

A

Alexey in Архитектура данных
А как-то чистить в ts можно данные автоматически? что-то вроде того как в КХ движок ReplacingMergeTree делает, где по факту на диске спустя какое-то время хранится один экземпляр строки.
источник

Д

Дмитрий in Архитектура данных
Alexey
А как-то чистить в ts можно данные автоматически? что-то вроде того как в КХ движок ReplacingMergeTree делает, где по факту на диске спустя какое-то время хранится один экземпляр строки.
у influx есть ретеншн полиси
источник

Д

Дмитрий in Архитектура данных
источник

A

Alexey in Архитектура данных
Дмитрий
у influx есть ретеншн полиси
Спасибо
источник

Д

Дмитрий in Архитектура данных
источник

K

Kirill M in Архитектура данных
Ещё можно timescale посмотреть. Это PG переделанная под TS
источник

K

Kirill M in Архитектура данных
Под  time series
источник

PD

Phil Delgyado in Архитектура данных
Alexey
Всем привет.  Подскажите, что можно использовать для персистентного хранения актуальных данных? Каждую секунду может приходить несколько десятков тысяч метрик от устройств. Требуется в любой момент времени получать последнюю метрику по какому-то конкретному устройству. Pg сейчас используется для этого,  но для этой задачи от не очень походит.
Kafka + inmem + pg?
источник

PD

Phil Delgyado in Архитектура данных
А какие требования к надёжности?
источник

A

Alexey in Архитектура данных
Phil Delgyado
Kafka + inmem + pg?
проблема с pg в автовакуме, мы сейчас пишем в несколько таблиц метричных в pg, потом раз в какое-то время фоновый процесс вычищает все, кроме последней метрики по каждому устройству.
источник

PD

Phil Delgyado in Архитектура данных
Это понятно, но в такой схеме pg нужен только как "бэкап" и время на автовакум не существенно.
Т.е. кафку читаем и пишем в банальную inmem key-value (взять готовый редис или просто написать hash-map).
И аггрегируеем пачками и пишем в PG.
При падении - забираем актуальное из PG+kafka (и это самое сложное).
источник

A

Alexey in Архитектура данных
kafka чтобы что? чтобы не положить редис?
источник

A

Alexey in Архитектура данных
> При падении - забираем актуальное из PG+kafka

Думали про такое, но смущает "время на прогрев"
источник

A

Alexey in Архитектура данных
Проблема с kv еще с фильтрацией, можно конечно на redis и это решить, но хочется более элегантного способа, нежели ловить факт падения redis и как-то его прогревать.
источник