Согласованность чтения Google App Engine в Blobstore

Гарантирует ли хранилище больших двоичных объектов согласованность чтения без ограничений на запись?

Я знаю, что Google Cloud SQL

и хранилище данных делает (но затем накладывает ограничение на запись в 1 секунду)

Однако я не могу найти информацию о blobstore


person MobileMon    schedule 21.10.2014    source источник


Ответы (1)


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

Не уверен, насколько это полезно при реальном использовании Blobstore, особенно если вам нужно прочитать все части для создания изображения или двоичного файла, но это просто небольшая иллюстрация ответа. Вы правы, нет четкой документации по пропускной способности/согласованности, потому что она не совсем работает, как NDB, и Google даже утверждает, что единственным истинным ограничением является HTTP-соединение:

Google App Engine включает службу Blobstore, которая позволяет приложениям обслуживать объекты данных, ограниченные только объемом данных, которые могут быть загружены или загружены через одно HTTP-соединение.

(из https://cloud.google.com/appengine/docs/python/blobstore)

Не уверен, что это полезно, но хотел поделиться версией blobstore в Твиттере: https://blog.twitter.com/2012/blobstore-twitter's-house-photo-storage-system. Я уверен, что они внесли улучшения, но основная философия разделяется реализацией Google Blobstore.

person Bardia D.    schedule 21.10.2014