Минусы и плюсы хранилища данных GoogleApps

За последние пару недель я больше читал о Google AppEngine и изучил python, включая работу с MongoDB. Больше всего мне нужно масштабируемое решение для базы данных. До знакомства с Google AppEngine единственными тремя решениями для БД, которые я считаю полезными, являются DynamoDB, MongoDb и BigCouch.

Я узнал, что мне действительно нравится язык python, и для одного из разработчиков ASP.NET я решил переключиться и разработать свое приложение с использованием python. Моим первым выбором было разработать приложение с использованием python + Bottle + mongoDB. Проблема в том, что DynamoDB стоит очень дорого, а отсутствие простых в использовании вариантов резервного копирования/восстановления вынудило меня отказаться от предложения Amazon.

Хранилище данных Google AppEngine намного доступнее. Однако я до сих пор не могу найти информацию по какому-то конкретному вопросу на веб-сайте Google.

Вот некоторые из вопросов, на которые мне нужен ответ:

  • Поддерживает ли Google Datastore резервное копирование/восстановление в административной консоли?
  • Если я хочу сделать резервную копию/восстановить 50 ТБ данных, сколько времени потребуется для резервного копирования/восстановления данных? Где он хранится? каковы затраты?
  • Сколько времени требуется, например, для резервного копирования 1 ТБ данных?
  • Поддерживает ли DataStore кэширование на уровне базы данных?
  • Есть ли минусы, о которых я должен знать?

Те некоторые из вопросов, на которые мне нужно получить ответы. MongoDB — отличный продукт, а разработка веб-приложений с использованием Mongo + Python + Bottle — это весело и весело. Однако я предпочитаю полное решение с размещением в БД, подобное тому, которое предлагает Google. Но прежде чем я это сделаю, мне нужно убедиться, что я ничего не упускаю.


person Idan Shechter    schedule 24.10.2012    source источник
comment
Если вы используете NDB, хранилище данных автоматически применит уровень кэширования.   -  person Paul Collingwood    schedule 24.10.2012


Ответы (1)


Вот некоторые из вопросов, на которые мне нужен ответ:

Поддерживает ли Google Datastore резервное копирование/восстановление в административной консоли?

Нет. Да. Вы можете создавать резервные копии и восстанавливать данные из консоли администрирования, включив datastore_admin для приложения (спасибо Идану Шехтеру за указание на это!) Дополнительную информацию можно найти здесь: https://developers.google.com

Вы также можете загрузить данные через командную строку. См.: https://developers.google.com/appengine/docs/python/tools/uploadingdata

Если я хочу сделать резервную копию/восстановить 50 ТБ данных, сколько времени потребуется для резервного копирования/восстановления данных?

Это зависит от того, где вы создаете резервную копию данных. Резервное копирование в хранилище Blobstore или Google Cloud, вероятно, займет гораздо меньше времени, чем резервное копирование на локальный компьютер. Перенос 50 ТБ на локальный компьютер займет много времени и зависит от многих факторов, включая скорость сети.

Где он хранится?

Если вы используете администрирование хранилища данных, вы можете создавать резервные копии в Blobstore или в Google Cloud Storage. Если вы используете инструменты командной строки, они будут храниться там, где вы выберете для загрузки данных.

каковы затраты?

Blobstore стоит 0,13 доллара США за ГБ в месяц и дает вам 5 ГБ бесплатно. Google Cloud Storage стоит 0,12 доллара США за ГБ в месяц до первого ТБ. Дополнительную информацию о ценах на Cloud Storage можно найти здесь: https://developers.google.com/storage/docs/pricingandterms

Стоимость полосы пропускания составляет 0,12 доллара США за ГБ (первый ГБ предоставляется бесплатно). Подробнее о ценах можно узнать здесь: https://cloud.google.com/pricing/.

Сколько времени требуется, например, для резервного копирования 1 ТБ данных?

Опять же, это зависит от того, где вы выполняете резервное копирование, и от скорости передачи.

Поддерживает ли DataStore кэширование на уровне базы данных? Какие-либо минусы, о которых мне следует знать?

Нет, он не поддерживает кэширование уровня базы данных.

person Aaron Hampton    schedule 25.10.2012
comment
Я думаю, вы ошибаетесь, есть экспериментальный вариант резервного копирования/восстановления данных, который я нашел очень полезным. И вы можете сделать резервную копию данных в удаленном месте в инфраструктуре Google: developers.google.com/appengine /docs/adminconsole/ - person Idan Shechter; 27.10.2012
comment
Спасибо! Я обновил ответ, включив в него информацию об администраторе хранилища данных. - person Aaron Hampton; 27.10.2012
comment
Спасибо. Я действительно изучаю их решение. NoSQL с возможностью хранения терабайт данных с резервным копированием и восстановлением, такого никто не предлагает, никто. - person Idan Shechter; 27.10.2012