Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 7 8 [9] 10   вперед  Ctrl      все
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
[quot kealon(Ruslan)#22095712]
bluestreak
это однопроходная формула
если имелась ввиду avg(x — avg(y))


Ну это одно и тоже с точки зрения вычислений. Так же? Необходим заранее вычисленный агрегат чтобы делать вычисления для каждого значения «х». Можно ещё более наглядно сделать: sum(( x-avg(x))*(x-avg(x))) . Это variance. avg(x) это проход 1 остальное проход 2.

Ещё всякие vwap и тд
9 мар 20, 21:47    [22095739]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
bluestreak
UDP полезен в сборе метрик. Простая отправка и отправляющая система не замедляется базой.

Можно ещё данные отправлять не после каждого "изменения метрик", а лишь каждый 10й раз. Какая разница, по какой причине данные потерялись, зато отправляющая система не замедляется.
9 мар 20, 22:40    [22095749]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Думаю что топик тематически связан с https://www.sql.ru/forum/1323115/proektirovanie-sistemy-sbora-geolokacionnyh-dannyh

Попробуйте автору предложить этот продукт. Заодно потренируетесь в обсуждении практических вопросов.

Сообщение было отредактировано: 9 мар 20, 23:23
9 мар 20, 23:23    [22095762]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
mayton
Думаю что топик тематически связан с https://www.sql.ru/forum/1323115/proektirovanie-sistemy-sbora-geolokacionnyh-dannyh

Попробуйте автору предложить этот продукт. Заодно потренируетесь в обсуждении практических вопросов.


Спасибо!
10 мар 20, 01:32    [22095783]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
ъъъъъ
bluestreak
UDP полезен в сборе метрик. Простая отправка и отправляющая система не замедляется базой.

Можно ещё данные отправлять не после каждого "изменения метрик", а лишь каждый 10й раз. Какая разница, по какой причине данные потерялись, зато отправляющая система не замедляется.


Это зависит от системы. Если задача системы это не терять метрики, то нужно конечно использовать надежный протокол. Можно TCP - это просто, надежно но медленно. Можно сохранять метрики у источника и использовать UDP с NACK. При сбалансированных pub-sub может ретрансмиссий либо не быть либо очень мало. И таким образом нагрузка на сеть и cpu будет меньше.

В системах у которых метрики не основной вид деятельности UDP и потери вполне приемлемы. Например вы хотите отменить теряющий деньги заказ а торговая система ожидает подтверждения получения метрики от системы которая строит графики на которые никто не смотрит. В таком случае наверно лучше перестать терять деньги чем пропустить пиксель на графике.
10 мар 20, 01:47    [22095789]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
bluestreak,

знаешь что-нибудь про shakti database?
https://shakti.com

её делают создатели kdb, замутили новую контору. Что-нибудь слышно об их внедрениях в индустрии, есть ли успехи?
может у тебя есть инфа какая
30 мар 20, 01:39    [22107851]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
Бумбараш
bluestreak,

знаешь что-нибудь про shakti database?
https://shakti.com

её делают создатели kdb, замутили новую контору. Что-нибудь слышно об их внедрениях в индустрии, есть ли успехи?
может у тебя есть инфа какая



Слышал и поверхностно изучал. О применениях не слышал, КДБ засела во всех банках и версию 4 недавно сделала, вариантов мало. Если честно то я смысла в шакти особого не вижу. Все проблемы с распространением КДБ перенесли вербатим в шакти. Впечатление такое что Артуру Уитли от скуки делать нечего — в first derivative засела бюрократия от которой он хочет освободить от неё свой любимый язык.

Они говорят что SIMD использует, но КДБ тоже как и другие проекты и наш в том числе. Ничего нового. Закрытый код тоже, красота, даже туториал закрыли.
30 мар 20, 23:37    [22108447]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
https://news.ycombinator.com/item?id=19418570

sannysannof подсуммировал

Сообщение было отредактировано: 30 мар 20, 23:41
30 мар 20, 23:42    [22108449]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
увидел там, что с ними работает некто Саня Белопольский, который написал pyq

не в курсах про pyq, но он сам интересный дядя оказался

https://observer.com/2009/05/alexander-belopolsky-billionaire-jim-simons-old-foe-gets-5-m-condo/

прямо Серёжей Олейниковым повеяло
31 мар 20, 04:08    [22108494]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Бумбараш
bluestreak,

знаешь что-нибудь про shakti database?
https://shakti.com

её делают создатели kdb, замутили новую контору. Что-нибудь слышно об их внедрениях в индустрии, есть ли успехи?
может у тебя есть инфа какая

Если это - космический корабль - то и обсуждаеть его невозможно просто в топике Сравнения СУБД.
(система по сложности близка к операционке) Мы - что-то потеряем или не учтём. Если обсуждать
ЕГО СУБД то ее надо вычленить и проанализировать.

Вобщем. Не вижу смысла я здесь равивать идею шакти.
31 мар 20, 11:18    [22108627]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
Сегодня мы выпустили ещё одно обновление:

QuestDB 4.2.0 — текст на английском https://github.com/questdb/questdb/releases/tag/4.2.0

Это первая версия в которой появилась возможность выполнять запросы с помощью SIMD и параллельных вычислений. Мы начали с простецких запросов, таких как агрегация без ключей

select avg(x) from tab
.

Данные разбиваются на сегменты, которые обрабатываются SIMD инструкциям одновременно. Так же несколько функций выполняются параллельно, в таких запросах как

select sum(a), avg(b), min(c) from tab
.

Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами.

По сравнению с нашим самым быстрым конкурентом — KDB, QuestDB в два раза быстрее на вышеописанной агрегации. Агрегация сравнима по скорости с параллельным суммированием простого массива в языках Julia и rust.

QuestDB доступна бесплатно и по Apache 2.0 лицензии, так что скачивайте пробуйте и комментируйте.
3 апр 20, 01:25    [22110241]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
bluestreak

Данные разбиваются на сегменты, которые обрабатываются SIMD инструкциям одновременно. Так же несколько функций выполняются параллельно, в таких запросах как

select sum(a), avg(b), min(c) from tab
.

Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами.

По сравнению с нашим самым быстрым конкурентом — KDB, QuestDB в два раза быстрее на вышеописанной агрегации. Агрегация сравнима по скорости с параллельным суммированием простого массива в языках Julia и rust.
вы очень удивитесь когда "правильно посчитаете" эти агрегаты на больших данных такого типа

Сообщение было отредактировано: 3 апр 20, 09:19
3 апр 20, 09:18    [22110298]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
kealon(Ruslan),

Объясните пожалуйста?
3 апр 20, 11:26    [22110367]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
Я спросонья пытаюсь понять что вы имели ввиду 😀 Производительность точно такая же на 64 бит целых числах.

Складывать double значения действительно не точно. могут быть отличия в районе 9 знака после запятой если сравнить параллельную агрегацию с суммированием по одному. Что же делать? Это такой IEEE формат
3 апр 20, 11:37    [22110383]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
bluestreak

Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами.

Смотри. Системы на базе in-memory имеют узкое применение. В общем случае продуктовые данные
не помещаются в память. Поэтому преимущества загрузки 2х каналов памяти - это не очень полезный
кейс для DBMS как таковой. Что ты собрался так много процессить? Методы сеток?

Обычно пользователю интересна какая-то узкая часть данных. Которую легко индексировать
или материализовывать. Или следуя лучшим традициям CQRS - трекать отдельно вообще от
основного хранилища фактов.

Вот эта штука

select sum(a), avg(b), min(c) from tab


это вообще не OLTP. Это дата-аналитическая кверя. Ее исполняют 1 раз для исторического периода.
Для 2019 года например и кладут ее в отдельную табличку или OLAP кубик навсегда. Там она и лежит
и никогда не меняется. Вот это правильный паттерн.
3 апр 20, 11:49    [22110397]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
bluestreak
Я спросонья пытаюсь понять что вы имели ввиду 😀 Производительность точно такая же на 64 бит целых числах.

Складывать double значения действительно не точно. могут быть отличия в районе 9 знака после запятой если сравнить параллельную агрегацию с суммированием по одному. Что же делать? Это такой IEEE формат
различая могут быть легко процентов 20 от искомого

выход только один - "правильно считать агрегаты по таким типам", в учебниках по расчётам есть описания как это делать
3 апр 20, 13:34    [22110498]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
Различия конечно есть, но существенно меньше чем 20%. Вот например сумма 1.6 миллиардов на моем ноуте (2 канала):

Параллельно:

Картинка с другого сайта.

Последовательно:

Картинка с другого сайта.

Разница 242 с копейками, те 0.000001%

К сообщению приложен файл. Размер - 20Kb
3 апр 20, 15:37    [22110564]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
mayton
bluestreak

Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами.

Смотри. Системы на базе in-memory имеют узкое применение. В общем случае продуктовые данные
не помещаются в память. Поэтому преимущества загрузки 2х каналов памяти - это не очень полезный
кейс для DBMS как таковой. Что ты собрался так много процессить? Методы сеток?

Обычно пользователю интересна какая-то узкая часть данных. Которую легко индексировать
или материализовывать. Или следуя лучшим традициям CQRS - трекать отдельно вообще от
основного хранилища фактов.

Вот эта штука

select sum(a), avg(b), min(c) from tab


это вообще не OLTP. Это дата-аналитическая кверя. Ее исполняют 1 раз для исторического периода.
Для 2019 года например и кладут ее в отдельную табличку или OLAP кубик навсегда. Там она и лежит
и никогда не меняется. Вот это правильный паттерн.


Я согласен, можно посчитать и сохранить. Но смысл не в этом. Мы делаем большой объём данных интерактивными. Конечно постепенно. Польза от суммирования всей таблицу не велика, но это демонстрирует потенциальные возможности которыми могут обладать будущие субд. Это поможет сократить необходимость в индексах, материальных въю и других костылей, которые нужно постоянно поддерживать. Дальше векторные и параллельные поиски, сравнения, копирование, индексы и тд. И вообще все что захочешь.
3 апр 20, 15:56    [22110572]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
bluestreak,

а вот теорию почитать? или я вам должен данные предоставить где будет 20% как за здрасти?
3 апр 20, 16:20    [22110591]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
kealon(Ruslan)
bluestreak,

а вот теорию почитать? или я вам должен данные предоставить где будет 20% как за здрасти?


Да, пожалуйста. Свои аргументы нужно подкреплять фактами.
3 апр 20, 16:24    [22110592]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
bluestreak,

для ленивых ;-), я не занимаюсь благотворительностью

Сообщение было отредактировано: 3 апр 20, 16:30
3 апр 20, 16:30    [22110600]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
kealon(Ruslan)
bluestreak,

для ленивых ;-), я не занимаюсь благотворительностью


Почему же так кисло? Вы меня совершенно не знаете.

Я поделился новостями давненько и в первую очередь с соотечественниками. Но видно не очень интересно...

Вот всему остальному миру интересно:

https://www.reddit.com/r/programming/comments/fwlk0k/questdb_using_simd_to_aggregate_billions_of/

Ну и в ХН на главной странице:

https://news.ycombinator.com/news
8 апр 20, 00:50    [22112585]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
bluestreak,

Лирика меня мало интересует, я уже давно обрёл защитный уровень цинизма. Тем более, я знаю как высасывают такие новости.
Выискивать вам что-то конкретное - это труд, профит от которого приближается к 0, так как даже чего-то нового я не узнаю, я уж не говорю о каком-то материальном выхлопе.

Логических оптимизаций в вашем продукте я особо не вижу, лопатить машинные оптимизации не самый большой скил, один человек на этом поле не воин.
Советую кстати посмотреть в либы того же интела и использовать их по возмоности, там много что сделано для машинных оптимизаций. Если вы хапните их внимание это уже будет очень большой профит вам.

PS:
avg(( x-avg(x))*(x-avg(x))) = avg( x^2 -2 x * avg(x) + avg(x)^2) = avg(x^2) - 2 avg(x)^2 + avg(x)^2 = avg(x^2) - avg(x)^2
8 апр 20, 09:18    [22112637]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
bluestreak
Member

Откуда:
Сообщений: 108
kealon(Ruslan)
bluestreak,

Лирика меня мало интересует, я уже давно обрёл защитный уровень цинизма. Тем более, я знаю как высасывают такие новости.
Выискивать вам что-то конкретное - это труд, профит от которого приближается к 0, так как даже чего-то нового я не узнаю, я уж не говорю о каком-то материальном выхлопе.

Логических оптимизаций в вашем продукте я особо не вижу, лопатить машинные оптимизации не самый большой скил, один человек на этом поле не воин.
Советую кстати посмотреть в либы того же интела и использовать их по возмоности, там много что сделано для машинных оптимизаций. Если вы хапните их внимание это уже будет очень большой профит вам.

PS:
avg(( x-avg(x))*(x-avg(x))) = avg( x^2 -2 x * avg(x) + avg(x)^2) = avg(x^2) - 2 avg(x)^2 + avg(x)^2 = avg(x^2) - avg(x)^2



Хорошо, спасибо за информацию. Это все похоже сводится к https://en.m.wikipedia.org/wiki/Kahan_summation_algorithm мне вот не сложно за 0 поделится если я нужной информацией владею.
8 апр 20, 19:42    [22113059]     Ответить | Цитировать Сообщить модератору
 Re: QuestDB - новая СУБД для хранения time series данных  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
kealon(Ruslan)
bluestreak,

для ленивых ;-), я не занимаюсь благотворительностью


kealon(Ruslan)
bluestreak,

Лирика меня мало интересует, я уже давно обрёл защитный уровень цинизма. Тем более, я знаю как высасывают такие новости.
Выискивать вам что-то конкретное - это труд, профит от которого приближается к 0, так как даже чего-то нового я не узнаю, я уж не говорю о каком-то материальном выхлопе.

ты такой крутой парень

кек
8 апр 20, 19:48    [22113062]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 7 8 [9] 10   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить