
Ivan
02.10.2018
17:44:37
Все нравиться, просто интересно сколько она вывезет в плане размера
Если инстанс без реплик, каким размером таблица еще будет жить
Я понимаю, что там чанки, но если база дорастет до пары ТБ, она будет еще жива?)

Vladimir
02.10.2018
17:46:34
а сколько сейчас?

Google

Ivan
02.10.2018
18:00:09
Надо точно глянуть, но думаю гигов 200

Vladimir
02.10.2018
18:02:06
а количество записей?

Ivan
02.10.2018
18:44:46
Боюсь соврать, завтра гляну и отпишусь по размеру и кол-во записей

Vladimir
02.10.2018
18:44:57
спасибо
очень хочу попробовать, очень интересно, каких результатов можно добиться

Ivan
02.10.2018
18:45:59
Ну у нас все на нее поставлено
)
У нас система gps мониторинга, не сильно большая, чтобы не лезть в всякие nosq решения, была экспериза в postgres. Взяли связку postgres postgis timescale - зашло на ура
Теперь интересно сколько она будет жить)
Реплики, шардирование и прочее решат проблему, просто инженерный интерес, сколько она будет работать в "достаточном" для бизнеса режиме)
Кстати, у меня есть образ сборки готовой https://hub.docker.com/r/binakot/postgresql-postgis-timescaledb/ если хочется потыкать, у timescale тоже есть сборки с postgis

Bogdan
02.10.2018
18:49:12
А что это?
InfluxDB на основе пропатченого Postgre?

Ivan
02.10.2018
18:49:27
Типа того

Google

Ivan
02.10.2018
18:49:46
Расширение для работы с метрическими даннами по времени
Создаем специальный тип таблицы, оптимизированной под поиск по времени
Всякие временные корзины, разбиение на чанки и т.д. и т.п. стоит почитать
https://www.timescale.com/

Bogdan
02.10.2018
18:50:50
We modified the PostgreSQL insert path, execution engine, and query planner to intelligently process queries across chunks.
Ммм, прикольно

Ivan
02.10.2018
18:51:16
Чуваки начинали по-тихоньку, а потом выстрелило. Получили кучу инвестиций, но продолжают в опенсорс, буквально недавно был релиз 1.0

Bogdan
02.10.2018
18:51:39
Интересно, а gin индексы по чанкам разбивает?
А-то у нас полнотекстовый поиск тормозит, партиционировать по времени создания записи хотим

Ivan
02.10.2018
18:52:37
When indexing JSONB data across all fields that may be contained inside, it is often best to use a GIN index. PostgreSQL documentation has a nice description of the different types of GIN indexes available on JSON data. If in doubt, it is best to use the default GIN operator since it allows for more powerful queries:
https://docs.timescale.com/v0.12/using-timescaledb/schema-management#indexing-all-json

Vladimir
02.10.2018
18:53:28

Bogdan
02.10.2018
18:54:02
Ухх, спасибо за наводку, нажо будет глянуть в эту сторону :)

Ivan
02.10.2018
18:54:33
Очень рекомендую, сам радовался, когда наресерчил это, ибо велосипедить собирались нехило))
Работает уже год под небольшой нагрузкой, но ни разу ничего не случилось (тьфу-тьфу)
Примерно 500 gps трекеров шлют примерно по 5-10 записей в минуту
Все пишется в гипертаблицу timescale

Vladimir
02.10.2018
18:57:35
а там нет ttl? просто дропать старые данные?

Александр
02.10.2018
18:57:41

Ivan
02.10.2018
18:57:47
мы должны хранить полтора года истории
когда у тебя база под 3 ТБ

Google

Ivan
02.10.2018
18:58:18
и все в одной таблице без шардинга))
https://blog.timescale.com/time-series-data-why-and-how-to-use-a-relational-database-instead-of-nosql-d0cd6975e87c
Этого достаточно, чтобы вкатиться

Yaroslav
02.10.2018
19:05:27
значительно быстрее
А что именно в нём значительно быстрее?
Кстати, Вы (а не timescale.com) проводили какие-нибудь сравнительные тесты?

Ivan
02.10.2018
19:07:04
Опубликованных нет, но делали выгрузку массива данных по старой схеме и с помощью timescale, скорость работы отличается на порядок
К тому же сама гипертаблица дает возможность работать с данными как time-series, а не просто кортежи
Быстрее, потому что внутри чанки из коробки и оптимизации для работы с данными с первичной характеристикой - время

Yaroslav
02.10.2018
19:10:45

Bogdan
02.10.2018
19:13:03

Ivan
02.10.2018
19:13:45

Bogdan
02.10.2018
19:14:18
У нас история переписки, текстовые сообщения, с полнотекстрвым индексом
Но у каждого есть таймстамп

Ivan
02.10.2018
19:15:46
Но у каждого есть таймстамп
вот про такой кейс ничего не скажу, лучше им написать в слаке или еще где, ребята очень отзывчивые и почти сразу отвечают

Yaroslav
02.10.2018
19:16:39

Ivan
02.10.2018
19:17:47
Проста эта штука позволяет делать твои таблицы time-series, не знаю как еще это объяснить)
Короче, вот что можно делать https://docs.timescale.com/v0.12/api#time_bucket
И прочие вытекающие из time-series подхода

Google

Ivan
02.10.2018
19:22:21
Кто работал со всякими метрика типа prometheus - поймет суть

Bogdan
02.10.2018
19:23:36
прикольно, в общем надо будет качнуть докер образ и поиграться
А пока уже вылью то что есть, с ручным партиционированием на две таблицы
2 последних месяца, и все остальное

Yaroslav
02.10.2018
19:24:22

Ivan
02.10.2018
19:25:04
Причем для новой схему удаленность данных от настоящего времени не важна, для старой схемы, чем старее данные, тем дольше они достаются

Yaroslav
02.10.2018
19:30:27

Andrei
02.10.2018
19:30:33
слушайте, вы какие-то непонятные страсти рассказываете
вот реально

Anton
02.10.2018
19:31:29
вопрос: есть 3 поля с датами date_a, date_b, date_c
нужно вывести отсортированные записи по дате, по алгоритму date_a is not null`- для сортировки используется `date_a,
date_b is not null`- для сортировки используется `date_b, и т.д
как это сделать? и не будут ли проблемы с производительностью?

Ivan
02.10.2018
19:31:43

Yaroslav
02.10.2018
19:33:29

Anton
02.10.2018
19:35:48

Andrei
02.10.2018
19:40:04
вы рассказываете про какой-то волшебный тайм-сериес, но ванильный PG + pg_pathman без проблем решают кучу этих надуманных проблем
у нас есть две основные таблицы, они 95% обьема типовой базы из примера выше

Google

Andrei
02.10.2018
19:42:20
это, если что, не прод)

Ivan
02.10.2018
19:42:20
Стоп, pg_pathman решает проблему партицирования, но он делает данные time-series
А мне это нужно, я не решал проблему разбиения большой таблицы, если бы мне нужно было только это, я бы тоже самое сделал, как и вы
14 ТБ
Это на одном сервере? Что там за конфигурация?

Andrei
02.10.2018
19:43:54
я же три картинки бросил)

Ivan
02.10.2018
19:44:03
я про диски

Andrei
02.10.2018
19:44:15
12Гб мем + 6виртуальных ядер с HT
2Тб SSD
остальное - обычные
последние два месяца лежат на ссд

Yaroslav
02.10.2018
19:45:28
2Тб SSD
Вот это Вы явно делаете не так, как они. ;)
И про производительность ничего не рассказали...

Andrei
02.10.2018
19:45:29
по мере старения переезжают на медленные диски

Ivan
02.10.2018
19:46:31

Andrei
02.10.2018
19:46:50
сильно что?)

Ivan
02.10.2018
19:46:59
А HDD диски как связаны, в плане там же одна гиганская таблица, как она на разных физических дисках живет?
сильно что?)
я не сталкивался с таким объемом сингл-базы постгри

Andrei
02.10.2018
19:47:52
мы же секционировали данные, партиции лежат в разных тейбспейсах)