После работы над несколькими приложениями GAE, некоторые из которых используются для производства, я пришел к выводу, что на этой платформе резервные копии ваших производственных данных достаточно медленны и достаточно дороги для перехода на некоторые другие облачные технологический стек.
В одном из наших производственных приложений у нас есть около миллиона объектов со средним размером на объект размером 1 КБ. Таким образом, общий размер данных составляет около ГБ, что не должно быть большим делом, не так ли? Вот результат работы надвального загрузчика после извлечения объектов из движка приложения по умолчанию:
[INFO] 948212 объектов (608342497 байт), переданных в 47722.7 секунд
Это почти 13 часов. Поэтому, если бы мы захотели создать почасовую систему резервного копирования для наших производственных данных, это было бы невозможно для текущего инструментария GAE.
Стоимость - это еще одна история. Я попытался использовать администратор хранилища данных для копирования объектов в другое приложение, которое, как я думал, мы могли бы использовать для резервного копирования. Сначала я определил бюджет на 2 доллара США в день, который быстро исчерпал около 5000 объектов, а затем увеличил бюджет до 10 долларов США в день, который закончился, не приближаясь к тиражированию миллионов объектов.
Я, очевидно, не собираюсь тратить 100 долларов каждый раз, когда мне нужно возвращать данные на 1 ГБ, и я не хочу ждать часов (или даже дней) только для того, чтобы мои данные были скопированы. Поэтому либо я ничего не знаю, либо Google App Engine в настоящее время просто непрактичным способом писать масштабируемые приложения для качественного производства, которые можно легко скопировать и восстановить.
Есть ли быстрый и экономичный способ резервного копирования данных из приложения GAE?