2012-04-15 5 views
0
  1. В Usage Notes для хранилища данных с высокой репликацией говорится, что группа объектов ограничена 1 записью в секунду. Я немного смущен этим. В разделе Understanding Write Costs этой другой статьи показано, что только сохранение нового объекта может стоить 14 записей. Является ли 1 запись в секунду упомянутой в первой статье эквивалентной мерой той, что указана во второй статье? Если это так, для хранения базового объекта потребуется 10 секунд? Я уверен, что это неправда?Предел записи группы лиц Google App Engine

  2. Google утверждает, что объекты, хранящиеся без предков (как корневые объекты), имеют конечную согласованность. Означает ли это, что если один пользователь добавит новый объект в хранилище данных без предка, то он не будет гарантированно доступен, если я сделаю запрос сразу после? Если да, то как долго «в конечном итоге»? Могут ли часы, или они просто говорят секунды?

ответ

2
  1. Предел записи 1 субъект записи в хранилище данных в секунду. Затраты на запись - это количество индексов, которые могут нуждаться в обновлении для каждого объекта, это разные «записи» - они могут различаться для каждого объекта и представляют собой отдельное измерение, чем запись «1 запись в секунду».

  2. Это правильно. Обратите внимание, однако, что есть несколько конкретных случаев, когда результаты сильно согласованы. Запрос GET по ключу, в котором вы извлекаете один объект, сильно согласован. Запросы предков - это другой случай, когда хранилище данных сильно согласовано. «Событие» означает, что на него не рассчитывать. Обычно это секунды, но в особых случаях, таких как планшет BigTable, полный и нуждающийся в разделении, или, возможно, планшет, идущий вниз и нуждающийся в замене, в конечном итоге может означать дольше. Я видел пару жалоб на список рассылки о запросах, возвращающих старые результаты в течение нескольких часов, но это не было обычным явлением.

+0

«1 объект записывается в хранилище в секунду» .. вы имеете в виду 1 сущность, записываемую на группу сущностей в секунду вправо? Так что я могу добавить, например, 20 новых объектов в хранилище данных за секунду, а не одну группу лиц, правильно? – Snowman

+0

Да, это так. – dragonx

1
  1. Я не совсем уверен, что это (я буду ждать Ник Джонсон весить), но я считаю, что они со ссылкой на 1 транзакцию/записи в секунду. Блокировки транзакций в хранилище данных вступают в игру на уровне группы сущностей, поэтому я предполагаю, что будет ограничено количество (распределенных) транзакций, которые могут работать в одно и то же время.

  2. Я думаю, что вы понимаете, что это правильно - это связано с тем фактом, что хранилище данных хранит ваши данные в нескольких разных хранилищах данных и копирует их всем остальным чуть позже - в конце концов. Второй запрос может быть отправлен в хранилище данных, которое еще не получило обновления. Из того, что я видел, «в конце концов» - это вопрос секунд, а иногда и меньше. Точка распределенной архитектуры заключается в том, что вы не полагаетесь на этот промежуток времени.