将数据从SQL数据库移动到Google NDB的好策略是什么?

时间:2014-10-23 14:42:19

标签: google-cloud-datastore

你好网友们,

我想要导入我的GAE应用程序的SQL数据库(大约600MB)。我知道一种可能性就是简单地使用Google Cloud SQL,但我宁愿让NDB中的数据可用来获得它的好处。所以我想知道,我应该如何考虑将SQL模式转换为NDB无模式结构?我应该简单地设置Kinds来镜像每个表吗?我应该如何处理与不同表相关的外键?

任何指针都非常感谢! - 李

1 个答案:

答案 0 :(得分:1)

  1. 如何考虑将SQL架构转换为NDB无架构结构?
  2. 如果您计划将SQL数据传输到数据存储区,则需要考虑这两个系统的差异。

    1. 我应该只设置Kinds来镜像每张桌子吗?
    2. 在考虑进行此转移时,这样的简单类比只会让你到目前为止。在无模式数据库上思考SQL会因为实现上的差异而导致严重麻烦,即使一开始它有助于将Kind视为表,实体属性为列等等...简而言之,不,你应该不是简单地设置Kinds镜像每个表。您可以 ,但这取决于您希望在这些实体上支持哪种操作,这些操作发生的频率,系统依赖的查询类型等等。

      1. 我应该如何处理与不同表相关的外键?
      2. 老实说,如果您希望使用MySQL特定功能(如外键),或者您的数据模型需要大量重新思考。 “外键”可以与在某种实体中保持对另一种类的键引用一样少。

        如果您的数据存储解决方案已经构建在SQL中,我建议您坚持使用Cloud SQL,除非您愿意A)重新考虑您的整个数据模型B)实现新的数据模型C)传输您当前拥有的数据D)重新编码与数据存储交互的所有代码(除非使用ORM,在这种情况下,这方面的生活可能会更容易)。

        根据您的SQL数据库的复杂程度,迁移到数据存储区需要多长时间,以及您愿意花多少时间/精力去学习新系统和新的思维方式,您应该坚持使用SQL或执行上述步骤来重建数据存储解决方案。