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

Всем привет, какие есть лучшие практики для задачи репликации postgres

-> clickhouse? Т.е., работает основная база на pg, а для аналитики сбоку стоит Clickhouse с +- актуальными данными.
Как-то сходу не гуглится/дукдучится. Т.е., нашёл несколько ссылок - https://github.com/mkabilov/pg2ch, https://pypi.org/project/synch/ и ещё что-то. Но как-то не завелись они с полпинка, а сходу лезть в дебаг не хотелось бы.
Кто что использует для такой задачи?

30 ответов

15 просмотров

Движок есть postgresql уже в кх

Я тоже только изучаю. С Oracle данные в Clickhouse перегонял с помощью DATAX А еще есть JDBC Bridge

Дмитрий-Свидерский Автор вопроса
critskiy
Движок есть postgresql уже в кх

Ага, вот им и перетянул данные, но как это делать "на постоянной основе", т.е., чтобы WAL синхронизировался?

Дмитрий-Свидерский Автор вопроса
critskiy
Движок есть postgresql уже в кх

Или имеете в виду - создавать БД на движке postgres и (как-то) реплицировать?

Дмитрий Свидерский
Ага, вот им и перетянул данные, но как это делать ...

Не проще просто сделать реплику для постгре именно в постгре, простите, но я не вижу смысла в том, чтобы лить тупо из постгри в кх.

Дмитрий-Свидерский Автор вопроса
critskiy
Не проще просто сделать реплику для постгре именно...

Ага, спасибо за ответ. Просто слышал в подкасте, что CH хорошо подходит для всякой аналитики, есть там какие-то плюшки, которых нет в PG, вот и решил попробовать в качестве эксперимента.

вот вышеуказанное и придется заводить лезьте в дебаг =) ну или ждите когда зарелизят https://github.com/ClickHouse/ClickHouse/pull/20470

Дмитрий Свидерский
Ага, спасибо за ответ. Просто слышал в подкасте, ч...

Я б понимал бы, если вы будете преобразовывать данные и хранить в КХ для аналитики уже processed data из постгри. :)

Дмитрий Свидерский
Ага, спасибо за ответ. Просто слышал в подкасте, ч...

думаю вам в clickhouse рано =) думаю у вас данных столько нет ...

Дмитрий-Свидерский Автор вопроса
critskiy
Я б понимал бы, если вы будете преобразовывать дан...

Например - в postgres есть ограничение на уникальный ключ/констрейнт для секционированных таблиц, если ключ секционирования задан выражением. А в кликхаусе этого ограничения нет.

Дмитрий-Свидерский Автор вопроса
Slach [altinity]
думаю вам в clickhouse рано =) думаю у вас данных ...

А какой "порог входа" в CH (в строках)? :)

Дмитрий Свидерский
Например - в postgres есть ограничение на уникальн...

Use-case смотрите свой, дело даж не в технической стороне вопроса, а в целесообразности использования подхода :)

Дмитрий-Свидерский Автор вопроса
Slach [altinity]
ну =) зато в clickhouse вообще UNIQUE KEYS нет =)

Да? А что тогда такое PRIMARY KEY в DDL - это не то, что я думаю? =)

Дмитрий Свидерский
А какой "порог входа" в CH (в строках)? :)

он не в строках чтобы все получилось, ситуация должна быть так "мы ХОРОШО (на низком уровне) знаем как работает наша текущая БД и понимаем почему она тормозит на нашем use case и понимаем почему в clickhouse будет работать быстрее" а все остальное "ой я слышал clickhouse модный" либо "ой давайте все аналитические данные сразу в clickhouse будем хранить" обычно не очень хорошо кончается =)

Slach [altinity]
он не в строках чтобы все получилось, ситуация дол...

С постгрей отчасти "импортозамещение" канает %)

Дмитрий Свидерский
Да? А что тогда такое PRIMARY KEY в DDL - это не т...

вот вообще не то =) PRIMARY KEY это вот прямо PRIMARY KEY а не UNIQUE CLUSTERED INDEX как в MySQL и UNIQUE B-Tree INDEX как в Postgre

Дмитрий-Свидерский Автор вопроса
Slach [altinity]
вот вообще не то =) PRIMARY KEY это вот прямо PRIM...

Ага, интересно... Наверное, в кликхаус мне действительно рано (-:

Дмитрий Свидерский
Спасибо за ответ, вполне резонно.

если у вас сейчас postgres и хочется в рамках аналитики поиграться в этой экосистеме посмотрите в сторону CItus Columnar Extension https://www.citusdata.com/

critskiy
ну шо как сразу обрубаити (сорказмь)

никого не слушайте, юзайте кликхайс, но на вашем месте я бы подождал релиза MaterializePostgreSQL, собственно я сам и жду :)

Vladimir Goncharov
никого не слушайте, юзайте кликхайс, но на вашем м...

А почему вы говорите это мне, а не топикстартеру?

Дмитрий Свидерский
Ага, спасибо за ответ. Просто слышал в подкасте, ч...

никого не слушайте, юзайте кликхайс, но на вашем месте я бы подождал релиза MaterializePostgreSQL, собственно я сам и жду :)

Дмитрий-Свидерский Автор вопроса
Vladimir Goncharov
никого не слушайте, юзайте кликхайс, но на вашем м...

Да, MaterializePostgreSQL был бы то, что надо. К счастью, особой спешки у меня нет, так что можно и подождать. А пока делаю очередной подход к https://github.com/long2ice/synch , но что-то он не хочет работать с postgres, то одни ошибки, то другие, то третьи...

Дмитрий Свидерский
Да, MaterializePostgreSQL был бы то, что надо. К с...

если вам сейчас нужно "поиграться" с целью изучения, а не продакшен версия, то можете скачать репозиторий, вмёржить указанный выше пулреквест и по инструкции собрать из исходников то что вам нужно уже сейчас. а когда выйдет официальная версия с поддержкой MaterializePostgreSQL, то просто обновиться на неё. это на слуйчай если с другими способами совсем никак не сложится

Дмитрий-Свидерский Автор вопроса

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта