将数据从Google数据存储(GAE)迁移到Google Cloud SQL

时间:2012-12-20 09:30:42

标签: google-app-engine cloud google-cloud-sql

我正在为我的应用程序使用Google Data Store,现在出于报告目的,我想将我的数据从GAE Data Store迁移到Google Cloud SQL。

我有哪些选择? (我有超过100k的条目,并且在被拒绝的工作中这样做需要很多时间)。

1 个答案:

答案 0 :(得分:1)

阅读您的问题,似乎您有两个部分的问题:1)将所有过去的数据一次性导出到Cloud SQL,2)设置某种定期的ETL过程以保持两个数据库同步。

对于一次性转储,基于阅读文档,您似乎有几个选项:

  1. Bulkloader to export all of your data用于CSV,然后将其加载到本地MySQL实例中,生成mysqldump并按this tutorial将其加载到Cloud SQL中或创建一个连接到Cloud SQL的脚本实例并一次加载一个事务数据。
  2. 以编程方式在应用程序内创建一个进程,以发布任务以将给定的数据片段写入Cloud SQL实例,以及另一个连接到Cloud SQL db并写入数据的工作者。
  3. 就个人而言,我会去bulkloader / local mysql / mysqldump路由,因为你没有在主应用程序中添加任何丢弃代码。如果出现任何问题,您可以清除Cloud SQL实例并重新启动。

    对于ETL部分,我建议使用任务队列路由,因为您将能够接近实时,但能够通过限制队列执行速度来控制成本。

    编辑:这篇文章可能很有趣 - 涵盖从GAE到另一个数据库的数据迁移:http://www-cs-students.stanford.edu/~silver/gae.html(有意义的内容是在咆哮部分之后......)