данные дублируются и производительность? - PullRequest
0 голосов
/ 29 сентября 2018

Предположим, пользователь A отправил запрос контакта пользователю B, поэтому в документе пользователя A выглядит так:

send_request=
{
    contact:[{
        id:A,
        to:B,
        status:'pending',
        seen:0
    }]
}

, а в документе пользователя B выглядит так:

recieved_request=
{
    contact:[{
        id:B,
        from:A,
        status:'pending',
        seen:0
    }]
}

Itбудут обновляться оба документа всякий раз, когда пользователь B отвечает (принимает или отклоняет) или просматривается один раз.

Мой вопрос: является ли это хорошим подходом для вставки / обновления одних и тех же данных в обоих документах?Я обнаружил, что преимущество в том, что чтение будет быстрее, т. Е. Всякий раз, когда пользователь B входит в систему, системе нужно только запросить документ пользователя B, чтобы получить все детали, не нужно ссылаться на другой документ.

Если это плохой подходПожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 28 декабря 2018

То, что хорошо для одного сценария, плохо для другого.Даже в той же программе.

Индексы, например.Очень-очень хорошо для запросов, но замедляет обновления.

То же самое здесь, вы упрощаете / ускоряете свои запросы, но усложняете записи и создаете потенциал для десинхронизации данных.Если вы можете жить с этими (и другими недостатками, такими как повышенные требования к хранилищу), то это «хороший» подход.

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