将Google App Engine数据存储导出到MySQL?

4

我们正在考虑将一些基础设施建立在Google App Engine上。但是我们担心如果它不能扩展,我们将来需要将数据导出并在自己的服务器上运行。

是否有一种方法可以从App Engine Datastore导出到MySQL?


4
你们自己的基础设施比谷歌的还要扩展?:s 但不管怎样,你们没有预先构建的方式,你们必须自己编写数据导出作为应用程序的一部分。 - leeeroy
1
GAE不是Google的基础设施。它只是他们允许你使用的一个子集。我不会指望它像Google的搜索服务一样可靠和有弹性。 - Vinko Vrsalovic
1
App Engine 被设计成可扩展的。 - Nick Johnson
1个回答

6
就数据导出而言,批量下载器就是为此而存在的。默认情况下,它会导出到CSV文件,但你可以编写自定义的Exporter类,直接将数据导出到MySQL数据库或其他所选格式。
同时,由于像AppScale、(我的项目)BDBDatastoreTwistedAE这样的项目,很快就可以托管备用的App Engine环境。
总的来说,我认为你的扩展性问题是没有根据的 - App Engine已经托管了许多接收高流量的应用程序,但这在一定程度上取决于您的应用程序及其需求。当然,我有偏见 - 我在App Engine团队中,所以请带着一颗谨慎的心来看待我的评估。;)

1
我要指出的是,如果您能编写程序以正确使用数据存储/BigTable,GAE就可以进行扩展。但是,如果您在Python中进行筛选或比较结果集的工作,而这是SQL可以在数据库中完成但BigTable无法完成的,或者如果您使用广泛的事务,则您的应用程序很可能会在单机LAMP堆栈上比在GAE上更好地进行扩展。 - Steve Jessop
因此,我的评论是“但这在一定程度上取决于您的应用程序及其需求”。就使用Python过滤内容而言,尽管它效率较低,但只有一个常数因子 - 在数据库中进行过滤仍然是相同的大O运行时间,因此如果在Python中无法扩展过滤,则在数据库中线性过滤也无法扩展。 - Nick Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接