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

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

версия клика

11 ответов

18 просмотров

никак. 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 в качестве источника

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта