184 похожих чатов

Привет. Может кто подсказать в какую сторону смотреть для оптимизации

скорости работы запроса. Есть кластер с distributed табличкой, которая смотрит на 4 шарда, сами шарды не очень мощные (16ГБ RAM и 8 CPU типа xeonE3), так же есть на каждом шарде MV (AggregatedMergeTree) которая данные складирует по дням и так же сверху на эти MV есть distributed MV которая так же смотрит на эти 4 дочерних MV на шардах.

Данных в сумме в сырой distributed табличке в районе 20млрд строк (соответственно на каждом шарде в районе по 5млрд) за 1.5 месяца, соответственно в дневной MV их намного меньше построчно в районе 300млн, запрос с попаданием в индексы и group by по дате и нескольким другим интам выполняется вот так

416 rows in set. Elapsed: 14.606 sec. Processed 290.01 million rows, 21.50 GB (19.86 million rows/s., 1.47 GB/s.)
Как по мне достаточно медленно, занимает секунд 10 все это дело

Сама MV соотвественно сделана через колонки типа AggregateFunction(count), AggregateFunction(sum, Float32) и так далее

Если сделать просто count() from distributed за 1 месяц то получим вот такое дело
1 row in set. Elapsed: 3.591 sec. Processed 7.99 billion rows, 15.99 GB (2.23 billion rows/s., 4.45 GB/s.)
Что уже лучше


Вопрос, что с этим можно сделать не меняя железо? Сами данные максимально оптимизированы из серии UUID типы, а не строки, Uint16 там где он реально Uint16 и так далее

1 ответов

3 просмотра

Данные привести к правильным типам, EXPLAIN и просмотр утилизации ресурсов в момент запроса, комплексная борьба за секунды

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Дорогие любители Прекрасной Джулии! Есть кто-то имеющий практический опыт построения ML для Систем Управления? Нам нужно сделать нейросеть для автоматической подстройки пара...
Roman Timo
4
С той же поддержкой Android в тулчейне, если кому интересно. На Swift Forums шло убогое обсуждение всякой херни годами, но ничего годного так и не появлялось. Пришел vgorloff ...
iMike
1
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Приветствую ребята,у меня база есть,прорешал много задач с литкода,там деревья,списки, бэктрэкинг и все остальное,что мне сейчас делать?есть может куда устроиться поработать,е...
Aקuст Lеתסuд Aקuст Lеתסuд
5
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
4
Карта сайта