База данных Firebase Reatime - схема структуры для обработки обновлений данных

Я разрабатываю чат в своем мобильном приложении. Я использую firebase для управления чатом.

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

Текущая схема высокого уровня, которая у меня есть, выглядит следующим образом:

База данных Firebase Reatime - схема структуры для обработки обновлений данных

Проблема, которую я вижу в этой схеме, заключается в том, как обрабатывать сценарии обновления. Я наблюдаю следующие основные сценарии обновления:

  • Пользователь обновляет отображаемое имя (user_alias)
  • Имена групп изменены

Если пользователь меняет имя, необходимо обновить все сообщения. Также все каналы прямых сообщений должны отображать обновленное имя профиля пользователя.

Точно так же, если имена групп обновлены, нам нужно будет обновить все user_channels

Что было бы лучше для обработки сценариев обновления?

Один из вариантов, который я могу придумать, - это использовать адресную книгу, чтобы я мог искать на основе идентификаторов пользователей. Любые предложения будут полезны.

@FrankvanPuffelen, спасибо, что указали на ответ. В нем описаны все различные подходы. Лично для этого приложения я буду использовать обновление транзакций с использованием облачных функций для некоторых сценариев и в некоторых случаях не обращаю внимания.

Sharath Chandra 17.03.2018 07:39

Приятно слышать. Подход «безразличия» на удивление популярен. :-)

Frank van Puffelen 17.03.2018 15:43
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
2
233
0

Другие вопросы по теме