Size: a a a

ClickHouse не тормозит

2020 July 24

AS

Alexander Selivanov in ClickHouse не тормозит
Alexander Selivanov
Привет, подскажите пожалуйста, как быть когда есть транзакция (таблица transactions) в бд, и её надо обновить. добавить ей cancelled_at например, как такое делается?
Друзья есть кто может помочь вот с этим вопросом?
источник

M

Maxim Bogdanov in ClickHouse не тормозит
Alexander Selivanov
Друзья есть кто может помочь вот с этим вопросом?
Как-нибудь через CollapsingMergeTree  или ReplacingMergeTree , но не знаю, насколько это будет практично постоянно мучить движок мерджами. Наверно зависит от объёмов данных и от объема изменения статуса транзакций. Но похоже что задача для обычной RDBS.
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
Alexander Selivanov
Привет, подскажите пожалуйста, как быть когда есть транзакция (таблица transactions) в бд, и её надо обновить. добавить ей cancelled_at например, как такое делается?
Обновить значение или добавить колонку?
источник

AS

Alexander Selivanov in ClickHouse не тормозит
Обновить значение
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
Alexander Selivanov
Друзья есть кто может помочь вот с этим вопросом?
как разовая операция я бы создал сбоку словарь, и перелил c помощью SELECT INSERT добавив (или обновив) колонку нужными данными. Постоянно обновлять значения это, поддержу мнение выше, не совсем задача кх
источник

AS

Alexander Selivanov in ClickHouse не тормозит
Ну вот мы пишем много данных и возникает такой момент что транзакция меняется
источник

i

io in ClickHouse не тормозит
Slach
ну я тут у вас вижу что конфиг дефолтный будет, и вы его не переделываете
должно нормально сработать после
docker-compose build
docker-compose restart clickhouse
обновился

однако контейнер реально рестартнулся только после команды
docker-compose up -d clickhouse

Типа restart фактически контейнер не обновляет

К БД подконнектился, вроде все норм. Спасибо за советы!
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
Alexander Selivanov
Ну вот мы пишем много данных и возникает такой момент что транзакция меняется
ну это не тот кейс под который подходит кх
кх для того чтобы много писать, никогда не менять, аналитику по накопленным данным гонять
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
вы можете держать сбоку словарь (есть поддержка mysql например в качестве словаря) и обновляемые поля утащить в mysql
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
но обновлять поля в кх - плохая идея
источник

M

Maxim Bogdanov in ClickHouse не тормозит
Alexander Selivanov
Ну вот мы пишем много данных и возникает такой момент что транзакция меняется
Можно просто дописывать запись с заданной колонкой и потом джойнить по transaction_id, но это всё такое… В случае с агегациями чисел такая корректировка приемлима (когда, вместо апдейта записи, просто пишешь ещё одну с отрицательным числом).
источник

M

Maxim Bogdanov in ClickHouse не тормозит
Обновление транзакций и записей в целом — задача в основном для OLTP
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
Alexander Selivanov
Ну вот мы пишем много данных и возникает такой момент что транзакция меняется
а ещё вы можете писать не транзакции, а события создания новых транзакций, завершения старых успешно или нет
источник

M

Maxim Bogdanov in ClickHouse не тормозит
я как раз примерно это и имел ввиду, на завершение транзакции создавать ещё одну запись. Вопрос только, какие потом запросы нужно к этим данным делать. Если во второй записи не будет дублирования данных из первой и надо будет по этому cancelled_at вытащить данные транзакции, то без джойнов по ключу transaction_id потом не обойтись.
источник

AS

Alexander Selivanov in ClickHouse не тормозит
Спасибо
источник

AS

Alexander Selivanov in ClickHouse не тормозит
Будем разбираться
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
ещё вариант придумал )
источник

AS

Alexander Selivanov in ClickHouse не тормозит
О давай)
источник

КТ

Константин Трофимов... in ClickHouse не тормозит
писать "транзакции в процессе" куда ещё или вообще держать в голове прилы если она отказоустойчива
а в кх записать уже по факту установки на транзакции окончательного статуса
источник

M

Maxim Bogdanov in ClickHouse не тормозит
имхо проще сразу в другой бд вести транзакции 🙂
источник