|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Доброе время суток! Я пишу СУБД для очень быстрой обработки данных, как реляционных так и time series. Система доступна через SQL и так же напрямую из java. SQL работает одновременно по PostgreSQL протоколу, HTTP и также через Influx line protocol. Остальное описание и документация находится на GitHub (на английском) https://github.com/questdb/questdb Хотелось бы услышать ваше мнение и так же помочь нам поддержать вас в решении разнообразных проблем. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 18:16 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
какие преимущества перед InfluxDB и другими распространенными TS DB? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 19:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
На много быстрее чем influx и timescale. по сравнению с influx человеческий SQL, нормально ошибки репортятся, транзакционность данных, отказоустойчивость, поддержка реляционной модели, те неограниченные joins. Можно залить по influx протоколу а вытащить по postgres По сравнению с timescale, просто быстрее, нагружает сервер меньше, например запрос в questdb выполняется быстрее на одном потоке чем timescale на шести PostgreSQL инфраструктура конечно хорошая, но мы быстрыми темпами догоняем. Можем фич добавить быстро и без бюрократии Залив данных из файлов упрощён - questdb заливает гораздо быстрее и автоматом создаёт таблицу и определяет типы полей. Также размер транзакции не ограничен при этом транзакция остаётся атомичной Мы скоро накрутим incremental запросы, по производительности уничтожим все базы. Раз в 10-100 быстрее будет в зависимости от запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 19:35 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak PostgreSQL инфраструктура конечно хорошая, но мы быстрыми темпами догоняем. Можем фич добавить быстро и без бюрократии как вы её быстрыми темпами обгоните, если у вас один контрибьютор, судя по github bluestreak Мы скоро накрутим incremental запросы, по производительности уничтожим все базы. Раз в 10-100 быстрее будет в зависимости от запроса Что такое incremental запросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 19:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Инвестиции почти готовы, получаем деньги в январе и погнали. Я и есть этот контрибутор :) Инкрементальные запросы вытекают из предположения что данные на изменяются. За исходный результат берётся не 0 а результат предидущего запроса. Например ‘select location, avg(temp) where timestamp = ‘2019-12’ Считает среднюю температуру в каждом месте за декабрь. Первый раз обходит весь декабрь. Запускаем еще раз. Запрос берет готовый hashmap из предидущего запуска и дорабатывает дельтой данных между сейчас и предидущим временем ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 19:59 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Сейчас кэширование в том или ином виде есть в любой DB. Некоторые DB, в том числе timeseries, полностью хранят в inmemory последние периоды time series, которыми в основном и пользуютя пользователи. Поэтому там в 10-100 раз особо некуда уже обгонять. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 20:59 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Ну это наверное в теории. Если вы запустите запрос в influx чтобы просуммировать одно поле по ключу значений другого, то 10м записей он обработает за 100мс, запустите его ещё раз то будет опять 100мс и вы так же увидите подпрыгивание всех ядер процессора. Запрос который возвращает закешированные 20 записей возвращает данные за 3мс а не 100. По этому если они кэшируют то далеко не столько как говорят. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 21:09 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЗапрос который возвращает закешированные 20 записей возвращает данные за 3мс а не 100. Осталось только найти странное приложение, которое раз за разом одним и тем же запросом запрашивает одни и те же данные. Это разве что к пых-пыховцам и прочим уэб-кодерам. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 22:28 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Таких приложений может быть не очевидное количество но их полно. В моём примере может быть текущий месяц, который не меняется от понедельника до пятницы. В зависимости от скорости поступления данных результат запроса меняется. Это применимо к отчетности, в реальном времени, консолям всяким которые не обязательно запрашивают данные в инкрементах и собирают картину на клиенте. Пых-пыховцам тоже инструменты нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 23:04 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
кстати, я так же могу ответить на конструктивные вопросы. Не зря же 5 лет эту СУБД пишу. Например, как сделать .....? Я думаю что существующие СУБД не идеальны :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 23:07 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakя так же могу ответить на конструктивные вопросы. Не зря же 5 лет эту СУБД пишу. Хочешь потягаться с теми, кто делает это 20?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 23:17 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, название хорошее, что означает? работа с с данной СУБД - это перманентный Quest? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 23:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakя так же могу ответить на конструктивные вопросы. Не зря же 5 лет эту СУБД пишу. Хочешь потягаться с теми, кто делает это 20?.. Дело не в том чтобы тягаться (я пишу софт с 1994г). QuestDB это apache 2.0 проект. Есть возможность сделать вещи, которые в существующих СУБД делаются через задницу, прямо в СУБД и по человечески, как всем было бы удобно, быстро, и не дорого в смысле вычислительных ресурсов в облаках. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 00:15 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Дмитрий Мух bluestreak, название хорошее, что означает? работа с с данной СУБД - это перманентный Quest? Спасибо! Quest это упорная разработка чтобы результат был удобный и быстрый. Например парка сервером, чтобы можно было 100Гб файл перетащить в браузер и он загрузился без проблем. Ну и другие подобные вещи ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 00:19 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Я пишу СУБД для очень быстрой обработки данных java Делаю столярный цех. Все работы будут выполняться топором и бензопилой. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 05:35 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
crutchmaster bluestreak, Я пишу СУБД для очень быстрой обработки данных java Делаю столярный цех. Все работы будут выполняться топором и бензопилой. Молоток Изучил предмет дасканално И ответил очень аригинално Постгрес С, залив 500мб цсв - 47с Questdb java, залив того же файла 4с GC = 0 Скачайте, попробуйте ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 06:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Давай остальные метрики, время выборок, скорость join'ов и прочее. На базе в пару TB и работающих 100 подключениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 06:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Здесь timescale/postgres выполняют каждый запрос в 6 потоков. Questdb в один поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 06:55 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Залей свой датасет попробуй Joins работают быстро, количество не ограничено. Размер базы ограничен системными ресурсами, диском и физической памятью. Для работы с данными используются memory mapped files. Количество подключений не ограниченно, сервера не блокирующие с поддержкой flow control. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 06:59 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Ну что это за бенч? Где тестовые данные? Где версии софта? Где железо? Где IO? Что там по надёжности? Она у тебя inmemory? Как это всё сбрасывается на диск? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 07:07 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бенч синтетический датасет, 500мб 10м записей Данные - ... Версии недельной давности Dell 9570 laptop i9 6 core , 32gb. 1tb nvme ssd Надежность данных - транзакционность (acid) по одной таблице пока. Автоматическое восстановление при потере электропитания Данные как я сказал пишутся и читаются через memory mapped files. ОС занимается управлением памятью. В прямую память попадают только промежуточные данные при выполнении запросов. При этом делается все возможное чтобы данные не копировать в память. Например результат ‘from a join b on(x)’ хранится в памяти как хэш ключа x и rowid (64bit) таблицы b Данные на диск записываются ОС асинхронно. Будет возможность делать msync с коммитом в зависимости от задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 07:25 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Дмитрий Мух bluestreak, название хорошее, что означает? работа с с данной СУБД - это перманентный Quest? Спасибо! Quest это упорная разработка чтобы результат был удобный и быстрый. Например парка сервером, чтобы можно было 100Гб файл перетащить в браузер и он загрузился без проблем. Ну и другие подобные вещи Ну нам такого не надо, у нас другие задачи. А 100Гб файл - это что? Киношка какая что-ли? Так с этим вроде сейчас через браузер проблем нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 09:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Для работы с данными используются memory mapped files. А с MongoDB MMAPv1 сравнивали? А с WiredTiger? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 09:46 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Как-то без огонька. Надо устроить спецолимпиаду, написать генератор входных данных, придумать задачи, наделать скриптов, чтобы кому надо могли у себя это запустить и потыкать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 09:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Очередной полоумный гаражный убиватель сиквела и оракла. Пойду за попкорном сгоняю... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 09:54 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
PsyMisha, Утверждает, что ему даже денег на это дадут. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 09:56 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, А кстати - как у вас с: - Версионность. Одновременно работающие читатели и писатели, конфликты, блокировки - Отказоустойчивость. Кластерные ноды, агенты чтения журнала транзакций, репликация на зеркала-подписчики Вы либо это успешно слелели, причем на такой гениальном уровне, что действительно поборет существующих вендоров, работавших над продуктами десятилетиями, ввалившими бесчисленное множество миллиардов человеко-часов и денег в совершенствование продукта, либо живете в Код: sql 1.
лет назад, когда еще не было кучи обязательных ныне фич. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 10:00 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Ладно мужики, похоже кроме того что попкорн жевать вам ничего не надо. До свиданья. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 10:48 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Вы просто не понимаете основных принципов пиара. Да, тут будет срач и будут жрать попкорн, но главное, чтобы о вас говорили, причём не важно что, лишь бы побольше. А там глядишь бы и допилили свою субд до более-менее вменяемого состояния. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 10:52 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
crutchmaster, Ага, все верно, - пришел же Дидми к успеху через свой чернющщий пиар все же - родился же ДуДокс, какую-то сферу в итоге покрывает ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 11:00 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Возможно, - у вас очень узкоспециализированный продукт, который сильно нишевый и для очень определенного круга задач. Вы продолжайте, пожалуйста, - действительно интересно Просто понимаете, - суть в том, что местная общественность навидалась уже за долгие годы ТАКОЕ кол-во изобретателей с шокирующим продуктом, который вот-вот порвёт рынок - что ... отсюда и скепсис по-дефолту ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 11:03 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
уровень обсуждения на реддите и тут, на форуме ВЕЛИКИХ РУССКИХ ИНЖЕНЕРОВ СКЛЬ, https://www.reddit.com/r/programming/comments/e2gfpi/questdb_fast_time_series_database_zerogc_java/ разительно отличается тут больше на фишки и пикабу похоже ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 12:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш, На том форуме человек задает конкретные технические вопросы про низкие уровни в Джаве. Здесь же - начинается все с фраз "по производительности уничтожим все базы. Раз в 10-100 быстрее будет в зависимости от запроса " - что еще можно ответить на такое? Только пёрлами, зубоскальством и прочими фишками. Да, закономерный ответ - но ведь и здесь люди могли бы начать расспрашивать про многопоточность. Но ведь и автор так же тему в серьёзное не повел. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 13:21 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
PsyMishaно ведь и здесь люди могли бы начать расспрашивать про многопоточность. Могли. Но опыт FwMAS мешает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 14:00 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakПостгрес С, залив 500мб цсв - 47с Questdb java, залив того же файла 4с GC = 0 ну офигеть. То есть, мы прикидываемся, что чего-то там залили (4с - это, собственно, 125мб/сек, т.е. тупое чтение файла в память, без парсинга), потом начинаем парсить это дело в фоне, сливать в memory mapped file, а дальше пусть ОС с этим всем разбирается. Ну чё, нормуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 14:06 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбарашуровень обсуждения на реддите и тут, на форуме ... разительно отличается ну, там люди, наверное, разговаривают как с умалишённым, боясь спровоцировать обострение. А тут чего церемониться? Человек же врёт не краснея. 500мб csv он читает за 4.5 сек - это примерно 125мб/сек, то есть, за столько можно только прочитать 500мб с hdd в память. И уж никак не распарсить весь этот файл, сформировать в памяти структуры для транзакционного хранения и многопользовательско доступа, и т.д. Ну допустим он читает это дело с ssd. Ок, на чтение 500мб файла в память - пусть 1 сек. И 3.5 сек на всё остальное? Нобелевскую, срочно! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 14:12 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, куда бы вы поместили свою базу в этом бенчмарке? https://tech.marksblogg.com/benchmarks.html ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 16:10 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бенчмарки-это дело не благодарное. PostgreSQL без упоминания железа, ОС, а главное конфига, разговор про сферического коня в вакууме. Очень странно, что человек, который в одиночку написал убийцу современных СУБД не понимает этого. Вы реально молодец, что в одиночку замахнулись на такое большое дело и даже если не будет результата, как говорится огромный опыт идет бонусом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2019, 18:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Интересуют более детально условия тестирования. Вы пишете что ваша Dbms тестировалась в 1 поток. При таком подходе на БОЛЬШЕМ объеме конкуренты которые работают в несколько потоков или процессов имеют преимущество в использовании многоканальной памяти при условии что данные лежат соотв. Образом. Тоесть если вы сойдете с милисекунд на секунды и БОЛЬШИЕ выборки то ваша DBMS начнет отставать. Здесь timescale/postgres выполняют каждый запрос в 6 потоков. Questdb в один поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2019, 20:04 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
PsyMisha, Ну спасибо на добром слове. Может быть я не подробно рассказал о контексте «в 10—100 раз быстрее» но это не значит что цифры можно интерпретировать как угодно. Повышение производительности в 10 или 100 раз вытекает из потенциально более эффективной интерпретации данных. Например в таблице имеются записи от 0 до 100 миллионов. Когда субд агрегирует данные по ключу Х и фильтру «Ф» часть данных по сути копируется в хэш таблицу. На это может уйти пару секунд. Допустим теперь в таблицу добавилось 1000 записей которые удовлетворяют фильтр «Ф». Практически все без исключения субд будут перечитывать 100м + 1000 записей. В QuestDB данные, за исключением удаления партиций, immutable. По этому QuestDB обработает только 1000 записей и добавит к предыдущему результату. То есть мы сравниваем пару секунд с одноциферными миллисекундами. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 21:05 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kdv Бумбарашуровень обсуждения на реддите и тут, на форуме ... разительно отличается ну, там люди, наверное, разговаривают как с умалишённым, боясь спровоцировать обострение. А тут чего церемониться? Человек же врёт не краснея. 500мб csv он читает за 4.5 сек - это примерно 125мб/сек, то есть, за столько можно только прочитать 500мб с hdd в память. И уж никак не распарсить весь этот файл, сформировать в памяти структуры для транзакционного хранения и многопользовательско доступа, и т.д. Ну допустим он читает это дело с ssd. Ок, на чтение 500мб файла в память - пусть 1 сек. И 3.5 сек на всё остальное? Нобелевскую, срочно! Это полный бред. 4.1с это залив данных в реальном времени. Questdb сохраняет файл прямо в базу и при этом автоматически определяет количество полей, их типы, разделитель и отличат двоичный файл от текстового. Философия и высшая математика не уместна, скачай и сам проверь. Все открыто Кстати KDB за тоже время зальёт файл — они наверно Нобелевскую обмыли уже ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 21:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Troglodit Бенчмарки-это дело не благодарное. PostgreSQL без упоминания железа, ОС, а главное конфига, разговор про сферического коня в вакууме. Очень странно, что человек, который в одиночку написал убийцу современных СУБД не понимает этого. Вы реально молодец, что в одиночку замахнулись на такое большое дело и даже если не будет результата, как говорится огромный опыт идет бонусом. Описание железа на странице 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 21:36 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш bluestreak, куда бы вы поместили свою базу в этом бенчмарке? https://tech.marksblogg.com/benchmarks.html Мы на этих данных пока не тестировались. Скоро я думаю. По производительности мы похожи на KDB. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 21:38 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 21:52 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakОни работают с сокетами через epoll и позволяют работать в моногопользовательском режиме. "Это ты круто задвинул!" (с) "А унутре у нея неонка." (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2019, 22:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Я так понимаю вы её в апач только сейчас выпустили. Как думаете монетизироватЬ? Консалтингом вокруг апачевской базы? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 00:28 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, а вы с Apache-Orc не работали? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 00:33 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, есть ли у базы какие-нибудь энтерпрайз или большие пользователи? Кто они? Если их нет, как вы планируете продвигать базу? Просто не знаю, как продвигается opensource продукт. есть ли у неё какая-нибудь специализация, например, на трейдинге, как у kdb, или она general purpose? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 00:43 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш, Через open core бизнес модель. Мы пишем отдельный продукт, который использует QuestDB и предоставляет отказоустойчивость, масштабирование, интеграционные примочки, автоконфигурацию итд От консалтинга пытаемся держаться подальше, я хотел бы упростить эксплуатацию субд а не усложнять ради денег ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 00:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton bluestreak, а вы с Apache-Orc не работали? Нет, к сожалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 00:51 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш bluestreak, есть ли у базы какие-нибудь энтерпрайз или большие пользователи? Кто они? Если их нет, как вы планируете продвигать базу? Просто не знаю, как продвигается opensource продукт. есть ли у неё какая-нибудь специализация, например, на трейдинге, как у kdb, или она general purpose? У нас есть несколько пользователей из финансовой и криптовалютной торговли. В основном QuestDB используется как low latency хранилище в трейдинг системах где размещение заказа должно происходить за меньше чем 15 микросекунд. Мы подвигаем через общение с разработчиками, помогаем им решать задачи в замен на внедрение QuestDB. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 01:09 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakВ основном QuestDB используется как low latency хранилище в трейдинг системах где размещение заказа должно происходить за меньше чем 15 микросекунд. Забавный научный факт: за 15 микросекунд свет успевает пролететь чуть больше четырёх километров. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 01:16 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Бумбараш bluestreak, есть ли у базы какие-нибудь энтерпрайз или большие пользователи? Кто они? Если их нет, как вы планируете продвигать базу? Просто не знаю, как продвигается opensource продукт. есть ли у неё какая-нибудь специализация, например, на трейдинге, как у kdb, или она general purpose? У нас есть несколько пользователей из финансовой и криптовалютной торговли. В основном QuestDB используется как low latency хранилище в трейдинг системах где размещение заказа должно происходить за меньше чем 15 микросекунд. она как транзакционная база используется в этом сценарии выставления ордеров? То есть какие-то апдейты происходят в самой базе? Просто вроде обычно такие базы, Kdb, etc, используются для аналитики. Или она поставляет аналитику какому-то потребителю, который и выставляет ордер на основе сигнала questdb. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:14 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakВ основном QuestDB используется как low latency хранилище в трейдинг системах где размещение заказа должно происходить за меньше чем 15 микросекунд. Забавный научный факт: за 15 микросекунд свет успевает пролететь чуть больше четырёх километров. Несколько лет назад один господин кодил DBMS с наносекундным откликом. Чото мне заранее поплохело.... Дайте валерьянки. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:31 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш, QuestDB используется в имплементации движка OUCH, похожего на FIX, только производительнее. В неё сохраняются все входные и исходящие сообщения. Когда нарушается связь между клиентом и торговой системы из QuestDB достаются ответы (execution reports) по номерам последовательностей. QuestDB встроенная в такой ситуации. Дополнительно из QuestDB используются библиотеки доступа к сети, вместо Java NIO, логирования и обмена сообщениями между потоками. В других приложениях QuestDB используется как основание lossless multicast шины сообщений, все те же библиотеки как для ouch движка и ещё библиотека, которая заворачивает epoll/kqueue/select и работает быстрее чем Java/netty и позволяет конфигурировать несимметричное количество пользователей и потоков. Аналитика потом делается из данных которые консолидируются по сети через эту multicast шину. KDB тоже используется как в торговых системах, в конфигурации ticker—plant как система сообщений и генерации алгоритмических заказов, так и для аналитики естественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 20:57 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakQuestDB используется как основание lossless multicast шины сообщений, все те же библиотеки как для ouch движка и ещё библиотека, которая заворачивает epoll/kqueue/select и работает быстрее чем Java/netty и позволяет конфигурировать несимметричное количество пользователей и потоков. Так вот откуда в ней возникает синекдоха отвечания... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 22:21 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Нессимметричное число пользователей? Я впервые слышу такую комбинацию слов! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 22:25 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Нессимметричное число пользователей? Я впервые слышу такую комбинацию слов! Один поток может одновременно общаться с несколькими сокетами. Парсеры протоколов написаны так что они работают с сокетами на уровне скорости процессора а не на уровне модема с другой стороны. Отсюда несеммитричность числа подключений и серверных потоков. Постгрес форкает процесс для каждого accept() и все уважают и не гы—гыкают. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 23:13 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakОдин поток может одновременно общаться с несколькими сокетами. Собственно это и есть основная (а точнее единственная) задача epoll/select. bluestreakПарсеры протоколов написаны так что они работают с сокетами на уровне скорости процессора а не на уровне модема с другой стороны. Для 15 микросекунд вам подойдёт только локалхост, да и то со спидхаком, а в его случае бутылочным горлышком как раз является процессор. bluestreakОтсюда несеммитричность числа подключений и серверных потоков. То есть ваше мега-хау-ноу это пул потоков и паттерн producer-consumer в действии. Н-е-о-н-к-а. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 23:22 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Это не только epoll это еще все парсеры написаны как state—machine и оттестироаны с невменяемым количеством комбинаций когда парсер прерывается из-за инертного сокета и восстанавливается по сигналам epoll. Я здесь говорю о рабочем продукте а не заявке на патент или Нобелевскую премию. Говорить а блин это же epoll это очень упрощённый взгляд на вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 23:33 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakпарсеры написаны как state—machine А бывают в живой природе другие? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 23:41 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, 15 микросекунд это не теоретический полёт света, это разбор протокола, валидация, проверка риска и ограничений, конвертация протоколов, два сохранения, четыре сетевых хопа и поиск в order book. Вот это все между двумя серверами и 300м интерконнектом. Не на локалхосте а на solarflare картах и mellanox layer 3 свич. Все это 10микро 99.99 percentile ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 23:41 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Бывают, большенство ленивые, чтобы им в рот все сразу мама положила ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 23:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Господа. Я придерживаюсь такой точки зрения. Что "дорога ложка к обеду", и "у каждой вещи - свое предназначение". Автор создаёт вещь которая ему нужна. У него - юзкейс такой. И условия. Кстати. Расскажите мне как вы коллеги понимаете термин - таймсерия. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 09:12 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Расскажите мне как вы коллеги понимаете термин - таймсерия Вот-вот, - поддерживаю. Какой-то жутко оптимизированный сиквенс? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 09:17 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Dimitry Sibiryakov, Это не только epoll это еще все парсеры написаны как state—machine и оттестироаны с невменяемым количеством комбинаций когда парсер прерывается из-за инертного сокета и восстанавливается по сигналам epoll. Я здесь говорю о рабочем продукте а не заявке на патент или Нобелевскую премию. Говорить а блин это же epoll это очень упрощённый взгляд на вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 09:36 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Кстати. Расскажите мне как вы коллеги понимаете термин - таймсерия. Меня вполне устраивает классическое определение https://en.m.wikipedia.org/wiki/Time_series ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 10:55 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш mayton Кстати. Расскажите мне как вы коллеги понимаете термин - таймсерия. Меня вполне устраивает классическое определение https://en.m.wikipedia.org/wiki/Time_series +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 11:12 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш mayton Кстати. Расскажите мне как вы коллеги понимаете термин - таймсерия. Меня вполне устраивает классическое определение https://en.m.wikipedia.org/wiki/Time_series Меня не устраивает. Мы не сможем судить или оценивать систему которую создал автор до тех пор пока не формализуем API который работает (и работает оптимально) с ней. Протокол этого API будет определять структуру данных в которой должна лежать тайм-серия. Не всегда это массив. Если вы хотите быстро искать точечные значения - то данные надо хранить в деревьях. Диапазоны (короткие) - тоже в деревьях. Более длинные последовательности - в блоках дерева. И очень длинные - в stripes наподобие apache orc. Кстати дисковое хранение тут тоже важно. Если мы полностью полагаемся на memory-mapped от операционки - то это значит что мы полностью доверяем ей механику кеширования которая не всегда оптимальна по алгоритму (дервянный LRU) или по размеру блока 1k? 1M? или по приоритезации? Что вытеснять когда нехватка? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 11:54 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Ну и по обновлениям. Будут ли данные принимать updates? BigData в классическом понимании этого термина предполагает что данные только исторические. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 12:01 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan), Да, все парсеры вручную :( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:16 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Спасибо за конструктивные вопросы. Я себе представляю таймсерию как журнал событий, в котором как было бы удобно человеку, данные хранятся в столбик. Как вы понимаете в таком способе представления есть преимущества и недостатки. Из преимуществ: — Данные очень легко добавлять — записываем всегда в конец, отсюда огромная скорость добавления и так же очень недорогая атомичность. — данные всегда выбираются в той же последовательности в которой они добавлены, либо в строго противоположной если нужно. — данные не мутируют, отсюда возможна реализация инкрементальных запросов о которых я уже говорил — новые данные всегда в конце журнала — время хранится в порядке возрастания, отсюда сложность хранения О(1) и временная сложность O(log n). Дерево по сравнению O(log n) хранение и поиск, плюс место на диске Из недостатков: — сложность удаления индивидуальных записей, в случае QuestDB — невозможность, данные удаляютя удаляются через партиции — невозможность физического изменения записей; изменения виртуальные и реализуются через select По поводу доступа, он действительно только через memory mapped file. Здесь предположение что ва сервере субд достаточно памяти. Со своей стороны QuestDB выполняет запись и чтение через отдельные страницы. При записи таблицы используется одна страница, которая двигается вниз по мере поступления данных. При чтении, страницы мапятся лениво, по мере необходимости. Также группы таких страниц помещаются во внутренний LRU кэш. QuestDB старается быть эффективной с памятью. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:53 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakПо поводу доступа, он действительно только через memory mapped file. То есть Durability отсутствует как класс. Isolation, похоже, тоже. Как и собственно транзакции. То есть это FwMAS с поддержкой сети. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:06 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakПо поводу доступа, он действительно только через memory mapped file. То есть Durability отсутствует как класс. Isolation, похоже, тоже. Как и собственно транзакции. То есть это FwMAS с поддержкой сети. Это ближе к Hadoop. Один раз сохранил - и 3.14дец. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:22 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Вы прямо мировой чемпион по прыжкам к умозаключениям? Неленивый человек может найти «commit» в репо ра минуту. Durability будет конфигурируемый — msync() синхронный, асинхронный и отсутствующий. Данные полностью атомичны и все чтения полностью изолированы. Причём размер транзакции не ограничен. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:32 |
|
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 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev курс одной котировки за 15+ лет в "минутках" = 15*365*24*60 = 7 884 000 записей на один символ возьмем, от балды, 50 тыс. символов = 7 884 000 * 50 000 = 394 200 000 000 записей IMHO примерно с такого объема данных можно начинать тестить и заканчивая где-то на 250-500 тыс символов если мы говорим о котировках AFAIK p.s. сотни тысяч символов получалось на каких-то специализированных рынках (вроде облигации или что-то такое), почему так много, в свое время объясняли, но я уже не помню. Но там символов было много, а данных, соответвтенно, в столько же раз меньше. Отлично, подобная задача может решаться полностью паралллельно. Можно например залить столько символов в одну базу сколько ядер на процессоре и выполнять запросы для каждого символа параллельно. 7.5 записей это фигня для одного потока. Вопрос только что с этими записями делать? Составлять volume based order book и считать wvap? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:23 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Помните о чем я говорил. Параллелизм линейно наращивается на вычислительных задачах типа майнинга. Там где у процессов shared nothing. Получили задачу. Отработали и отдали результат. У вас - интенсивная интеракция с памятью. Тут старик Амдал злобно хохочет над нами. Первый поток загузит канал памяти вычитками. Второй поток поднимет общую производительность на 20-30% наверное. А третий еще добавить 3-5% и так далее. Вот здесь хадуп - герой. Дада дорогой товарищ. Имеено та таком кейсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:28 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev смысла поколоночника для котировок особой не вижу в реальной системе били на чанки по времени также, не очень понятно, можно ли запросный движок обучать "хитрым" агригациям. Как я помню, вроде дневные и недельные котировки могут считаться хитрым образом, в зависимости от времени и графика работы биржи Если все данные всегда обрабатываются вместе то поколонник конечно проблемы не решают. В то же время расходы на наш поколонник супер маленькие. Для произвольных поисков или даже диапазон дат искать — есть преимущества. Хитрая агрегация не для всего, согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:28 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Помните о чем я говорил. Параллелизм линейно наращивается на вычислительных задачах типа майнинга. Там где у процессов shared nothing. Получили задачу. Отработали и отдали результат. У вас - интенсивная интеракция с памятью. Тут старик Амдал злобно хохочет над нами. Первый поток загузит канал памяти вычитками. Второй поток поднимет общую производительность на 20-30% наверное. А третий еще добавить 3-5% и так далее. Вот здесь хадуп - герой. Дада дорогой товарищ. Имеено та таком кейсе. Это теория, давайте может попробуем на практике? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:30 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Помните о чем я говорил. Параллелизм линейно наращивается на вычислительных задачах типа майнинга. Там где у процессов shared nothing. Получили задачу. Отработали и отдали результат. У вас - интенсивная интеракция с памятью. Тут старик Амдал злобно хохочет над нами. Первый поток загузит канал памяти вычитками. Второй поток поднимет общую производительность на 20-30% наверное. А третий еще добавить 3-5% и так далее. Вот здесь хадуп - герой. Дада дорогой товарищ. Имеено та таком кейсе. хадуп и low latency - это перпендикулярные понятия там полчаса вставка одной записи, полчаса выборка ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш mayton Помните о чем я говорил. Параллелизм линейно наращивается на вычислительных задачах типа майнинга. Там где у процессов shared nothing. Получили задачу. Отработали и отдали результат. У вас - интенсивная интеракция с памятью. Тут старик Амдал злобно хохочет над нами. Первый поток загузит канал памяти вычитками. Второй поток поднимет общую производительность на 20-30% наверное. А третий еще добавить 3-5% и так далее. Вот здесь хадуп - герой. Дада дорогой товарищ. Имеено та таком кейсе. хадуп и low latency - это перпендикулярные понятия там полчаса вставка одной записи, полчаса выборка Справедливое замечание. Согласен. Но мой тезис был-бы неполный если-бы мы обсуждали только системы на базе 1 физического сервера. Надо было еще рассмотреть вычислительный grid. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:51 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak mayton Помните о чем я говорил. Параллелизм линейно наращивается на вычислительных задачах типа майнинга. Там где у процессов shared nothing. Получили задачу. Отработали и отдали результат. У вас - интенсивная интеракция с памятью. Тут старик Амдал злобно хохочет над нами. Первый поток загузит канал памяти вычитками. Второй поток поднимет общую производительность на 20-30% наверное. А третий еще добавить 3-5% и так далее. Вот здесь хадуп - герой. Дада дорогой товарищ. Имеено та таком кейсе. Это теория, давайте может попробуем на практике? Дай бог. Попробуем. Я пока не нашел практического применения для вашей системы. Но как только найду - затещу на своих данных. Если вы не против. И на своих запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 16:52 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Вопрос только что с этими записями делать? х.з. я не специалист, https://ru.tradingview.com/ на вход online поток данных (минутки, пятиминутки) с рынка на выходе история + агрегация онлайн объединения истории + новые данных и онлайн агрегация Но опять таки, нужно помнить, что агрегация это не тупое суммирование, а должна подчиняться правилам. Вроде из минуток дни собираются уже хитрым образом. Аналогично недели. Сплиты акций и пр. и пр. т.е. СУБД должна допускать возможность написания своих правил агрегации если дни, недели и всякие сплиты акций обрабатываются уровнем выше, чем БД, то тогда на уровне БД останется только хранение, а с этим любая база справится (данные хранятся не в виде записей, а просто chunk'ами в blob в сериализованном виде) ACID/надежность не сильно важна, т.к. потеря данных за текущей день вполне допустима (можно заново запросить у биржи) bluestreak Можно например залить столько символов в одну базу сколько ядер на процессоре и выполнять запросы для каждого символа параллельно 50 тысяч символов Возможно у Пентагона компьютеры с 50 тыс. ядер и существуют, но это как-то перебор ))) Сам присутствовал, когда "агрегатор" сломался при попытке залить за одну операцию >150 тысяч символов, банально одни только акторы для символов сожрали 2Gb heap. Какой-то хитрый рынок, где символов безумно много, но они маленькие Поэтому даже идея наплодить столько файлов, сколько символов - и то выглядит немного нетрадиционно, а уж сколько символов = столько ядер - утопия. bluestreak Если все данные всегда обрабатываются вместе то поколонник конечно проблемы не решают. В то же время расходы на наш поколонник супер маленькие. bar'ы котировок расходы на поколочник супер маленькие - не сильно верится расходы должны быть прямо пропорциональны кол-ву колонок mayton Первый поток загузит канал памяти вычитками. Второй поток поднимет общую производительность на 20-30% наверное не преувеличивайте у серверных процессоров кэш по 2-16 Mb на ядро перегрузить канал памяти вычитками, надо сильно постараться тут скорее важнее скорость общения с другими системами + переключение потоков операционкой у клиентов автора меланох и, подозреваю, если админы старались время выжимать, прерывания и обработчики к конкретным ядрам прибиты гвоздями Но честно говоря, узок круг людей, которые приложения на таких серверах готовы разворачивать. У обычных людей Ethernet и виртуалки, и хорошо если в одной стойке, а не в разных серверных и на разных континентах. А тут уже latency запроса будет значимо. Т.е. банальная идея например агрегировать минутки в СУБД, а дни собирать на уровне приложения - уже не очень хорошо выглядит. Для одного года потребуется уже 365 запросов. Тогда проще все вычитать одним запросом и все агрегировать на стороне приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 17:40 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Отлично! Если есть время и настроение давайте что нибудь сообразим. Вы мне подкиньте структуры и типы запросов, а я туда подходящих данных на генерю и попробуем туда—сюда ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 17:41 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak mayton, Отлично! Если есть время и настроение давайте что нибудь сообразим. Вы мне подкиньте структуры и типы запросов, а я туда подходящих данных на генерю и попробуем туда—сюда Кстати. Ты материализованные представления создаёшь? Вот посчитал я арифметическое среднее и средне-квадрат отклонение для целой сериии. Жаль терять результат. Куда его сохранить? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 17:59 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Пока нет, но можно сделать легко. Есть вот это пока: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 18:04 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, автор х.з. я не специалист, https://ru.tradingview.com/ на вход online поток данных (минутки, пятиминутки) с рынка на выходе история + агрегация онлайн объединения истории + новые данных и онлайн агрегация Но опять таки, нужно помнить, что агрегация это не тупое суммирование, а должна подчиняться правилам. Вроде из минуток дни собираются уже хитрым образом. Аналогично недели. Сплиты акций и пр. и пр. Ну обычно собирается ордер бук на каждый чих с размеры по вертикали и цены по горизонтали и на это считают VWap. В QuestDB я как раз сделал все функции как плагины, свою написать довольно просто на Java или другом JVM языке. Даже можно код функции оставить в своём проекте автор 50 тысяч символов Возможно у Пентагона компьютеры с 50 тыс. ядер и существуют, но это как-то перебор ))) Сам присутствовал, когда "агрегатор" сломался при попытке залить за одну операцию >150 тысяч символов, банально одни только акторы для символов сожрали 2Gb heap. Какой-то хитрый рынок, где символов безумно много, но они маленькие Поэтому даже идея наплодить столько файлов, сколько символов - и то выглядит немного нетрадиционно, а уж сколько символов = столько ядер - утопия. Я не это имел ввиду. Если есть 10 серверов к примеру с 36 ядрами каждый, то можно допустить что одновременно можно считать 360 символов без всякой координации между этими вычислениями. Затем 360 символов в следущей группе итд, 139 груп. Интересно посмотреть сколько времени один символ займёт (7.5м это очень мало, для примера на моем перегретом лаптопе 10м «агрегируются» за 0.22с, ок, более сложная формула добавит что-то но я думаю воткнуть символ в секунду это вполне реалистично) Затем посмотреть что система может выполнить запрос по двум символам одновременно за время одного. Из этого вытекает 139с :) Неплохо для 139 триллионов записей :Р ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 18:27 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
В timeseries не силен, т.ч. мнение полного дилетанта. Возможно пишу бред. 1. Документации типа reference не нашел. Tutorial бегло просмотрел, но мало чего понял. Даже описание синтаксиса SELECT'а не увидел 2. Для реальных приложений, явно стандартного набора SUM, AVG, COUNT хватать не должно. Т.е. на мой взгляд, с учетом того, что система Open Source и написана на Java (?), должна быть документация (чего вообще не увидел) насколько легко можно реализовывать и встраивать свои функции УЖЕ ОТВЕТИЛИ. СПАСИБО 3. Поддержка TimeZone. Для Time Series СУБД на мой взгляд, нормальная (отсутствующая в обычных базах) поддержка такого понятие как time, быть должно Подозреваю, "обычные" СУБД даже с задачей посчитать avg/min/max по дню в таймзоне биржи на которой листинг уже справятся через одно место. А если день считать с момента открытия и до момента закрытия биржи, то и подавно. При этом за 15 лет время работы биржи могло и поменяться Аналогично понятие неделя, год, месяц.... Не всегда год начинается 1 января в 0:00, он может начаться и 11 января в 9:00 (первый рабочий день). При этом, если мы говорим об интервале времени в десятки лет, данные правила могли и меняться со временем Есть ли какая поддержка для такой работы с датами/временем в Вашей СУБД ? 4. Не очень понятно, как работают(должны работать) JOIN двух и более time series. Вообще, отличает ли СУБД join'ы: 1) time series с не time series (пример из туториала соединение справочника датчиков и измерений) 2) join time series с time series одинаковой размерности 3) join двух time series с разными размерностями, приводить размерность одних тайм серий к другим Например есть тайм серия минутных баров, есть времени работы биржи, есть сплит акций Мы хотим выбрать данные за 2015 год и получить максимальную цену на каждый день, на момент закрытия биржи, при этом с учетом сплита который произошел 01.03.2015 9:00. (т.е. цену до 01.03.2015 9:00 нужно умножить в два раза) Как должны выглядеть таблицы и какой должен быть запрос? Техническое убрал под спойлер 1. Хранение информации по котировках. Масштабируемость решения (СУБД все же должна уметь масштабироваться). Если хранить каждый символ в отдельном файле (да еще отдельные колонки bat'а тоже в отдельных файлах!) Кол-во символов в несколько десятков тысяч - мне кажется совершенно нормально даже для уровня одной биржи Т.е. как минимум должна быть проверка и доказательство, что система нормально работает при таком кол-ве файлов-партиций и/или существует какой-то механизм автоматического закрытия/открытия файлов 2. Обновление. Я так понимаю, в лучших традициях FvMas ))), данные хранятся в виде банального массива Для time seriaes баров котировок, это скорее хорошо, чем плохо. Но встает вопрос накладных расходов. Как я понимаю, каждый "активный" символ будет требовать 4 K памяти (страница) * кол_во_колонок_в_баре пусть 50 000 символов * 8 колонок на бар (произвольно) * 8 байт на double * 4 000 байт = всего 12 800 MB для in-memory буферов для активного изменения. Как бы не много, я ожидал большего ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:48 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
На самом деле представляю объем работы, что бы сделать свою СУБД..... офигеть ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:51 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Не очень понятно, как работают(должны работать) JOIN двух и более time series. Скорее всего - никак. Это не юзкейс таймсерии. В смысловой нагрузке таймсерия это некая ось координат вдоль которой рисуется график измеряемой величины. Как можно джойнить график - непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:57 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevНа самом деле представляю объем работы, что бы сделать свою СУБД..... офигеть Если специализированную, как у автора, без поддержки UPDATE и DELETE, без транзакций и без полного синтаксиса SQL - не слишком много. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:03 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Leonid KudryavtsevНа самом деле представляю объем работы, что бы сделать свою СУБД..... офигеть Если специализированную, как у автора, без поддержки UPDATE и DELETE, без транзакций и без полного синтаксиса SQL - не слишком много. Удивительный человек, писать может а читать нет. Я вам уже два раза про транзакции и update сказал. Ну ладно, продолжай троллить. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:07 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЯ вам уже два раза про транзакции и update сказал. Ну так и я о том же: bluestreak— сложность удаления индивидуальных записей, в случае QuestDB — невозможность, данные удаляютя удаляются через партиции — невозможность физического изменения записей; изменения виртуальные и реализуются через select То есть ни DELETE, ни UPDATE - нет. bluestreakДанные полностью атомичны и все чтения полностью изолированы. Причём размер транзакции не ограничен. То есть вся транзакционность сводится к dirty read с полной блокировкой таблицы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev На самом деле представляю объем работы, что бы сделать свою СУБД..... офигеть Я думаю что большинство "самодельных" СУБД представляют собой вариации на тему Redis. Key-Value. In-Memory. No ACID. Just atomic. С легкого старта - работает но куда-то улучшить... практически невозможно безе пересмотра всей механики сразу. Я тоже частенько рассеянно думаю над двумя СУБД. Хранилище фактов. Где каждый dataRow будет занимать 1 бит. И колончатое древовидное хранилище где все строки всегда отсортированы. Грубо говоря нет разницы между таблицей и индексом. Думаю я над этими СУБД по 2-3 минуты в день на сон грядущий. И написал я по ним ровно 1 файл README.md ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:21 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov То есть ни DELETE, ни UPDATE - нет. Яж говорю. Хадуп-Хадупище Только в бедной memory. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:23 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov То есть вся транзакционность сводится к dirty read с полной блокировкой таблицы. Бред. Чтение и запись QuestDB это share nothing система. Чтение никогда и ни кем не блокируется. Новый персональный рекорд по прыжкам к умозаключениям. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:28 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Leonid Kudryavtsev Не очень понятно, как работают(должны работать) JOIN двух и более time series. Скорее всего - никак. Это не юзкейс таймсерии. В смысловой нагрузке таймсерия это некая ось координат вдоль которой рисуется график измеряемой величины. Как можно джойнить график - непонятно. Как раз таки юзкейс. 1) Разные датчики Расходомер (скорость потока) + датчик температуры / давления. Нужно получить объем. Датчики стоят на разных агрегатах и выдают данные с разной периодичностью 2) Как минимум технологический юзкейс. Банальные bitmap index'ы в обычных СУБД. Для Time Series должны работать просто превосходно. Т.ч. например сделать генератор (итератор), который из обычной не time series таблички с датами вида (start_date, end_date) сделает time series нужной размерности (пусть даже минутку), а дальше.... все условия сведутся просто к одновременному проходу по 2(или более) time series с передачей в ф-цию обработчик значения из всех time series или банальный filter. Иначе запросы объединения интервальных/историчных данных на SQL - "мать, мать, мать.... привычно ответило эхо" Даже чисто такой движок, просто был бы не заменим для любой системы, где приходится работать с историческими данными. (только не понятно, как его встроить/использовать в существующих экосистемах) Бизнес-кейсов просто миллион можно придумать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:30 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЧтение и запись QuestDB это share nothing система. Чтение никогда и ни кем не блокируется. От такого определения "shared nothing" моя челюсть упала на пол. Ок, чтение не блокируется. Как у тебя взаимодействуют два коннекта, один из которых добавляет миллион записей, а второй читает тысячу последних? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 20:41 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev В timeseries не силен, т.ч. мнение полного дилетанта. Возможно пишу бред. 1. Документации типа reference не нашел. Tutorial бегло просмотрел, но мало чего понял. Даже описание синтаксиса SELECT'а не увидел Не бред. Мы только недавно начали документацию писать, доделаем. Вы на это смотрели? https://www.questdb.io/docs/select И joins: https://www.questdb.io/docs/join 3. Поддержка TimeZone. Для Time Series СУБД на мой взгляд, нормальная (отсутствующая в обычных базах) поддержка такого понятие как time, быть должно Поддержка времени заключается в двух типах, Date и Timestamp. Date это на самом деле время до миллисекунды а Timestamp до микросекунды. Все хранится в UTC. Внутри системы есть база данных с зонами, есть функция to_timestamp(), конвертирует строку в данном формате. Формат поддерживает тайм зоны. Искать диапазоны можно так Код: plaintext 1.
Найдёт все за март, ... но, этот синтакс не поддерживает зоны.. нужно исправить :( Подозреваю, "обычные" СУБД даже с задачей посчитать avg/min/max по дню в таймзоне биржи на которой листинг уже справятся через одно место. А если день считать с момента открытия и до момента закрытия биржи, то и подавно. При этом за 15 лет время работы биржи могло и поменяться Аналогично понятие неделя, год, месяц.... Не всегда год начинается 1 января в 0:00, он может начаться и 11 января в 9:00 (первый рабочий день). При этом, если мы говорим об интервале времени в десятки лет, данные правила могли и меняться со временем Есть ли какая поддержка для такой работы с датами/временем в Вашей СУБД ? Это по сути пользовательский календарь? Прямой поддержки нет, но можно функцию сделать, например это существующая группировка: Код: plaintext 1.
Это по дням в григорианском календаре и UTC. 1d это встроенная функция округления, но можно попробовать Код: plaintext 1.
? обязательно отвечу на последний вопрос! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 21:12 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakЧтение и запись QuestDB это share nothing система. Чтение никогда и ни кем не блокируется. От такого определения "shared nothing" моя челюсть упала на пол. Ок, чтение не блокируется. Как у тебя взаимодействуют два коннекта, один из которых добавляет миллион записей, а второй читает тысячу последних? Чтение последних 1000 записей выглядит так: Код: plaintext 1.
Если запрос начал выполняться до того как писатель вызвал commit() то вернутся 1000 записей до начала писания первой записи этого миллиона. В независимости от текущего положения и состояния писателя. Если запрос после commit() — сами понимаете, последняя 1000 от добавленного миллиона. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 21:17 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЕсли запрос начал выполняться до того как писатель вызвал commit() то вернутся 1000 записей до начала писания первой записи этого миллиона. В независимости от текущего положения и состояния писателя. Ок. Задачка номер 2. Два коннекта одновременно добавляют по миллиарду записей. Как будут расположены эти записи в базе: а) Сначала миллиард первого, потом миллиард второго. б) Вперемешку. Каково поведение твоей базы? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 22:11 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakЕсли запрос начал выполняться до того как писатель вызвал commit() то вернутся 1000 записей до начала писания первой записи этого миллиона. В независимости от текущего положения и состояния писателя. Ок. Задачка номер 2. Два коннекта одновременно добавляют по миллиарду записей. Как будут расположены эти записи в базе: а) Сначала миллиард первого, потом миллиард второго. б) Вперемешку. Каково поведение твоей базы? Если оба миллиарда содержат один commit() в конце - то сначала первый потом второй. Если в таблице не определён timestamp, то обе транзакции войдут без проблем. Если timestamp определён, то база проверяет что данные в хронологическом порядке. Если нет - второй коннект получит ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 23:33 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЕсли оба миллиарда содержат один commit() в конце - то сначала первый потом второй. То есть полная сериализация: пока одна транзакция не завершилась - вторая не стартует? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 23:44 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakЕсли оба миллиарда содержат один commit() в конце - то сначала первый потом второй. То есть полная сериализация: пока одна транзакция не завершилась - вторая не стартует? Если по одной таблице - да. Таблицы разные - заливаются полностью параллельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 23:53 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Скорее всего - никак. Это не юзкейс таймсерии.... Не угадал. В базе даже специальное понятие ASOF JOIN ввели. В общем, интересная штука. Если реально работает и к ней приделать удобную возможность DB LInk к "обычным" базам (Oracle), то в целом можно придумать более-менее осмысленные применения "в быту". Начина от бухгалтерии и биллинга ЖКХ. Использовать в качестве основной базы данных никто не будет, но почему бы не использовать отдельно для работы/анализа/расчетов ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 00:19 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЕсли по одной таблице - да. И если первый клиент впал в кому или тихо скончался от электрической недостаточности на 100500-й записи из миллиона, вторая транзакция будет ждать... сколько? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 00:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakЕсли по одной таблице - да. И если первый клиент впал в кому или тихо скончался от электрической недостаточности на 100500-й записи из миллиона, вторая транзакция будет ждать... сколько? Это кстати интересно. Сейчас транзакция откатывается если сокет отконнектился. Если впал в кому, то есть idle timeout, т.е. сервер закроет сокет со своей стороны и транзакцию с миллиардом откатит. Можно ещё ввести ограничения снизу на скорость заливки и длину открытой транзакции - это по запросам если необходимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 00:45 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЕсли timestamp определён, то база проверяет что данные в хронологическом порядке. То есть если мы вставили в такую таблицу (2019-12-05, 666), а потом решили, что это ошибка, то изменить вставить (2019-12-05, 777) уже не получится? Надо будет убить всю таблицу, а потом вставить её заново, с правильными данными. bluestreakТаблицы разные - заливаются полностью параллельно. Я так понимаю, ключи и прочая ссылочная целостность отсутствует как класс? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 01:27 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton Скорее всего - никак. Это не юзкейс таймсерии.... Не угадал. В базе даже специальное понятие ASOF JOIN ввели. В общем, интересная штука. Если реально работает и к ней приделать удобную возможность DB LInk к "обычным" базам (Oracle), то в целом можно придумать более-менее осмысленные применения "в быту". Начина от бухгалтерии и биллинга ЖКХ. Использовать в качестве основной базы данных никто не будет, но почему бы не использовать отдельно для работы/анализа/расчетов Не могу найти ничего внятного по AS OF. Мы используем этот термин на производстве но смысл его несколько другой. Больше относится би-темпоральному снимку мета-данных по состоянию на сейчас. Можете привести пример ASOF JOIN. Обычно JOIN делают по ключам. В таймсериях ключи - обычно timestamp. Достаточно уникальный и вещественный ключ. Каким образом мы можем его джойнить и какой физический смысл на выходе мы получим. Прошу вас не кидайте мне ссылки в литературу. У меня ее полно. Мне интересена ваша интерпретация этого смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 01:40 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov То есть если мы вставили в такую таблицу (2019-12-05, 666), а потом решили, что это ошибка, то изменить вставить (2019-12-05, 777) уже не получится? Надо будет убить всю таблицу, а потом вставить её заново, с правильными данными. Если на ваш вопрос ответить коротко, то — получится, потому как время должно быть больше или равно... Убивать не надо. Если по длиннее, то мы говорим о разных вещах. В OLTP системах когда данные вводятся в рукопашную, происходят ой и ай, время может быть просто системным а ключ записи органическим. В таких условиях поменять все ой и ай можно будет без проблем. Повторяйте ключ при вставке, задавайте новые значения полей, время шагает вперёд и все вставляется. Dimitry Sibiryakov Я так понимаю, ключи и прочая ссылочная целостность отсутствует как класс? Понимаете правильно. Здесь проблема идеологического характера. Отторгать данные это плохая идея. Данные нужно собирать все что идут. Даже плохие данные могут быть полезно использованы. Я придерживаюсь мнения что ссылочная целостность с субд — устаревшее понятие. По этому в QuestDB отсутствует как класс ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 02:54 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Представьте что у вас есть таймсерия событий которые побуждают механизм, организм, устройство к действию. Так же у вас есть таймсерия действий этого устройства. As of join позволяет соединить в одну запись действия устройства с событиями которые непосредственно предшествовали этим действиям. Финансовый пример это котировки — события; и сделки — действия ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 03:00 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, 4. Не очень понятно, как работают(должны работать) JOIN двух и более time series. Вообще, отличает ли СУБД join'ы: 1) time series с не time series (пример из туториала соединение справочника датчиков и измерений) 2) join time series с time series одинаковой размерности 3) join двух time series с разными размерностями, приводить размерность одних тайм серий к другим Я надеюсь с join достаточно было ссылки на доку? Сообщите если нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 03:13 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Например есть тайм серия минутных баров, есть времени работы биржи, есть сплит акций Мы хотим выбрать данные за 2015 год и получить максимальную цену на каждый день, на момент закрытия биржи, при этом с учетом сплита который произошел 01.03.2015 9:00. (т.е. цену до 01.03.2015 9:00 нужно умножить в два раза) Как должны выглядеть таблицы и какой должен быть запрос? Если цены top of book, то таблица могла бы выглядеть так: Код: plaintext 1.
Если мы предположим что QuestDB может использовать произвольный календарь, то запрос был бы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Но поскольку calendar(‘my fancy calendar’, ‘1d’) пока нет, замените на 1d ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 03:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakПо этому в QuestDB отсутствует как класс Вот об этом я и говорил: полное отсутствие фич, которые делают другие СУБД сложными, упрощает разработку узкоспециализированного решения до тривиальности. Опять же к вопросу о транзакциях: одна делает insert into a, inset into b, commit; вторая делает insert into b, insert into a, commit; получаем полный дедлок?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 16:39 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak mayton, Представьте что у вас есть таймсерия событий которые побуждают механизм, организм, устройство к действию. Так же у вас есть таймсерия действий этого устройства. As of join позволяет соединить в одну запись действия устройства с событиями которые непосредственно предшествовали этим действиям. Финансовый пример это котировки — события; и сделки — действия На уровне определений я все равно не могу себе представить событие и действие как сущность. Можете расписать какие поля есть в event, и action? И на основании какого алгоритма одно из них переходит в другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 17:41 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakПо этому в QuestDB отсутствует как класс Вот об этом я и говорил: полное отсутствие фич, которые делают другие СУБД сложными, упрощает разработку узкоспециализированного решения до тривиальности. Опять же к вопросу о транзакциях: одна делает insert into a, inset into b, commit; вторая делает insert into b, insert into a, commit; получаем полный дедлок?.. Фичи по проверке целостности данных заключаются в построении деревьев и беганьем по ним туда сюда. Если говорить о сложности то я согласен, традиционные базы O(log n) как минимум по вставкам, QuestDB — O(1) По поводу дедлок — блокировки, включая бесконечные, в questdb тоже отсутствуют как класс. Ваш пример вернёт ошибку даже без тайм-аута. Вы сделали вывод о дедлоке потому что я сказал транзакции по одной таблице сериализованы? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 18:11 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Давайте попробую, например событие это цена инструмента на рынке: Код: plaintext 1. 2. 3. 4. 5. 6.
У вас есть электронная система которая формирует свои цены на основе рыночных. Задача такой системы не зевать и менять цены как только рынок изменился. Например ваша система опубликовала: Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3. 4. 5.
Т.е на момент публикации цены вашей системой мы получаем самую свежую котировку (15:04) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 18:46 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, а зачем нужно поле символа? Мы такое - нормализуем к названию сущности. типа Код: sql 1. 2. 3. 4. 5.
Под каждый символ - своя таймсерия. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 19:29 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakтрадиционные базы O(log n) как минимум по вставкам, QuestDB — O(1) Традиционные базы способны быть O(log N) и по выборкам, а QuestDB - фиксированное O(N). bluestreakВы сделали вывод о дедлоке потому что я сказал транзакции по одной таблице сериализованы? Да. Но какую именно ошибку получит транзакция, пытающаяся вставить данные в две разные таблицы и почему? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 20:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Это как удобно, некоторые организации хранят все символы в одной таблице. Суть джоина не меняется (‘on’ не нужен в вашем случае) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 20:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, QuestDB поддерживает индексы и оптимизатор вырулит правильный план если они есть... Логика работы с таблицами такая: есть один writer и неограниченное количество reader‘ов, мы их оставим в покое, они никогда не блокируются. Контекст, который получает writer для транзакции от engine хранит его у себя в списке, если контексту нужен ещё один writer то он опять лезет в engine с запросом. Engine может сказать «writer занят», в этом случае у контекста есть два варианта. Первый — жаловаться пользователю, второй — ждать. Ожидание 1. Хотим добавить имя writer в список ожидания 2. Проверим что все writers которые у контекста уже есть не находятся в списке ожидания. 3. Не находятся — добавим наш writer в этот список 4. Какой-то «наш» writer в списке ожидания — ошибка, откат всего на свете ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 21:55 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Допустим у меня были такие таблички Код: sql 1. 2. 3. 4. 5. 6.
Код: sql 1. 2. 3. 4.
Time, qtime - вещественная величина. Она может быть любой. Timestamp например может фиксировать время прохождения IP пакета через сетевой интерфейс с точностью до микросекунд. Как это джойнить? Какова вероятность что time/qtime совпадёт? Или там должно быть искусственное округление? Преобразование ключа?? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 23:06 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, В отличий от реляционных join “asof” не использует равенство «=« для объединения. Совпадать ни количество записей ни значения времени в обоих таблицах не должно (необязательно). Так же нет округления времени. Представьте что мы движемся по таблице corepriceUSDCNY в направлении возрастания времени и присоединяем первую запись из quotesUSDCNY время которой строго меньше времени текущей записи из corepriceUSDCNY ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 23:58 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak В отличий от реляционных join “asof” не использует равенство «=« для объединения Похоже, для Вас будет новостью, что реляционные джойны тоже не используют. И внезапно окажется, что писать новую базу было совершенно незачем ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 13:45 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
softwarer Похоже, для Вас будет новостью, что реляционные джойны тоже не используют. И внезапно окажется, что писать новую базу было совершенно незачем Вы разрушили мой стеклянный мир :( приведите пример пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 14:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 23:45 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Мне кажется данный предикат Код: sql 1.
вместо точечного соединения вернет нам некий "треугольник" ячеек матрицы на сторонах которой разложены ключи A.Fk, B.Pk. Это КМК опасное соединение и чреватое ... скажем избыточной выборкой. Не уверен в том что это то что мы ищем. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 23:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Это КМК опасное соединение и чреватое ... скажем избыточной выборкой. Опасное.. хм.. опасность в любом соединении ровно одна: сформулировать одно, когда хочешь получить другое. А примеры типа ваших элементарно разруливаются через сочетание lag-а и соединения по between. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Мне кажется тут LAG/LEAD не подходит. Фактически нам нужен UNION/MERGE двух тайм-серий с последующей группировкой или сжатием по символу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:26 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
softwarer mayton Это КМК опасное соединение и чреватое ... скажем избыточной выборкой. Опасное.. хм.. опасность в любом соединении ровно одна: сформулировать одно, когда хочешь получить другое. А примеры типа ваших элементарно разруливаются через сочетание lag-а и соединения по between. Ну соединения через >= это вариант бесконтрольного cross join со сложностью O(n^2) А про lag — давайте я вам две таблицы по 100м записей подкину а вы их лагом чпокните? А я asof join со своей стороны на моем некудышнем лаптопе? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:29 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Мне кажется тут LAG/LEAD не подходит Мне кажется, Вы поспешили ответить, не дочитав. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:31 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Чпокнуть ... - это не инженерная терминология ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:46 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, коллега вообще разговаривает как И. В. Бунша. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak А про lag — давайте я вам две таблицы по 100м записей подкину а вы их лагом чпокните? А я asof join со своей стороны на моем некудышнем лаптопе? Давай подкидывай. Пиши задание что надо сделать. И я подозреваю что 100м записей мы качать не захотим. Нужен генератор. Желательно на каком-то демократичном скрипе (Python) чтоб все желающие могли быстро сгенерить тестовую выборку. И давай твой волшебный скрипт который все это сделает на Quest. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:55 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
softwarer mayton, коллега вообще разговаривает как И. В. Бунша. Простите, это филологический форум? Вы может ответите на техническое предложение прежде чем на личности переходить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 00:57 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Завтра подкину, на QuestDB, чтоб ты на конец скачал сегодня фикшу баги и вот русский язык у коллег учу (в словарь за «неонкой» заглядывал) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 01:02 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, это Стругацкие - Сказка о Тройке. Классика. Читать надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 01:08 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, Можно генерить данные в такой последовательности: — скачай QuestDB 4.0.3 и запусти (есть докер, .sh и .exe) — браузер на HTTP://localhost:9000 Запусти запросы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Содержимое этих таблиц можно скачать выделив название таблицы и нажав иконку «скачать» В QuestDB join выглядит следующим образом: Код: plaintext 1. 2.
Можно select * from в начале приписать но не обязательно. Этот запрос с моей стороны выполняется за 4.6с на лаптопе, возвращает 100 Лимонов записей. Интересно как у тебя получится с лагом ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 21:14 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Вот более оптимизированный джоин, 0.05с. Разница состоит в том что сервер тратил время на проход до конца курсора (100лимонов) для подсчета записей. В оптимизированном коде число записей берётся из левой таблицы и не вычисляется. В консоли грид виртуализированый, по сути 0.05с это получить первые 1000 записей джоина на клиент. Скачать весь результат это все же 4.6с + сеть. Ну все равно неплохо для интерактивного клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:51 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak На много быстрее чем influx и timescale. по сравнению с influx человеческий SQL, нормально ошибки репортятся, транзакционность данных, отказоустойчивость, поддержка реляционной модели, те неограниченные joins. Можно залить по influx протоколу а вытащить по postgres По сравнению с timescale, просто быстрее, нагружает сервер меньше, например запрос в questdb выполняется быстрее на одном потоке чем timescale на шести PostgreSQL инфраструктура конечно хорошая, но мы быстрыми темпами догоняем. Можем фич добавить быстро и без бюрократии Залив данных из файлов упрощён - questdb заливает гораздо быстрее и автоматом создаёт таблицу и определяет типы полей. Также размер транзакции не ограничен при этом транзакция остаётся атомичной Мы скоро накрутим incremental запросы, по производительности уничтожим все базы. Раз в 10-100 быстрее будет в зависимости от запроса не, ну может необразованный школьник и хочет "по производительности уничтожить все базы" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 09:47 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Ролг Хупин не, ну хочет необразованный школьник и может ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Насколько эффективно Ваша система будет обрабатывать запросы след. видов Таблички homogeneous time chunks с по-дневные данными вида: day timestamp key number value number И запросы вида: SELECT ... FROM t1, t2, t3... t100500 ASOF JOIN t1.day = t2.day ON ( t1.key = t2.key ) ... ASOF JOIN t1.day = t100500.day ON ( t1.key = t100500.key ) При этом распределение данных: day - около 180 значений (пол года) key - скажем от 50 00 до 500 000. В принципе, даже требование на изначальную упорядоченность данных при заливке вполне допустимо (однократный расчет). Но есть как-то у меня сомнения, что такой паттерн данных это не для Вашей системы ((( В принципе, могу приготовить реальные данные (расчет ЖКХ) и можно будет сравнить тяжеловеса типа Oracle и вашего бегуну. Идея использования time series (расчет ЖКХ) как-то мне кажется все меньше и меньше бредовой, увеличение кол-ва данных не такое уж и большое (в десятки-сотню раз), зато почти все расчеты начинают нормально представляться в виде SELECT'ов, что крайне круто. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:35 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
в синтаксисе SELECT ошибся, но суть думаю ясна. JOIN нужен по двум полям: timestamp + key При этом распределение перекошено в сторону key. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak/хочет/ необразованный школьник и /может/ Ещё на заре появления in-memory я шутил о БД в регистрах процессора. Миллиарды транзакций в секунду не превзойти никак. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:44 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreak/хочет/ необразованный школьник и /может/ Ещё на заре появления in-memory я шутил о БД в регистрах процессора. Миллиарды транзакций в секунду не превзойти никак. Это все оправдания уважаемый, я объяснял как это работает. Вы после вышеприведённых шагов можете компьютер обесточить и когда включите увидите те же данные и ту же скорость выполнения запросов. Покажите неграмотному школьнику как что вы сделали лучше и правильнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:54 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakВы после вышеприведённых шагов можете компьютер обесточить и когда включите увидите те же данные и ту же скорость выполнения запросов. А ты пробовал? По твоим же словам синхронный сброс буферов ещё не реализован. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:03 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Насколько эффективно Ваша система будет обрабатывать запросы след. видов Таблички homogeneous time chunks с по-дневные данными вида: day timestamp key number value number И запросы вида: SELECT ... FROM t1, t2, t3... t100500 ASOF JOIN t1.day = t2.day ON ( t1.key = t2.key ) ... ASOF JOIN t1.day = t100500.day ON ( t1.key = t100500.key ) При этом распределение данных: day - около 180 значений (пол года) key - скажем от 50 00 до 500 000. В принципе, даже требование на изначальную упорядоченность данных при заливке вполне допустимо (однократный расчет). Но есть как-то у меня сомнения, что такой паттерн данных это не для Вашей системы ((( В принципе, могу приготовить реальные данные (расчет ЖКХ) и можно будет сравнить тяжеловеса типа Oracle и вашего бегуну. Идея использования time series (расчет ЖКХ) как-то мне кажется все меньше и меньше бредовой, увеличение кол-ва данных не такое уж и большое (в десятки-сотню раз), зато почти все расчеты начинают нормально представляться в виде SELECT'ов, что крайне круто. Join будет спокойно работать с «on» фразой, те время + ваши поля, 50000 значений это вполне в диапазоне в котором мы тестируем. Технически количество join не ограничено, но если честно, я не тестировал на 100,000 таблицах. Join выполняется как цепочка пар — нагрузка на память только. Есть ещё и конфигурирований предел размеру SQL текста... От чего зависит количество таблиц в вашем примере? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:06 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakВы после вышеприведённых шагов можете компьютер обесточить и когда включите увидите те же данные и ту же скорость выполнения запросов. А ты пробовал? По твоим же словам синхронный сброс буферов ещё не реализован. Пробовал. Я не трещу о том что я не делал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:06 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakПробовал. Сколько раз? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:11 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakПробовал. Сколько раз? Запись на диск ведётся через 16мб страницы. Когда страница заканчивается она демонтируется, что приводит к асинхронному msync(), и создаётся новая страница итд. Дело в том что на ссд 16мб записываются довольно быстро. Данные будут на диске перед тем как вам вэб консоль done напишет. В любом случае если вы не дождавшись завершения insert провод из розетки выдерните то будет либо 0 либо 100м записей, поскольку при открытии QuestDB чинит файлы и отматывает побитые транзакции. Достаточное количество пробовал, е даже несколько HDD убил такими экспериментами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakЗапись на диск ведётся через 16мб страницы. Когда страница заканчивается она демонтируется, что приводит к асинхронному msync(), и создаётся новая страница итд. Значит, если транзакция маленькая и не достигла 16 мб, она не вызовет msync, несмотря на то, что клиентская часть уже получила "ок" на commit?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:27 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, топик читаю. Все проверять не успеваю. Возможно ближе к пятнице. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:29 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakЗапись на диск ведётся через 16мб страницы. Когда страница заканчивается она демонтируется, что приводит к асинхронному msync(), и создаётся новая страница итд. Значит, если транзакция маленькая и не достигла 16 мб, она не вызовет msync, несмотря на то, что клиентская часть уже получила "ок" на commit?.. Пока да, в 4.0.4 будет полная поддержка msync() ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 14:45 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton bluestreak, топик читаю. Все проверять не успеваю. Возможно ближе к пятнице. Отлично, не торопись! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 15:15 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakЗапись на диск ведётся через 16мб страницы. Когда страница заканчивается она демонтируется, что приводит к асинхронному msync(), и создаётся новая страница итд. Значит, если транзакция маленькая и не достигла 16 мб, она не вызовет msync, несмотря на то, что клиентская часть уже получила "ок" на commit?.. Ну вот добавил конфигурируемый msync(), теперь можно делать async/sync/nosync для индивидуального комита или использовать глобальное значение по умолчанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 12:28 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakНу вот добавил конфигурируемый msync(), теперь можно делать async/sync/nosync для индивидуального комита или использовать глобальное значение по умолчанию. И при значении sync какая теперь скорость у вставки с коммитом после каждой записи? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 13:45 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakНу вот добавил конфигурируемый msync(), теперь можно делать async/sync/nosync для индивидуального комита или использовать глобальное значение по умолчанию. И при значении sync какая теперь скорость у вставки с коммитом после каждой записи? Здесь бенчмарк. Запись состоит из одной 64—битной колонки: https://github.com/questdb/questdb/blob/master/benchmarks/src/main/java/org/questdb/TableWriteBenchmark.java Результат — среднее значение в микросекундах. Код: plaintext 1. 2. 3. 4. 5. 6.
Я опять запустил это на лаптопе, все тесты один за другим. Под конец лаптоп начал перегреваться и nocommit тест опустился с 13нс до 19нс. Похожая картина и в nosync. Sync это на таком устройстве: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 14:29 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Забыл сказать, nocommit тест комитит в конце всего теста и не измеряет скорость комита. Все остальные тесты комитят каждую запись. Все вместе они создали более 10 миллиардов записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 14:36 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Как дела? Получается что-то похожее с oracle и его другом Lag’ом сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 22:39 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Мужики, если не получается в оракл либо залить 300м записей, либо отсортировать либо джонить — не беда, давайте этот момент пропустим и продолжим общение. Я же базу пишу чтобы легче жизнь была а не тяжелее. Мы будем скоро выкатывать поддержку залива данных их influx line protocol. Это популярная тема у Devops. QuestDB имеет UDP ресивер для этого. Тут недавно кто-то спрашивал как поймать 9000 пакетов на Делфи ... Мы тестировали influx и QuestDB, отправляем 50м записей по UDP unicast за 20—23с, influx ловит 2м, QuestDB — 21м это с nosync понятное дело ну и на лаптопе через loopback :) Это интересно будет если мы ещё графану прикрутим к QuestDB? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 07:27 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
В UDP пакеты имеют свойство загадочным образом "терятся" . Уверены что оно вам надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 10:51 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak не беда, давайте этот момент пропустим и продолжим общение Чувак, общаться есть смысл с теми, кто хоть что-то соображает. А над тобой можно только поприкалываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 11:32 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
И при чем тут графана - вообще непонятно. С таким-же успехом можно было сказать - а давайте прикрутим кофе-машину или холодильник. Можно конешно. К любому источнику данных. Но зачем здесь и сейчас? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 12:35 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton В UDP пакеты имеют свойство загадочным образом "терятся" . Уверены что оно вам надо? Пока не уверен. Начинаем с UDP, потом легко и TCP сделать и даже за HTTP поставить — основная сложность в парзере. UDP полезен в сборе метрик. Простая отправка и отправляющая система не замедляется базой. Время покажет надо или нет :) графана это очень простая, с точки зрения настройки, визуализация. Легко начальству показать чем занимаешься :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 13:06 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton И при чем тут графана - вообще непонятно. С таким-же успехом можно было сказать - а давайте прикрутим кофе-машину или холодильник. Можно конешно. К любому источнику данных. Но зачем здесь и сейчас? Это одна из жизненно необходимых фич для devops ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 13:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakграфана это очень простая, с точки зрения настройки, визуализация. Легко начальству показать чем занимаешься :) Обычно для этого служит Эксель. ODBC драйвер чтобы к QuestDB можно было из него цепляться вы выкатывать собираетесь? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 13:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov bluestreakграфана это очень простая, с точки зрения настройки, визуализация. Легко начальству показать чем занимаешься :) Обычно для этого служит Эксель. ODBC драйвер чтобы к QuestDB можно было из него цепляться вы выкатывать собираетесь? Конечно! К QuestDB уже можно по постгрес протоколу цепляться. Через постгрес ODBC! Так же можно через HTTP и VBA, но потом нужно ответы на бэйсике парзить — это на любителя :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 14:17 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreakК QuestDB уже можно по постгрес протоколу цепляться. Через постгрес ODBC! Ну вот проблема и решена. Берёте любой офис, подключаете к нему внешние данные, строите любые графики или проводите их анализ в привычном для пользователя окружении. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 14:30 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я предполагаю что influx и графана не сильно популярны на этом форуме? У графаны свои прелести — дашборд, графики живые, алертинг это немного другое. Excel конечно вещь хорошая и нужная но одно другого по моему не исключает. Интересно чем вы мониторите нагрузку на базы, приложения, ОС? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 15:24 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Спокойнее коллеги. Нормальный топик. Зачем вы его готовите к закрытию? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 22:19 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Можете наши не по топику комментарии удалить? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 22:32 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Нет оснований пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2019, 23:02 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Выпустили обновление: https://github.com/questdb/questdb/releases/tag/4.0.4 Здесь обсуждаемая durability и также разнообразные ускорения, в частности REST точки. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 10:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Добрый день, Ещё несколько новостей. Мы получили инвестиции и собрали команду из очень толковых инженеров. На следущей неделе начинаем развиваться одновременно в нескольких направлениях: — открыто доступный демо—сервер с данными о такси Нью-Йорка. 1.6 миллиардная основная таблица и дополнительные данные, такие как погода для анализа совпадений событий. Мы переписываем агрегацию с использованием simd и параллелизацией. Подобные запросы будут выполняться менее чем за 1 секунду. — двухфазовый комит и поддержка распределённых данных — материализованные запросы Есть так же идея добавления поддержки многопроходных формул в SQL, например: Код: plaintext 1.
Что вы об этом думаете? PS: новый сайт https://www.questdb.io/ упростили навигацию по доке, так же добавляем деталей ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2020, 17:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Есть так же идея добавления поддержки многопроходных формул в SQL, например: Код: plaintext 1.
Что вы об этом думаете? PS: новый сайт https://www.questdb.io/ упростили навигацию по доке, так же добавляем деталей если имелась ввиду avg(x — avg(y)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2020, 19:33 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
[quot kealon(Ruslan)#22095712] bluestreak это однопроходная формула если имелась ввиду avg(x — avg(y)) Ну это одно и тоже с точки зрения вычислений. Так же? Необходим заранее вычисленный агрегат чтобы делать вычисления для каждого значения «х». Можно ещё более наглядно сделать: sum(( x-avg(x))*(x-avg(x))) . Это variance. avg(x) это проход 1 остальное проход 2. Ещё всякие vwap и тд ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2020, 21:47 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak UDP полезен в сборе метрик. Простая отправка и отправляющая система не замедляется базой. Можно ещё данные отправлять не после каждого "изменения метрик", а лишь каждый 10й раз. Какая разница, по какой причине данные потерялись, зато отправляющая система не замедляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2020, 22:40 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Думаю что топик тематически связан с https://www.sql.ru/forum/1323115/proektirovanie-sistemy-sbora-geolokacionnyh-dannyh Попробуйте автору предложить этот продукт. Заодно потренируетесь в обсуждении практических вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2020, 23:23 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton Думаю что топик тематически связан с https://www.sql.ru/forum/1323115/proektirovanie-sistemy-sbora-geolokacionnyh-dannyh Попробуйте автору предложить этот продукт. Заодно потренируетесь в обсуждении практических вопросов. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 01:32 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
ъъъъъ bluestreak UDP полезен в сборе метрик. Простая отправка и отправляющая система не замедляется базой. Можно ещё данные отправлять не после каждого "изменения метрик", а лишь каждый 10й раз. Какая разница, по какой причине данные потерялись, зато отправляющая система не замедляется. Это зависит от системы. Если задача системы это не терять метрики, то нужно конечно использовать надежный протокол. Можно TCP - это просто, надежно но медленно. Можно сохранять метрики у источника и использовать UDP с NACK. При сбалансированных pub-sub может ретрансмиссий либо не быть либо очень мало. И таким образом нагрузка на сеть и cpu будет меньше. В системах у которых метрики не основной вид деятельности UDP и потери вполне приемлемы. Например вы хотите отменить теряющий деньги заказ а торговая система ожидает подтверждения получения метрики от системы которая строит графики на которые никто не смотрит. В таком случае наверно лучше перестать терять деньги чем пропустить пиксель на графике. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 01:47 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, знаешь что-нибудь про shakti database? https://shakti.com её делают создатели kdb, замутили новую контору. Что-нибудь слышно об их внедрениях в индустрии, есть ли успехи? может у тебя есть инфа какая ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 01:39 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш bluestreak, знаешь что-нибудь про shakti database? https://shakti.com её делают создатели kdb, замутили новую контору. Что-нибудь слышно об их внедрениях в индустрии, есть ли успехи? может у тебя есть инфа какая Слышал и поверхностно изучал. О применениях не слышал, КДБ засела во всех банках и версию 4 недавно сделала, вариантов мало. Если честно то я смысла в шакти особого не вижу. Все проблемы с распространением КДБ перенесли вербатим в шакти. Впечатление такое что Артуру Уитли от скуки делать нечего — в first derivative засела бюрократия от которой он хочет освободить от неё свой любимый язык. Они говорят что SIMD использует, но КДБ тоже как и другие проекты и наш в том числе. Ничего нового. Закрытый код тоже, красота, даже туториал закрыли. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 23:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 23:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
увидел там, что с ними работает некто Саня Белопольский, который написал pyq не в курсах про pyq, но он сам интересный дядя оказался https://observer.com/2009/05/alexander-belopolsky-billionaire-jim-simons-old-foe-gets-5-m-condo/ прямо Серёжей Олейниковым повеяло ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 04:08 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш bluestreak, знаешь что-нибудь про shakti database? https://shakti.com её делают создатели kdb, замутили новую контору. Что-нибудь слышно об их внедрениях в индустрии, есть ли успехи? может у тебя есть инфа какая Если это - космический корабль - то и обсуждаеть его невозможно просто в топике Сравнения СУБД. (система по сложности близка к операционке) Мы - что-то потеряем или не учтём. Если обсуждать ЕГО СУБД то ее надо вычленить и проанализировать. Вобщем. Не вижу смысла я здесь равивать идею шакти. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 11:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Сегодня мы выпустили ещё одно обновление: QuestDB 4.2.0 — текст на английском https://github.com/questdb/questdb/releases/tag/4.2.0 Это первая версия в которой появилась возможность выполнять запросы с помощью SIMD и параллельных вычислений. Мы начали с простецких запросов, таких как агрегация без ключей Код: plaintext
Данные разбиваются на сегменты, которые обрабатываются SIMD инструкциям одновременно. Так же несколько функций выполняются параллельно, в таких запросах как Код: plaintext
Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами. По сравнению с нашим самым быстрым конкурентом — KDB, QuestDB в два раза быстрее на вышеописанной агрегации. Агрегация сравнима по скорости с параллельным суммированием простого массива в языках Julia и rust. QuestDB доступна бесплатно и по Apache 2.0 лицензии, так что скачивайте пробуйте и комментируйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 01:25 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Данные разбиваются на сегменты, которые обрабатываются SIMD инструкциям одновременно. Так же несколько функций выполняются параллельно, в таких запросах как Код: plaintext
Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами. По сравнению с нашим самым быстрым конкурентом — KDB, QuestDB в два раза быстрее на вышеописанной агрегации. Агрегация сравнима по скорости с параллельным суммированием простого массива в языках Julia и rust. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 09:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan), Объясните пожалуйста? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:26 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Я спросонья пытаюсь понять что вы имели ввиду 😀 Производительность точно такая же на 64 бит целых числах. Складывать double значения действительно не точно. могут быть отличия в районе 9 знака после запятой если сравнить параллельную агрегацию с суммированием по одному. Что же делать? Это такой IEEE формат ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами. Смотри. Системы на базе in-memory имеют узкое применение. В общем случае продуктовые данные не помещаются в память. Поэтому преимущества загрузки 2х каналов памяти - это не очень полезный кейс для DBMS как таковой. Что ты собрался так много процессить? Методы сеток? Обычно пользователю интересна какая-то узкая часть данных. Которую легко индексировать или материализовывать. Или следуя лучшим традициям CQRS - трекать отдельно вообще от основного хранилища фактов. Вот эта штука Код: sql 1.
это вообще не OLTP. Это дата-аналитическая кверя. Ее исполняют 1 раз для исторического периода. Для 2019 года например и кладут ее в отдельную табличку или OLAP кубик навсегда. Там она и лежит и никогда не меняется. Вот это правильный паттерн. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 11:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Я спросонья пытаюсь понять что вы имели ввиду 😀 Производительность точно такая же на 64 бит целых числах. Складывать double значения действительно не точно. могут быть отличия в районе 9 знака после запятой если сравнить параллельную агрегацию с суммированием по одному. Что же делать? Это такой IEEE формат выход только один - "правильно считать агрегаты по таким типам", в учебниках по расчётам есть описания как это делать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 13:34 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Различия конечно есть, но существенно меньше чем 20%. Вот например сумма 1.6 миллиардов на моем ноуте (2 канала): Параллельно: Последовательно: Разница 242 с копейками, те 0.000001% ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 15:37 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton bluestreak Производительность таких вычислений достаточно высокая. Например миллиард double значений агрегируется за 290мс на прочессорах с двумя каналами памяти и 100мс с шестью каналами. Один канал памяти полностью утилизируется двумя тредами. Смотри. Системы на базе in-memory имеют узкое применение. В общем случае продуктовые данные не помещаются в память. Поэтому преимущества загрузки 2х каналов памяти - это не очень полезный кейс для DBMS как таковой. Что ты собрался так много процессить? Методы сеток? Обычно пользователю интересна какая-то узкая часть данных. Которую легко индексировать или материализовывать. Или следуя лучшим традициям CQRS - трекать отдельно вообще от основного хранилища фактов. Вот эта штука Код: sql 1.
это вообще не OLTP. Это дата-аналитическая кверя. Ее исполняют 1 раз для исторического периода. Для 2019 года например и кладут ее в отдельную табличку или OLAP кубик навсегда. Там она и лежит и никогда не меняется. Вот это правильный паттерн. Я согласен, можно посчитать и сохранить. Но смысл не в этом. Мы делаем большой объём данных интерактивными. Конечно постепенно. Польза от суммирования всей таблицу не велика, но это демонстрирует потенциальные возможности которыми могут обладать будущие субд. Это поможет сократить необходимость в индексах, материальных въю и других костылей, которые нужно постоянно поддерживать. Дальше векторные и параллельные поиски, сравнения, копирование, индексы и тд. И вообще все что захочешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 15:56 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, а вот теорию почитать? или я вам должен данные предоставить где будет 20% как за здрасти? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan) bluestreak, а вот теорию почитать? или я вам должен данные предоставить где будет 20% как за здрасти? Да, пожалуйста. Свои аргументы нужно подкреплять фактами. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:24 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, для ленивых ;-), я не занимаюсь благотворительностью ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2020, 16:30 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan) bluestreak, для ленивых ;-), я не занимаюсь благотворительностью Почему же так кисло? Вы меня совершенно не знаете. Я поделился новостями давненько и в первую очередь с соотечественниками. Но видно не очень интересно... Вот всему остальному миру интересно: https://www.reddit.com/r/programming/comments/fwlk0k/questdb_using_simd_to_aggregate_billions_of/ Ну и в ХН на главной странице: https://news.ycombinator.com/news ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 00:50 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 09:18 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
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 поделится если я нужной информацией владею. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 19:42 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan) bluestreak, для ленивых ;-), я не занимаюсь благотворительностью kealon(Ruslan) bluestreak, Лирика меня мало интересует, я уже давно обрёл защитный уровень цинизма. Тем более, я знаю как высасывают такие новости. Выискивать вам что-то конкретное - это труд, профит от которого приближается к 0, так как даже чего-то нового я не узнаю, я уж не говорю о каком-то материальном выхлопе. ты такой крутой парень кек ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 19:48 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Бумбараш ты такой крутой парень кек т.е. мне есть на что потратить и деньги и время ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 20:20 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Руслан это ты так хитро дисперсию посчитал? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 21:22 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, она самая идея не моя, известная формула из методичек ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2020, 23:56 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Красиво. Код: sql 1.
Это по сути ответ на вопрос как в map-reduce считать всякие центральные моменты. Надо-б себе записать чтоб не забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 00:13 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton, зачем её запоминать, она ж элементарно выводится для многих агрегатов, главное принцип запомнить вот это 22110498 только напрягает очень сильно, полученная формула менее устойчива к накоплению ошибок на fpu, чем исходная ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 09:36 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
А если резать выборку на под-выборки? И применять кусочно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 10:49 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Время поделиться новой информацией: Добавил две дополнительные функции: ksum() — kahan и nsum() — neumaier. Последняя более точная сумма. Все три суммы, sum(), ksum() и nsum() выполняются с примерно одинаковой скоростью: 409мс, 411мс и 414мс на 1.6 миллиардов 64бит double значениях.(dell xps15 7590 ноут) Это все на master пока, можно попробовать если есть желание. https://github.com/questdb/questdb Проблема остаётся все той же: пропускная способность памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 00:16 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Проблема остаётся все той же: пропускная способность памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 13:45 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
mayton bluestreak Проблема остаётся все той же: пропускная способность памяти. Это не аксиома конечно. Я думаю по этому Руслан был настроен крайне скептически. Мы прогнали clickhouse на миллиарде. У них тоже есть Кахан. Там наивная сумма 275мс, кахан — 850мс. То есть не в память упёрся. У нас 245мс наивно и 250мс - кахан. Постгрес — 2 минуты 🧐 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 23:57 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Ну вы даёте блин. Это ж системы разного класса. Postgres - классическая дисковая. С полным набором фич ACID. И даже если вы ее поставите поверх SSD - она по прежнему будет применять весь стек технологий для работы с tuples, 8k-pages e.t.c. И data-rows будет писать с атрибутами версионности и хрен выключишь эту механику. Нельзя так сравнивать. А-то побегут выбрасывать свой PG и заменять его на ваш "ФВМяс". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 16:09 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
Добрый вечер, мы вот запустили сервер, на котором можно попробовать QuestDB. Там таблица на 1.6 миллиард записей и примеры запросов. Вы так же можете написать произвольные запросы. Не все конечно оптимально, но попробуйте и поделитесь предложениями http://try.questdb.io:9000 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 18:00 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2020, 17:26 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak, круто ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2020, 18:58 |
|
QuestDB - новая СУБД для хранения time series данных
|
|||
---|---|---|---|
#18+
bluestreak Инкрементальные запросы вытекают из предположения что данные на изменяются. За исходный результат берётся не 0 а результат предидущего запроса. Например ‘select location, avg(temp) where timestamp = ‘2019-12’ А если нужна статистика? Например, тот же PostgreSQL PERCENTILE_CONT()? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 13:14 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552167]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
182ms |
get tp. blocked users: |
1ms |
others: | 244ms |
total: | 509ms |
0 / 0 |