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

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

версия клика

11 ответов

8 просмотров

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

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

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

Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Всем привет. Подскажите, пожалуйста, как вы реализовываете следующий функционал. Допустим есть форма, в которой имеется выпадающий список со значениями. Значения хранятся в БД...
Евгений
7
Хех, данные на форме всегда будут "из прошлого", т.к. перезаполнять поля формы в процессе редактирования пользователем - так себе идея. Пользователь может открыть форму редакт...
Alexander Somov
7
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Карта сайта