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

Всем привет! Вопрос слишком абстрактный, но не знаю, где лучше

всего об этом спрашивать, но так как касается проектирования бэка, то решил здесь.

Подскажите, что лучше использовать (relational db, views + denormalization) или write relational db + read document-oriented noSql?

Дано: система документооборота между различными контрагентами. Над одним документом могут работать N компании/ сотрудников, в каждой компании у документа свой жизненный цикл - согласования, правки, статусы и т.д. Ну и есть общий стейт, который считается на основе стейтов в каждой компании.

Сейчас все это храним в нормализованном виде в 8 таблицах, все ОК, но начитает тормозить на тяжёлых запросах / фильтрах по всем документам - строим запросы сразу ко всем таблицам, группировки / джойны / расчеты - тяжело, индексов не хватает.

Что думаем:
Либо пилить вьюшки/триггеры, либо поставить рядом document-oritented noSql и асинхронно ивентами обновлять и хранить денормализованный плоский стейт, удобный для чтения/фильтров.

Из требовании: не профукать смену стейта, стейт чтения меняется достаточно часто, т.е. база для чтения постоянно обновляет записи.

Куда можно копать? Адекватная ли идея с nosql-read или легче запилить вьюхи/денормализованные таблицы в основной реляционной БД (+acid гарантия) и не иметь дела со всякими асинхронными ивентами?

2 ответов

26 просмотров

вопросы которые стоит задавать: - денормализация вьюшки и т.д. - это всегда slate data - насколько это критично для флоу. Задержки там небольшие и если это только для UI топо идее норм - вопрос в чем "тормозит". Если вопрос только в UI - я бы начал с того что бы проанализировал запросы глянул можно ли обойтись просто парой реплик базы и тд. перед тем как решать вопросы построения вьюшек. Для этого по хорошему нужно какую-нибудь надежную инфраструктуру которая тригернет апдейт гарантированно

короч опять же - "nosql read или денормализация и вьюхи" - это все вопрос "как ты гарантируешь что стэйт актуализируется

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта