我有一个使用 spring wicket 和 sql-processor(类似于 mybatis)的 Web 应用程序,它与数据库一起使用。现在我想尝试将此应用程序部署到谷歌应用引擎。我读到 GAE 支持不是免费的 Google Cloud SQL,所以我不想使用它和 App Engine Datastore。所以我需要使用第二个。是否有一些教程如何将我现在使用 SQL 的数据库层重写为 GAE 的 NoSQL 数据存储?
问问题
328 次
1 回答
1
老实说 - 不。
这类似于问:我的代码是用 Java 编写的,是否有教程如何用 C 重写它?(我故意说从功能更多的语言迁移到功能更少的语言)
SQL 和 NoSQL 完全不同。您将遇到的第一个障碍是 NoSQL 的功能要少得多:查询更简单(没有跨表查询,没有 JOIN)和事务有限(必须在实体组或 XG 内,限制为跨越五个实体)。
所有这一切的结果是 NoSQL 需要一种不同的编码方法:访问优化方法与结构优化方法。简而言之:您编写代码以尽可能少的操作访问数据。这会导致数据库去规范化,即在多个地方写入相同的数据以更快地获取它。
因此,唯一的方法是获取有关 Datastore 的信息,然后手动迁移代码。或者找一个了解数据存储 NoSQL 并会为您完成工作的人。
于 2012-08-24T14:25:40.857 回答