GAE Cloud SQL и хранилище данных с высокой репликацией - PullRequest
4 голосов
/ 14 марта 2012

С HRD и BigTable вы вынуждены иметь дело с возможной согласованностью для всех запросов, которые не являются запросами предков.Ваш код должен быть достаточно надежным, чтобы справиться с тем фактом, что результаты могут устареть.

С запуском Google Cloud SQL они добавили отказ от ответственности: (https://developers.google.com/cloud-sql/faq#hrapps)

"We recommend that you use Google Cloud SQL with 
High Replication App Engine applications. While you can use use 
Google Cloud SQL with applications that 
do not use high replication, doing so might impact performance."

Что это значит?Означает ли это, что при использовании SQL с HRD возникают те же возможные проблемы согласованности?В SQL нет понятия групп сущностей, однако может ли это означать, что конкретные запросы SQL в определенных обстоятельствах дают устаревшие результаты?

Это будет означать, что реализация Google атомарного транзакционного контракта SQL будет нарушена, а SQL не будетфункционировать так, как ожидают пользователи реляционных баз данных.Если это не так, каковы проблемы с использованием модели master / slave или HRD с SQL и почему Google дает вам возможность выбрать модель с более низкой производительностью?

Ответы [ 2 ]

5 голосов
/ 28 марта 2012

(с форума)

Облачные системы SQL и хранилища данных независимы.Вы можете использовать один или оба, как считаете нужным для вашего приложения.

Мы рекомендуем использовать приложения HRD, потому что приложения такого типа будут размещаться вместе с Cloud SQL.Ведущие ведомые приложения обслуживаются из другого набора центров обработки данных, в которых нет облачного SQL.Это будет работать, но будет медленнее.

0 голосов
/ 14 марта 2012

Цитаты из документации:

"Google Cloud SQL, проще говоря, экземпляр MySQL, который живет в облаке. Он обладает всеми возможностями и функциональностью MySQL"

Чтобы ответить на ваш вопрос, параметры высокой репликации / главного-подчиненного для реляционной БД связаны не с согласованностью, а с другими факторами, такими как задержка при пиковых нагрузках и доступность для записи при плановом обслуживании. Для хранилища данных с высокой репликацией задержка является низкой, даже если скачки нагрузки, и они доступны для записи, даже когда запланировано техническое обслуживание. Проверьте сравнение на http://code.google.com/appengine/docs/java/datastore/hr/

И вторая часть вопроса о том, почему Google предлагает вариант «ведущий-ведомый», который не является полным доказательством. Ответ таков: люди, которым не нужно полное время безотказной работы и которые хотят попробовать GAE, могут его использовать.

...