использованием под десяток джоинов. Выходит довольно таки медленно и неудобно строить запросы, пришел к решению использовать денормализацию. Например, мы дублируем имя фамилию автора поста в сам пост. При обновлении пользователя в очередь (RabbitMQ например) добавляются новые пользовательские данные, после чего отдельный сервис вытягивает эти данные с очереди и обновляет денормализированные поля. Для того чтобы обеспечить консистетность, использовать распределенные транзакции, или есть еще варианты?
а почему джоины работают медленно?
использовать распределенные транзакции, или есть еще варианты? Да просто надлежной очереди сообщений будет достаточно, в которой не полуучив ACK сообщение возвращается в очередь
Обсуждают сегодня