从Google云sql迁移到数据存储区

时间:2015-02-12 18:04:13

标签: google-cloud-sql google-cloud-datastore

有一种简单的方法可以将大型(100G)Google云sql数据库迁移到Google数据存储区吗?

想到的方法是为每个数据库和表编写一个python appengine脚本,然后将其放入数据存储区。这听起来很乏味但也许必须要做?

旁注,我离开云sql的原因是因为我有jsp页面上有多个查询,即使使用d32 sql实例,它们也非常慢。我希望将它放入数据存储区会更快吗?

似乎有很多关于从数据存储区迁移到云sql的问题,但我找不到这个问题。

由于

2 个答案:

答案 0 :(得分:2)

以下是一些选项:

  1. 编写一个App Engine mapreduce [1]程序,该程序从Cloud SQL中以适当的块提取数据,然后写入数据存储区。
  2. 在Google Compute Engine上启动虚拟机并编写一个程序,从Cloud SQL获取数据并使用数据存储外部API [2]写入数据存储区。
  3. 使用数据存储区恢复[3]。我不熟悉格式,所以我不知道有多少工作可以生成恢复将接受的内容。
  4. [1] https://cloud.google.com/appengine/docs/python/dataprocessing/
    [2] https://cloud.google.com/datastore/docs/apis/overview
    [3] https://cloud.google.com/appengine/docs/adminconsole/datastoreadmin?csw=1#restoring_data

答案 1 :(得分:0)

我编写了几个脚本,在计算引擎上运行。

gcp datastore api
import googledatastore
这是代码:
https://gist.github.com/nburn42/d8b488da1d2dc53df63f4c4a32b95def

数据流api
来自apache_beam.io.gcp.datastore.v1.datastoreio import WriteToDatastore
这是代码:
https://gist.github.com/nburn42/2c2a06e383aa6b04f84ed31548f1cb09

我在达到100,000个实体后获得了配额超标,我还要再等一天再做一套。

希望这些对于数据库比我小的人有用。

(配额问题在这里 Move data from Google Cloud-SQL to Cloud Datastore

相关问题