у каждого события есть тип type и его метаданные meta, хранящиеся как jsonb: достаточно увесистые, и одинаковые по структуре для каждого типа события. Хочется это нормализовать - хранить вместо meta поле external_data_id, а при получении события делать join силами бекенда: по type выбирать таблицу, а по external_data_id вытаскивать нужные данные. Что думаете по поводу такой реализации? Сталкивались ли с таким? Какие могут быть проблемы?
а как в запросе выбрать таблицу для конкретного type? в запросе же указывается четкий перечень таблиц
не заметил по описанию избавления от дублирования, простая разбивка кучи на подкучи. Выигрыш будет если этих подкуч не сильно много, чтобы их можно было раскидать по разным файлам/дискам например. И если выборка будет из меньшего объема только одного type - уже хорошо
Я лично думаю, что это — нереляционная ересь...
я тоже считаю так, но как более реляционно тогда сделать единый лог событий из разных таблиц?
Просто надо рисовать объектную модель на реляционке, и всё. И применять наследование событий.
Обсуждают сегодня