|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
maytonЭто ближе к Hadoop. Хадуп не знаю, не ел. Но кучку лет назад тут уже был топик о забавной СУБД в которой был только лог. Исключительно последовательные запись и чтение. "Пони бегает по кругу." Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Как я сказал, данные можно удалять по партициям — например удалить устаревшие данные. Можно физически изменять через копирование. А так же для систем которым нужно «изменение» данных это можно делать через добавление истории изменений. В QuestDB sql присутствует “latest by” фраза, которая позволяет сжать историю до одной записи в один запрос. В моём опыте все более менее серьезные системы не позволяют изменять или удалять данные без истории изменений. В этом случае QuestDB может быть решением чтобы иметь версии без запарок. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:40 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak mayton, Как я сказал, данные можно удалять по партициям — например удалить устаревшие данные. Можно физически изменять через копирование. А так же для систем которым нужно «изменение» данных это можно делать через добавление истории изменений. В QuestDB sql присутствует “latest by” фраза, которая позволяет сжать историю до одной записи в один запрос. В моём опыте все более менее серьезные системы не позволяют изменять или удалять данные без истории изменений. В этом случае QuestDB может быть решением чтобы иметь версии без запарок. В Хадуп можно добавлять. Но добавление относится к исстории. Например к данным о торговых индексах за 2018 год добавился еще один файл - данные за 2019 год. Вот в таком вот аспекте. Но править 1 строчку - это вряд-ли. Тем более что файлы много раз индексируются для текстовых и прочих разных умных поисков. Если вам нужно данные изменять оперативно - то это другой класс систем. Ближе к OLTP. Или совсем-совсем OLTP. Тоесть вам надо детальнее описать юзкейсы вашей системы. От этого мы сможем ее классифицировать. Причем с ограничителями. Можно ли за 1 операцию залить триллион строк? Что будет при конкурентной агрегации сразу по двум тайм-сериям которые в общем объеме превышают оперативку. Вы должны все эти маргинальные случаи рассмотреть. Иначе окажется что ваша система в ответ на такую операцию просто падает в kernel panic. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:51 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov maytonЭто ближе к Hadoop. Хадуп не знаю, не ел. Но кучку лет назад тут уже был топик о забавной СУБД в которой был только лог. Исключительно последовательные запись и чтение. "Пони бегает по кругу." EventStore наверное. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:02 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, time series database это уже и так строго классифицированный тип СУБД https://en.wikipedia.org/wiki/Time_series_database со своими областями применения и данными. Можно сказать, что это типа OLAP, в котором хранится только один, специальный тип данных - time series. А вы пытаетесь начать сравнивать со всем, что бывает на свете. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:04 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш mayton, time series database ... А вы пытаетесь начать сравнивать со всем, что бывает на свете. вроде это сам автор своей СУБД стал сравнивать ее с PostgreSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:07 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш mayton, time series database это уже и так строго классифицированный тип СУБД https://en.wikipedia.org/wiki/Time_series_database со своими областями применения и данными. Можно сказать, что это типа OLAP, в котором хранится только один, специальный тип данных - time series. А вы пытаетесь начать сравнивать со всем, что бывает на свете. Я пытаюсь понять ограничители. Потому-что это - риски. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:10 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Бумбараш mayton, time series database ... А вы пытаетесь начать сравнивать со всем, что бывает на свете. вроде это сам автор своей СУБД стал сравнивать ее с PostgreSQL Он скорее сравнивал с TimescaleDB - это time series вариант Postgre. Я о том, что было бы странно, если тема о какой-нибудь OLAP системе, например, и предъявлять ей, что она не выполняет какие-то узкие требования выполняемые супер-OLTP системой. потому что и так понятно, что она их не будет и не собиралась выполнять ну ладно, это я так. Автор, видимо, всё равно расположен обсуждать все варианты, так что давайте обсуждать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:19 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Это ближе к Hadoop. Один раз сохранил - и 3.14дец. Мне кажется или автор переизобрел велосипед с Kafk'ой? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 18:00 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
При чем тут Kafka. Это мессенджинговая система. А топик про Dbms. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 18:10 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton При чем тут Kafka. Это мессенджинговая система. А топик про Dbms. Сейчас некоторые ее позиционируют как замену субд. как раз все что выше автор описал отлично ложиться под kafk'у. Да и кафка это не только ценный мех лог, но еше и 3-4 KSQL :), да и ACID требования выполняются. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 18:35 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Пускай автор сам скажет. Кстати у него должен быть бенчмарк который доказывает что его система эффективнее аналогов. Иначе... зачем вообще что-то создавать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 19:05 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, QuestDB это не хадуп — хадуп это даже анти—герой. В QuestDB можно добавить одну строчку и огромный батч, триллион запросто. Заточка на оба сценария: Insert Insert ... Insert Commit И так же: Insert Commit Insert Commit ... Конкурентная агрегация в случае нехватки памяти будет ворошить диск. Если результаты агрегации не помещается с память то конечно может произойти OutOfMemory. Kernel panic не будет так как страницы прикреплены к readonly файлам. Они выталкиваются из памяти безболезненно и перегружаются из файлов в случаи необходимости. Можно добавить что QuestDB колоночная база, колонки в отдельных файлах и при отсутствии необходимости в память даже не загружаются. OLTP это не основная задача, но как сказал update делается через insert с тем же первичным ключом и последующем схлопыванием версий через Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 21:52 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
maytonзачем вообще что-то создавать? Ну как же, лохокриптотрон требует сохранения за 15 микросекунд. Через 16 уже будет поздно и курс упадёт. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 21:59 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Бенчмарк я сделал, результаты на первой или второй странице. Железо тоже описал — ноутбук пока Последовательность такая: 1. Сгенерировать csv - QuestDB такое легко умеет 2. Залить этот файл в базу — делали одну таблицу для простоты 3. Погонять запросы — какие запросы я гонял тоже привёл. Было бы конечно интересно получить независимую поддержку в этом деле, чтобы я свои цифры не приукрашивал. Насчёт use-cases, пока стремление заменить influxdb на более производительную базу с человеческим лицом. Это для сбора метрик и данных с сенсоров и рынков. Новые юзкеисы по мере адаптации. Наша задача поддержать вас — разработчиков всем необходимым для решения новых задач ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 22:02 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Было бы конечно интересно получить независимую поддержку в этом деле, чтобы я свои цифры не приукрашивал. Для этого вам надо предоставить легко воспроизводимый пример, чтобы можно было в несколько команд (в идеале одной) запустить бенчнмарк и получить готовый результат. Есть у вас такое? Не важно как это будет оформлено скрипты или контейнеры, важно чтобы потенциально интересующийся мог быстро проверить это в своем окружении, важно чтобы все видели с какими настройками запускаются конкуренты. Тогда и доверия к результатам будет больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 07:15 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak mayton, Бенчмарк я сделал, результаты на первой или второй странице. Железо тоже описал — ноутбук пока ноут и серверное железо, да и серверные ОС очень отличаются по настройкам ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 09:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak 1. Сгенерировать csv - QuestDB такое легко умеет Как это? Сгенерировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 12:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Дегтярев Евгений bluestreak Было бы конечно интересно получить независимую поддержку в этом деле, чтобы я свои цифры не приукрашивал. Для этого вам надо предоставить легко воспроизводимый пример, чтобы можно было в несколько команд (в идеале одной) запустить бенчнмарк и получить готовый результат. Есть у вас такое? Не важно как это будет оформлено скрипты или контейнеры, важно чтобы потенциально интересующийся мог быстро проверить это в своем окружении, важно чтобы все видели с какими настройками запускаются конкуренты. Тогда и доверия к результатам будет больше. Я согласен вполне. Вот здесь ребята напилили, https://github.com/timescale/tsbs вам в таком формате подошло бы? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 15:09 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan) bluestreak mayton, Бенчмарк я сделал, результаты на первой или второй странице. Железо тоже описал — ноутбук пока ноут и серверное железо, да и серверные ОС очень отличаются по настройкам Тоже согласен, лаптоп ещё постоянно процессор зажимает из-за температуры, но я сравнивал целую неделю, с холодным лаптопом, тёплым, кучу раз одно и тоже запускал чтобы понять jitter. Дело в том у нас разница со всеми кроме KDB просто в разы. Может конечно наше железо любит нашу базу больше — но я сомневаюсь. Попробуем на облачном железе конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 15:15 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Я же вам на этот вопрос ранее ответил. Запросы внизу, запускаем QuestDB открываем вэб консоль на порту 9000 и запускаем запрос. Это псевдо—рандомный генератор, можно сгенерировать все поддерживаемые типы данных и невменяемое количество записей если нужно. Можно это прям из браузера скачать сколько вам угодно данных bluestreak mayton, Вы правы, многопоточная обработка данных гораздо предпочтительная если взять во внимание железо. Однопоточная обработка в QuestDB это оговорка для ясности, но она похоже запутала. Позвольте объяснить: QuestDB сетевые сервисы являются многопоточными. Потоков фиксированое количество. Они работают с сокетами через epoll и позволяют работать в моногопользовательском режиме. Однако когда пользователь запускает запрос, этот запрос будет использовать одно ядро. Мы тестировали в такой среде по http Данные сгенерили таким запросом Код: plaintext 1. 2. 3. 4. 5. 6. 7.
И потом скачали с сервера через web console, там есть кнопка «скачать» Для influx исходные данные создавались таким запросом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Параметр к long-sequence это количество записей, можно большое количество если нужно. Серверу предел это диск. Если номер записей сильно большой, добавьте L, т.е 10000000000000000L ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 15:21 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, я надеюсь ты понимаешь что синтетические данные будут не очень представлять интерес. Вообще, данные нужны приближённые к реальным. Например если на этих данных будут искать аномалии, регрессии или тренировать нейронные сети, то и генерация их соотвественно должна иметь какой-то паттерн или пресет. Например таймсерия меряет курс показания 100 датчиков темпператур по предприятию. Разве они будут давать random? Нет. Они будут давать некий Гауссов колокольчик. Или нечто более сложное. Если таймсерия меряет курс валюты в течение 10 лет - то она не может скакать как random с минимума на максимум. Ну вобщем ты понимаешь. Нельзя на основе ситетического датасета доказать правду применительно к реальным данным. Если ты и генеришь данные то ты должен хотя-бы подумать о том как эти данные выглядят на графике? Как я могу сделать выборку окна где валюта превышала какую-то величину. Как я могу на твоей БД померять корреляцию одного температурного датчика от другого. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 15:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
курс одной котировки за 15+ лет в "минутках" = 15*365*24*60 = 7 884 000 записей на один символ возьмем, от балды, 50 тыс. символов = 7 884 000 * 50 000 = 394 200 000 000 записей IMHO примерно с такого объема данных можно начинать тестить и заканчивая где-то на 250-500 тыс символов если мы говорим о котировках AFAIK p.s. сотни тысяч символов получалось на каких-то специализированных рынках (вроде облигации или что-то такое), почему так много, в свое время объясняли, но я уже не помню. Но там символов было много, а данных, соответвтенно, в столько же раз меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:01 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
смысла поколоночника для котировок особой не вижу в реальной системе били на чанки по времени также, не очень понятно, можно ли запросный движок обучать "хитрым" агригациям. Как я помню, вроде дневные и недельные котировки могут считаться хитрым образом, в зависимости от времени и графика работы биржи ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:05 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton bluestreak, я надеюсь ты понимаешь что синтетические данные будут не очень представлять интерес. Вообще, данные нужны приближённые к реальным. Например если на этих данных будут искать аномалии, регрессии или тренировать нейронные сети, то и генерация их соотвественно должна иметь какой-то паттерн или пресет. Например таймсерия меряет курс показания 100 датчиков темпператур по предприятию. Разве они будут давать random? Нет. Они будут давать некий Гауссов колокольчик. Или нечто более сложное. Если таймсерия меряет курс валюты в течение 10 лет - то она не может скакать как random с минимума на максимум. Ну вобщем ты понимаешь. Нельзя на основе ситетического датасета доказать правду применительно к реальным данным. Если ты и генеришь данные то ты должен хотя-бы подумать о том как эти данные выглядят на графике? Как я могу сделать выборку окна где валюта превышала какую-то величину. Как я могу на твоей БД померять корреляцию одного температурного датчика от другого. Я прекрасно понимаю что пример не универсальный. Эти данные вполне подходили для запросов для которых я сравнивал производительность. Для колокольчиков можно другие рандомные данные нагенерить. long_sequence() имеет монотонно возрастающую колонку «x» которую можно поставить в формула распределения Гаусса ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:09 |
|
|
start [/forum/topic.php?fid=35&msg=39899138&tid=1552167]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 166ms |
0 / 0 |