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

Коллеги, а я вот что-то подзапутался. Есть ли сейчас какая-то БД,

в которую можно запушить в таблицу/коллекцию JSON, а потом иметь к нему SQL доступ? Это нужно как стейджинг для сбора данных до того, как корежить основную Clickhouse таблицу, соответственно данных там будет мало, до миллиона строк.


Постгрес - это хорошо, но если я запихну объект в json поле, то нужен очень специфичный синтаксис, который не сделать унифицированным с кликхаусом и нужен ORM.

27 ответов

33 просмотра

джисон ту мап и не надо оэрэмить на ровном месте

Maksim-Lapshin Автор вопроса
john conor 
джисон ту мап и не надо оэрэмить на ровном месте

поясни пожалуйста, что именно гуглить?

Так Бартунов вроде рассказывал, что они много хорошего для работы с jsonb сделали, в том числе для запросов по самому джсону. Или предполагается ещё бо́льшая вложенность?

ttt161
Так Бартунов вроде рассказывал, что они много хоро...

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

Maksim-Lapshin Автор вопроса
ttt161
Так Бартунов вроде рассказывал, что они много хоро...

мы льем 100 тыс записей в секунду в кликхаус. Иногда эту таблицу надо менять, добавлять новые поля. Хочется сделать так, чтобы можно было протестить, что вообще будет заливаться без миграций БД. Можно или сделать какой-то принимающий сервер, который будет, увидев новое поле, автоматически мигрировать стейджинговый кликхаус (ну рано или поздно он провернет это на проде), или писать стейджинговые данные не в кликхаус, а в другую БД, которая по своему SQL не катастрофически отличается от кликхауса. Условно считаем, что у постгреса и мускля достаточно одинаковый SQL для простых задач. Записать поток тестовых данных в постгрес можно, но тогда надо будет весь читающий код переделать на ORM, который будет с кликом по одному работать, а с постгресом через раскрытие json поля.

Если устроит ограниченный SQL, который имеет Elastic Search, то можно его попробовать.

Denis
Постгрес давно умеет в json, но унифицированного с...

Умеет то он давно, а оптимизации от Postgres pro в ванильный постгрес заехали относительно недавно. Но оптимизации это всё таки не про унификацию, так что да, я про другое

Maksim-Lapshin Автор вопроса
Maksim Lapshin
мы льем 100 тыс записей в секунду в кликхаус. Иног...

а что под "увидев новое поле" подразумевается? у принимающей строны есть старая схема и она видит новую колонку в датасете?

Maksim-Lapshin Автор вопроса
Иванов
а что под "увидев новое поле" подразумевается? у п...

да, есть старая схема, а тут приехали новые данные от флюссоника, который ещё в ветке запущен

InfluxDB?

Maksim-Lapshin Автор вопроса
Dmtr
InfluxDB?

я посмотрю, спасибо

Maksim Lapshin
да, есть старая схема, а тут приехали новые данные...

ты хочешь делать пробную запись и чтение и если ок, то завернуть на прод? а почему нельзя маленькую инсталляцию кликхауса для бития держать?

Maksim-Lapshin Автор вопроса
Иванов
ты хочешь делать пробную запись и чтение и если ок...

потому что тогда надо будет кроме редактирования флюссоника ещё и миграции в кликхаусе гонять. А если получится лить в коллекцию жсонов, то проверить, что уходит, _возможно_ получится и без этого

Maksim Lapshin
потому что тогда надо будет кроме редактирования ф...

а, типа бесхемное тебе надо. понял. тогда еластик, посмотри couch еще, он кстати эрланговый

Maksim-Lapshin Автор вопроса
Иванов
а, типа бесхемное тебе надо. понял. тогда еластик,...

да, хочу вообще без схемы. Как вариант - принимать поля и делать автомиграцию в клике, если что-то новое приехало, но это стремновато звучит

Maksim Lapshin
мы льем 100 тыс записей в секунду в кликхаус. Иног...

А нельзя сделать View в PostgreSQL, которая раскрывает JSON поле в ту же структуру, которая в Clickhouse?

Maksim-Lapshin Автор вопроса
Alexey Golubev
А нельзя сделать View в PostgreSQL, которая раскры...

полагаю, что этот view будет требовать заведомого знания списка полей. С таким знанием я и в клик всё залью

Maksim Lapshin
да, хочу вообще без схемы. Как вариант - принимать...

С подтверждением от человеческого существа ака оператора — вполне, совсем автоматически чревато.

такое еще https://github.com/tarantool/avro-schema

Maksim-Lapshin Автор вопроса
Иванов
такое еще https://github.com/tarantool/avro-schema

я как раз хочу без схемы залить

Maksim Lapshin
я как раз хочу без схемы залить

ну тут про другое - тут как раз сравнение мутация схем

Maksim-Lapshin Автор вопроса
Maksim Lapshin
ага. Это сложная и важная тема, да

как я понял ты хочешь датасет в виде json документа проверять SQL лем, на предмет доступности данных, а можно наоборот - конвертить схему ch в json и пытаться валидировать ею схему датасета. первый вариант не дает гарантии, что таки запишется, а второй что прочитается

Maksim Lapshin
мы льем 100 тыс записей в секунду в кликхаус. Иног...

Задача напоминает сбор данных в даталейк. Типичное решение это наложение некоторых правил и ограничений на то как может меняться сообщение, таким образом, чтобы при получении его новой версии пишущий процесс мог автоматически смигрировать схему целевой таблицы. Эти правила и ограничения, можно проверять тулингом, при изменении схемы сообщений. Т.е если тула пишет что всё ок, схему точно можно будет успешно смигрировать.

Maksim Lapshin
мы льем 100 тыс записей в секунду в кликхаус. Иног...

А вы не пробовали это через вьюхи сделать просто в кликхаусе?

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

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

30500 за редактор? )
Владимир
47
Недавно 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
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
4
Карта сайта