2012-03-14 4 views
4

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

С запуском 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-запросы в конкретных обстоятельствах обеспечивают устаревшие результаты?

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

ответ

5

(из форума)

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

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

0

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

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

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

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

+0

Спасибо за ответ. Очень признателен. Лично я считаю, что если единственным недостатком HRD для SQL является более медленное время записи во время синхронной записи, тогда случайные пользователи, которые не заботятся о простоях обслуживания, не будут заботиться о более медленной записи. Я думаю, Google будет хорошо советовать удалить параметр master/slave, так как даже решение вызывает путаницу. – jsg

+0

Если вы думаете, что ответ - это то, что вы ищете, вы можете проголосовать за/отметьте как правильный ответ :) –

+0

Если бы вы могли подтвердить, что моя интуиция моего комментария имеет смысл, тогда я буду отмечать ответ как правильный, альтернативно, вы могли бы выделить дополнительные случаи для сохранения опции master/slave? (Извините, у вас недостаточно очков репутации для голосования. :-() – jsg