Гость
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / QuestDB - новая СУБД для хранения time series данных / 25 сообщений из 239, страница 1 из 10
28.11.2019, 18:16
    #39895858
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Доброе время суток!

Я пишу СУБД для очень быстрой обработки данных, как реляционных так и time series. Система доступна через SQL и так же напрямую из java. SQL работает одновременно по PostgreSQL протоколу, HTTP и также через Influx line protocol.

Остальное описание и документация находится на GitHub (на английском)

https://github.com/questdb/questdb

Хотелось бы услышать ваше мнение и так же помочь нам поддержать вас в решении разнообразных проблем.


Спасибо!
...
Рейтинг: 0 / 0
28.11.2019, 19:20
    #39895896
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
какие преимущества перед InfluxDB и другими распространенными TS DB?
...
Рейтинг: 0 / 0
28.11.2019, 19:35
    #39895907
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
На много быстрее чем influx и timescale.
по сравнению с influx человеческий SQL, нормально ошибки репортятся, транзакционность данных, отказоустойчивость, поддержка реляционной модели, те неограниченные joins. Можно залить по influx протоколу а вытащить по postgres

По сравнению с timescale, просто быстрее, нагружает сервер меньше, например запрос в questdb выполняется быстрее на одном потоке чем timescale на шести

PostgreSQL инфраструктура конечно хорошая, но мы быстрыми темпами догоняем. Можем фич добавить быстро и без бюрократии

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


Мы скоро накрутим incremental запросы, по производительности уничтожим все базы. Раз в 10-100 быстрее будет в зависимости от запроса
...
Рейтинг: 0 / 0
28.11.2019, 19:42
    #39895910
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak

PostgreSQL инфраструктура конечно хорошая, но мы быстрыми темпами догоняем. Можем фич добавить быстро и без бюрократии

как вы её быстрыми темпами обгоните, если у вас один контрибьютор, судя по github

bluestreak

Мы скоро накрутим incremental запросы, по производительности уничтожим все базы. Раз в 10-100 быстрее будет в зависимости от запроса

Что такое incremental запросы?
...
Рейтинг: 0 / 0
28.11.2019, 19:59
    #39895917
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Инвестиции почти готовы, получаем деньги в январе и погнали. Я и есть этот контрибутор :)

Инкрементальные запросы вытекают из предположения что данные на изменяются. За исходный результат берётся не 0 а результат предидущего запроса.

Например ‘select location, avg(temp) where timestamp = ‘2019-12’

Считает среднюю температуру в каждом месте за декабрь. Первый раз обходит весь декабрь. Запускаем еще раз. Запрос берет готовый hashmap из предидущего запуска и дорабатывает дельтой данных между сейчас и предидущим временем
...
Рейтинг: 0 / 0
28.11.2019, 20:59
    #39895941
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Сейчас кэширование в том или ином виде есть в любой DB. Некоторые DB, в том числе timeseries, полностью хранят в inmemory последние периоды time series, которыми в основном и пользуютя пользователи. Поэтому там в 10-100 раз особо некуда уже обгонять.
...
Рейтинг: 0 / 0
28.11.2019, 21:09
    #39895945
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Ну это наверное в теории. Если вы запустите запрос в influx чтобы просуммировать одно поле по ключу значений другого, то 10м записей он обработает за 100мс, запустите его ещё раз то будет опять 100мс и вы так же увидите подпрыгивание всех ядер процессора. Запрос который возвращает закешированные 20 записей возвращает данные за 3мс а не 100.

По этому если они кэшируют то далеко не столько как говорят.
...
Рейтинг: 0 / 0
28.11.2019, 22:28
    #39895965
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreakЗапрос который возвращает закешированные 20 записей возвращает данные за 3мс а не 100.

Осталось только найти странное приложение, которое раз за разом одним и тем же запросом
запрашивает одни и те же данные. Это разве что к пых-пыховцам и прочим уэб-кодерам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.11.2019, 23:04
    #39895985
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Таких приложений может быть не очевидное количество но их полно. В моём примере может быть текущий месяц, который не меняется от понедельника до пятницы. В зависимости от скорости поступления данных результат запроса меняется. Это применимо к отчетности, в реальном времени, консолям всяким которые не обязательно запрашивают данные в инкрементах и собирают картину на клиенте.

Пых-пыховцам тоже инструменты нужны.
...
Рейтинг: 0 / 0
28.11.2019, 23:07
    #39895986
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
кстати, я так же могу ответить на конструктивные вопросы. Не зря же 5 лет эту СУБД пишу.

Например, как сделать .....? Я думаю что существующие СУБД не идеальны :)
...
Рейтинг: 0 / 0
28.11.2019, 23:17
    #39895990
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreakя так же могу ответить на конструктивные вопросы. Не зря же 5 лет эту СУБД пишу.

Хочешь потягаться с теми, кто делает это 20?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.11.2019, 23:37
    #39895993
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak,

название хорошее, что означает?
работа с с данной СУБД - это перманентный Quest?
...
Рейтинг: 0 / 0
29.11.2019, 00:15
    #39895999
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Dimitry Sibiryakov

bluestreakя так же могу ответить на конструктивные вопросы. Не зря же 5 лет эту СУБД пишу.

Хочешь потягаться с теми, кто делает это 20?..


Дело не в том чтобы тягаться (я пишу софт с 1994г). QuestDB это apache 2.0 проект. Есть возможность сделать вещи, которые в существующих СУБД делаются через задницу, прямо в СУБД и по человечески, как всем было бы удобно, быстро, и не дорого в смысле вычислительных ресурсов в облаках.
...
Рейтинг: 0 / 0
29.11.2019, 00:19
    #39896000
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Дмитрий Мух
bluestreak,

название хорошее, что означает?
работа с с данной СУБД - это перманентный Quest?


Спасибо!

Quest это упорная разработка чтобы результат был удобный и быстрый. Например парка сервером, чтобы можно было 100Гб файл перетащить в браузер и он загрузился без проблем.

Ну и другие подобные вещи
...
Рейтинг: 0 / 0
29.11.2019, 05:35
    #39896022
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak,

Я пишу СУБД для очень быстрой обработки данных
java

Делаю столярный цех. Все работы будут выполняться топором и бензопилой.
...
Рейтинг: 0 / 0
29.11.2019, 06:18
    #39896027
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
crutchmaster
bluestreak,

Я пишу СУБД для очень быстрой обработки данных

java

Делаю столярный цех. Все работы будут выполняться топором и бензопилой.

Молоток

Изучил предмет дасканално
И ответил очень аригинално

Постгрес С, залив 500мб цсв - 47с
Questdb java, залив того же файла 4с GC = 0

Скачайте, попробуйте
...
Рейтинг: 0 / 0
29.11.2019, 06:37
    #39896028
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak,

Давай остальные метрики, время выборок, скорость join'ов и прочее. На базе в пару TB и работающих 100 подключениях.
...
Рейтинг: 0 / 0
29.11.2019, 06:55
    #39896032
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
                COPY    Q1      Q2      Q3      Q4      Q5      Q6      Q7      Q8  
TimescaleDB	44.776	0.275	0.187	0.55	0.733	0.285	0.195	0.448	0.079	all queries except ingestion are executed in parallel on 6 cores. Date format is rigid
QuestDB    	4.2	0.005	0.182	0.22	0.41	0.27	0.22	0.327	0.07



Q1	select count(qty) from trades
Q2	select sum(qty) from trades
Q3	select instrument, sum(qty) from trades group by instrument
Q4	select instrument, side, sum(qty) from trades group by instrument, side
Q5	select sum(price), sum(qty) from trades where side='B' (makes no sense to sum(price) but we wanted to show how aggregate expressions scale)
Q6	select sum(price), sum(qty) from trades where side='B' and instrument='AC' (makes no sense to sum(price) but we wanted to show how aggregate expressions scale)
Q7	select instrument, sum(price), sum(qty), from trades where side='S' group by instrument
Q8	select sum(price), sum(qty) from trades in range (2019-10-17, 2019-10-29) where side='S' group by 1h


Здесь timescale/postgres выполняют каждый запрос в 6 потоков. Questdb в один поток.
...
Рейтинг: 0 / 0
29.11.2019, 06:59
    #39896033
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Залей свой датасет попробуй

Joins работают быстро, количество не ограничено. Размер базы ограничен системными ресурсами, диском и физической памятью. Для работы с данными используются memory mapped files.

Количество подключений не ограниченно, сервера не блокирующие с поддержкой flow control.
...
Рейтинг: 0 / 0
29.11.2019, 07:07
    #39896035
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak,

Ну что это за бенч? Где тестовые данные? Где версии софта? Где железо? Где IO? Что там по надёжности? Она у тебя inmemory? Как это всё сбрасывается на диск?
...
Рейтинг: 0 / 0
29.11.2019, 07:25
    #39896037
bluestreak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Бенч синтетический датасет, 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 с коммитом в зависимости от задачи
...
Рейтинг: 0 / 0
29.11.2019, 09:42
    #39896094
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak
Дмитрий Мух
bluestreak,

название хорошее, что означает?
работа с с данной СУБД - это перманентный Quest?


Спасибо!

Quest это упорная разработка чтобы результат был удобный и быстрый. Например парка сервером, чтобы можно было 100Гб файл перетащить в браузер и он загрузился без проблем.

Ну и другие подобные вещи

Ну нам такого не надо, у нас другие задачи.

А 100Гб файл - это что? Киношка какая что-ли? Так с этим вроде сейчас через браузер проблем нет.
...
Рейтинг: 0 / 0
29.11.2019, 09:46
    #39896098
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak
Для работы с данными используются memory mapped files.

А с MongoDB MMAPv1 сравнивали? А с WiredTiger?
...
Рейтинг: 0 / 0
29.11.2019, 09:49
    #39896102
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
bluestreak,

Как-то без огонька. Надо устроить спецолимпиаду, написать генератор входных данных, придумать задачи, наделать скриптов, чтобы кому надо могли у себя это запустить и потыкать.
...
Рейтинг: 0 / 0
29.11.2019, 09:54
    #39896105
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
QuestDB - новая СУБД для хранения time series данных
Очередной полоумный гаражный убиватель сиквела и оракла.
Пойду за попкорном сгоняю...
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / QuestDB - новая СУБД для хранения time series данных / 25 сообщений из 239, страница 1 из 10
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]