миграцию структуры/данных в КХ одновременно, какие средства на уровне КХ можно использовать чтобы залочить на время миграций выполнение? в pg есть для этого pg_advisory_lock...
никаких
Думаю, можно что-то изобразить на основе Executable UDF https://clickhouse.com/docs/en/sql-reference/functions/#executable-user-defined-functions В каких-то ситуациях это даже может иметь смысл, но назвать это "средством на уровне КХ" сложно.
Не очень понял, что лочить. В общем случае Клик - это кластер данных с кластером Zookeeper. Вот этот кипер как раз создан для разруливания многопоточной работы. Можно с ним напрямую работать, можно через прослойки Клика (есть интерфейсы типа таблицы system.zookeeper), можно через сам Клик задействовать механизмы кипера. Грубо говоря, создание replicated-таблицы - это уже advisory lock. (Причём без приколов Постгреса по умолчанию не лочить повторные запросы на блокировку из того же коннекта, где делалась первая блокировка.) Только не будет самой приятной фичи блокировок через базу: она не освободится автоматом при отключении блокирующего клиента.
Обсуждают сегодня