Size: a a a

ClickHouse не тормозит

2019 December 09

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vsevolod Stakhov
то есть, вместо отдельных запросов создавать view с нужными свойствами?
предагрегировать данные, чтобы вместо нескольких миллиардов сырых данных, в MV было в разы меньше и они лежали в нужном порядке для запросов.
источник

П

Павел Максимов... in ClickHouse не тормозит
Евгений Гордеев
Возможно, что клиент закрыл соединение до того как сервер успел ответить.
ок, спасибо
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vsevolod Stakhov
просто это все еще объединено в distributed
ну по разному можно сделать, можно сделать что агрегаты будут задублированы на все ноды (я так делаю).

можно сделать шардинг так что не нужна будет финальная агрегация и т.п.
источник

VS

Vsevolod Stakhov in ClickHouse не тормозит
понятно, в этом направлении я не думал, спасибо
источник

AM

Anton Mikhalev in ClickHouse не тормозит
Anton Mikhalev
Всем привет! С чем может быть связана такая ошибка:

inflate failed: buffer error                                                                         
IN:INSERT INTO gmc_item_distributed ( gmc_id,item_id,country_code,label_code,updated_at,flag ) FORMAT TabSeparated
                                                                                     
Возникает при попытке загрузить файлик ~10мб 300к строк. в другие таблицы всё грузится нормально
ещё добавлю, что строки при этом все попадают в таблицу. кто сталкивался?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vsevolod Stakhov
понятно, в этом направлении я не думал, спасибо
есть еще такой вариант, сделать выделенную машину с кучей памяти и nvme и положить на нее только таблицы - агрегаты (репликацией) и ходить туда с риал-тайм запросами
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Anton Mikhalev
ещё добавлю, что строки при этом все попадают в таблицу. кто сталкивался?
что в .err логе КХ ?
источник

S

Shazo in ClickHouse не тормозит
Можно по хайпить и на optane?
источник

AM

Anton Mikhalev in ClickHouse не тормозит
если бы у меня до него был доступ)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Anton Mikhalev
если бы у меня до него был доступ)
ну так попросите посмотреть тех у кого есть доступ.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Anton Mikhalev
Всем привет! С чем может быть связана такая ошибка:

inflate failed: buffer error                                                                         
IN:INSERT INTO gmc_item_distributed ( gmc_id,item_id,country_code,label_code,updated_at,flag ) FORMAT TabSeparated
                                                                                     
Возникает при попытке загрузить файлик ~10мб 300к строк. в другие таблицы всё грузится нормально
похоже в коде КХ нету такого <inflate failed: buffer error>
это где-то у вас в приложении / api
источник

AM

Anton Mikhalev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
похоже в коде КХ нету такого <inflate failed: buffer error>
это где-то у вас в приложении / api
https://github.com/ClickHouse/ClickHouse/issues/412

но в отличии от этого случая проблема встречается на файлах любого размера.
источник

AM

Anton Mikhalev in ClickHouse не тормозит
странно то что возникает она именно при выгрузке в эту таблицу. остальные - норм, и размеры там больше
источник

BB

Bral Bral in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
primary key хранит значения ключевых полей каждой n-й строки. Т.е. если index_granularity 8192 а в таблице 16384 строк, то в индексе будет значения только для 2 строй -- 1й и 8193й.

minmax GRANULARITY 3 -- означает что в skip индексе будет сохранено minmax значение для сразу 3х гранул первичного индекса (3*index_granularity строк).

set(1000) GRANULARITY 4 -- означает что в skip индексе будут сохранены 1000 значений 4х гранул первичного индекса (4*index_granularity строк), если уникальных значений больше 1000, то сохранено будет ничего.
😬😬😬 таким образом нужно наоборот увеличивать granularity дополнительного индекса , чтобы ускорить поиск ? Как-то в голове не укладывается .
источник

BB

Bral Bral in ClickHouse не тормозит
Больная тема 🙄
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Bral Bral
😬😬😬 таким образом нужно наоборот увеличивать granularity дополнительного индекса , чтобы ускорить поиск ? Как-то в голове не укладывается .
конечно нет.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Bral Bral
Больная тема 🙄
вам просто не подходят skip индексы, они не для вашей задачи
источник

BB

Bral Bral in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
вам просто не подходят skip индексы, они не для вашей задачи
У меня была идея сделать каскад репласинг мердж три таблиц с  партиционированием по дню, месяцу и году соответсвенно
. Сворачиваться будет по одним полям , а людям нужно искать по другим 🙄. Они соедены мердж таблицами , пользователь обращается через них. Соответственно проходит день , данные улетают в месяц и та секция дропается и т.д И это принципиально , чтобы в конце - концов при запросе через какой-то веб им пришло минимальное количество строк , причем последних по дате , и не пришлось бы прикручивать дистинкт, груп бай и тд. Если уж и это не подходит , тогда наверно и кликхаус не подходит 😁
источник

N

Nikolay in ClickHouse не тормозит
товарищи, я пытаюсь воспроизвести бенчмарк вот этого чувака https://tech.marksblogg.com/billion-nyc-taxi-rides-clickhouse-cluster.html . Создаю Distributed таблицу:

CREATE TABLE trips_mergetree_x3
   AS trips_mergetree_third
   ENGINE = Distributed(perftest_3shards,
                        default,
                        trips_mergetree_third,
                        rand());


И заливаю в нее данные:

INSERT INTO trips_mergetree_x3
   SELECT * FROM trips_mergetree;


Дальше у него написано, что кликхаус через некоторое время сам распихает данные по шардам, но у меня все данные остаются на той ноде, на которой я эту таблицу создал. ЧЯДНТ?
источник

N

Nikolay in ClickHouse не тормозит
при этом, как и в его примере,
SELECT *
FROM system.clusters
WHERE cluster = 'perftest_3shards'
FORMAT Vertical;

возвращает все три сервера
источник