Миграция из облачного хранилища данных Google в Google Cloud SQL - PullRequest
0 голосов
/ 01 мая 2018

Мы используем Google Cloud Datastore для нашего приложения Google App Engine (GAE). Во время реконструкции нашего проекта мы хотим перенести нашу БД в Google Cloud SQL из хранилища данных.

У нас есть около 1 ТБ данных в хранилище данных, исключая индексы.

Как перейти с Datastore на Cloud SQL, есть ли для этого доступные решения с открытым исходным кодом.

Я проверил следующее https://cloud.google.com/datastore/docs/export-import-entities, что не полезно для переноса данных между хранилищем данных и sql

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Есть разные пути для управления этим, я думаю, что самый простой из них - сделать то, что сказал Джим Моррисон, использовать шаблон хранилища данных Cloud для JSON. Также с таким подходом есть различные возможности:

Сначала загрузите общедоступный шаблон на локальный компьютер с помощью этой команды:

 gsutil cp gs://dataflow-templates/latest/Datastore_to_GCS_Text .

(будьте осторожны, не удаляйте последнее. Вы можете перейти в каталог, в который хотите его скачать)

Затем, как объясняет вам Джим Моррисон в своем ответе, отредактируйте загруженный файл и измените параметры шаблона своими собственными [1] .

Когда это будет сделано, снова загрузите его в свое ведро. Например:

gsutil cp Datastore_to_GCS_Text gs://datastore_to_cloudsql/template/

И затем вы можете запустить задание с помощью консоли GCP (путем создания задания из шаблона с помощью пользовательского шаблона) [2]

Если у вас есть файл JSON, преобразуйте его в CSV и импортируйте в облачный SQL [3] . Также, возможно, вы захотите добавить функцию, так как параметры шаблона позволяют [1] напрямую преобразовывать экспортируемые данные в формат CSV, а не в файл JSON.

Предоставленный формат JSON представляет собой документ, заполненный строками, подобными этой, которые я отформатировал, чтобы сделать его более понятным:

{
  "key":{"partitionId":{"projectId":"MY_PROJECT_ID"},
  "path":[{"kind":"MY_KIND_NAME","id":"4814888656437248"}]},
  "properties":{
    "MY_FIRST_COLUMN":{"integerValue_FOR_EXAMPLE":"3_INT_VALUE_EXAMPLE"},
    "SECOND_COLUMN":{"stringValue_FOR_EXAMPLE":"foobarfoobarfoobar_FOR_EXAMPLE"},
    "THIRD_COLUMN":{"stringValue_FOR_EXAMPLE":"foobar_FOR_EXAMPLE"}
  }
}

1: https://cloud.google.com/dataflow/docs/templates/provided-templates#cloud-datastore-to-cloud-storage-text

2: https://cloud.google.com/dataflow/docs/templates/executing-templates#using-the-gcp-console

3: https://cloud.google.com/sql/docs/mysql/import-export/importing#importing_csv_files_to_title_short

0 голосов
/ 02 мая 2018

Можно использовать шаблон потока данных Cloud Datastore в JSON для экспорта в файлы JSON, а затем запустить сценарий для чтения файлов JSON в облако sql.

...