Звучит не так, поскольку вы рискуете потерять данные в memcache.
Вы можете писать в одну группу объектов один раз в секунду.
Вы можете написать отдельные группы объектов очень быстро. Так что это действительно зависит от того, как вы структурируете свои данные. Например, если вы сохраняли весь чат в одном объекте, вы можете писать этот чат только раз в секунду. И вы будете ограничены 1MB.
Вы должны написать отдельную сущность для сообщения в чате, вы можете писать очень, очень быстро, но вам нужно разработать способ собрать все сообщения вместе для журнала.
Редактировать Я согласен с Питером Книго в том, что затраты на использование одного объекта за сообщение будут слишком дорогими. Его бэкэнд-предложение тоже очень хорошо, хотя, если ваше приложение популярно, бэкэнды не масштабируются так хорошо.
Я пытался избежать осколков, но я думаю, что это будет необходимо. Если вы не знакомы с осколками, прочитайте об этом: https://developers.google.com/appengine/articles/sharding_counters
Sharding будет промежуточным звеном между написанием одного объекта для всех сообщений в разговоре, по сравнению с одним объектом на сообщение. Вы случайно разбивали сообщения между несколькими объектами. Например, если вы сохраняете сообщения в 3 сущностях, вы можете написать 5x/sec (я сомневаюсь, что большинство человеческих разговоров будут идти быстрее, чем это).
При извлечении необходимо было бы захватить 3 объекта и объединить сообщения в хронологическом порядке. Это сэкономит вам много средств. Но вам нужно написать код для слияния.
Еще одно преимущество заключается в том, что ваш лимит разговора теперь будет 3 МБ вместо 1 МБ.
вы можете писать по номинальной ставке 1write в секунду для каждой группы сущностей, но в реальном мире вы можете написать намного больше. memcache не является хорошим выбором для хранения временных данных, поскольку он не гарантирует, что если вы поместите что-то в memcache, он будет через 1 секунду после него. – aschmid00
, как быстро ваши пользователи будут общаться в чате? 1 запись в секунду, похоже, будет достаточной, чтобы идти в ногу со стандартным чатом между несколькими пользователями. –
Пара пользователей не будет иметь постоянную скорость обновления, превышающую 1 сообщение в секунду. Даже умеренно насыщенный IRC-канал вряд ли получит это. –