你好网友们,
我想要导入我的GAE应用程序的SQL数据库(大约600MB)。我知道一种可能性就是简单地使用Google Cloud SQL,但我宁愿让NDB中的数据可用来获得它的好处。所以我想知道,我应该如何考虑将SQL模式转换为NDB无模式结构?我应该简单地设置Kinds来镜像每个表吗?我应该如何处理与不同表相关的外键?
任何指针都非常感谢! - 李
答案 0 :(得分:1)
如果您计划将SQL数据传输到数据存储区,则需要考虑这两个系统的差异。
在考虑进行此转移时,这样的简单类比只会让你到目前为止。在无模式数据库上思考SQL会因为实现上的差异而导致严重麻烦,即使一开始它有助于将Kind视为表,实体属性为列等等...简而言之,不,你应该不是简单地设置Kinds镜像每个表。您可以 ,但这取决于您希望在这些实体上支持哪种操作,这些操作发生的频率,系统依赖的查询类型等等。
老实说,如果您希望使用MySQL特定功能(如外键),或者您的数据模型需要大量重新思考。 “外键”可以与在某种实体中保持对另一种类的键引用一样少。
如果您的数据存储解决方案已经构建在SQL中,我建议您坚持使用Cloud SQL,除非您愿意A)重新考虑您的整个数据模型B)实现新的数据模型C)传输您当前拥有的数据D)重新编码与数据存储交互的所有代码(除非使用ORM,在这种情况下,这方面的生活可能会更容易)。
根据您的SQL数据库的复杂程度,迁移到数据存储区需要多长时间,以及您愿意花多少时间/精力去学习新系统和新的思维方式,您应该坚持使用SQL或执行上述步骤来重建数据存储解决方案。