не только в секции engine?
Если да, то с какой версии?
И если да, то как? Просто create table name_{macro} не подходит.
нет нельзя. но можете сначала SELECT * FROM system.macros сделать в приложение потом в приложении сконструировать запрос CREATE TABLE ... с нужными значениями макросов а какой у вас Use case? зачем вам разные имена таблиц в зависимости от макроса? и какой у них будет движок?
Организация кросс-репликации без заморочек с приложением
непонятно, что такое "кросс репликация"? ReplicationMergeTree между датацентрами? ну так там нужно чтобы имена таблиц были одинаковые как раз и разные имена для макроса replica который надо использовать в параметрах при создании...
Кросс-репликация, она же circular replication, о которой есть статья на сайте Altinity. Нужно, чтобы на каждом сервере были соответствующие database_name и т.д.. Вот макросами можно было бы делать это через простой инструментарий.
Лучше не делать такого
а какой в этом смысл? я понимаю там еще для MySQL master-master через circular replication люди пытаются нагородить но для clickhouse это бессмысленно как минимум объем данных которые будете хранить будет больше, а производительность меньше...
Объем данных зависит от количества копий, а количество копий будет одинаковым. С другой стороны, при тройной репликации по стандрартной схеме, допустим, на 9 серверах, у нас данные для distributed таблиц будут распределены на три сераера. При кросс-репликации данные можно распределить на 9-ти серверах и реплики хранить на соседних. В этом случае, мы не потеряем в скорости скриптов и при отказе одного сервера недостающий кусок данных возьмется с соседнего.
Обсуждают сегодня