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

А как делать sync в MySql Engine? MaterializeMySQL не предлагать, старая

версия клика

11 ответов

17 просмотров

никак. mysql engine не хранит данные в себе. а делает запрос в mysql каждый раз

имеется ввиду table ENGINE=MySQL(...)? если да, то там нет никакого sync, там запрос с WHERE пробрасывается непосредственно на MySQL а GROUP BY и ORDER BY делаются на стороне clickhouse или MaterializedMySQL() ? он работает как MySQL slave и данные в него прилетают по replication протоколу там тоже никакого sync нет, если репликация сломалась, придется заново все данные перекачивать ( удалять и создавать базу данных)

Kuzma-Leshakov Автор вопроса
Slach [altinity]
имеется ввиду table ENGINE=MySQL(...)? если да, то...

Спасибо за ответы @BloodJazMan @unamedrus а если внешний словарь? Какой-то из вариантов делает возможным реплику (с периодическими апдейтами) и чтобы все последующие операции шли только в кх?

Kuzma Leshakov
Спасибо за ответы @BloodJazMan @unamedrus а если...

внешний словарь с ssd_cache layout у вас какой объем таблицы в MySQL?

Kuzma Leshakov
334 мб

ну можно словарь засунуть, но это не real time sync это периодическая синхронизация

Пользователь 63504
Direct можно заюзать как движок для словаря

он нормально применим скорее для REDIS Для MySQL получится шторм из SQL запросов 1 запрос на 1 dictGet...

Slach [altinity]
он нормально применим скорее для REDIS Для MySQL п...

а если словарь из mysql строить так, чтобы ключ словаря в Clickhouse был первичным ключом в таблице mysql? по логике тогда сложность запросов таких будет O(1), не так ли?

Пользователь 63504
а если словарь из mysql строить так, чтобы ключ сл...

ну только для DIRECT layout у вас latency на запрос будет нефиговый такой захотите выбрать допустим 100 тыс dictGet и получите 100 тыс коротких SQL запросов которые MySQL даже в несколько десятков коннектов прососет секунд за 5-10 не меньше... это REDIS может до миллиона запросов через MGET в секунду делать key\value (multi threading имплементации) хотя кстати с MySQL вроде тоже может быть SQL запрос WHERE id IN (...) но это не o(1) это o(n) сложность все равно... и парсер MySQL запроса на MySQL сервере для o(1) будет 90% времени занимать... вот кстати как вариант можно Oracle MySQL MEMCACHE plugin какой нибудь попробовать использовать ;) Но clickhouse не умеет memcache в качестве источника

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта