我原型的iPhone应用程序,使用(内部)SQLite作为其数据的基础上。其目的是最终拥有它通过PHP服务器,该服务器将使用MySQL作为后端数据库进行通信。

我刚刚发现谷歌应用程序引擎,然而,却很少知道它。我认为这会是不错的使用Python接口写入到数据存储 - 但我知道很少GQL的能力。我已经使用MySQL基本上都写着工作数据库代码,对使用SQLite iPhone的内部测试。威尔GQL提供的功能相同的该SQL可以吗?我在网站上阅读,它不支持连接查询。也就是它真正的关系?

基本上,我想我的问题是可以在通常使用SQL后台工作一样好与谷歌的App Engine,与GQL的应用程序?

我希望这是明确的......任何指导是很大的。

有帮助吗?

解决方案

诚然,谷歌App Engine是一个非常酷的产品,但数据存储是一个不同的野兽比普通的MySQL数据库。这并不是说,你需要什么不能与GAE数据存储来实现;但是它可能需要您投入一些返工。

最突出的不同之处在于您注意到马上开始是GAE使用对象关系映射为它的数据存储方案。从本质上讲对象图持久保存在数据库中,保持有属性和关系到其他对象。在许多情况下,ORM(对象关系映射)映射相当不错的关系数据库的顶端(这是Hibernate的工作原理)。映射不是十全十美,你会发现,你需要作出改变,以保存数据。此外,GAE有一些独特的约束上是复杂的事情有点。一个contraint困扰我很多东西是不能够查询属性路径:例如“选择...其中dog.owner.name = '鲍勃'”。正是这些规则,迫使你阅读和理解你在跳之前GAE数据存储是如何工作的。

我觉得GAE可以在您的情况很好地工作。它只是可能需要一些时间来了解一般的ORM的持久性,并且在细节GAE数据存储。

其他提示

GQL在所有提供了几乎没有的功能;它仅用于SELECT查询,它的存在只是为了使编写SELECT查询的SQL程序员更容易。在幕后,将其转换你的查询db.Query对象。

在App Engine数据存储是不是在所有的关系数据库。你可以做一些东西,看起来关系的,但我对任何人的SQL背景的建议是避免GQL不惜一切代价避免掉入数据存储的陷阱都像一个RDBMS什么,忘记你知道数据库的一切设计。特别是,如果你是正火任何东西,你很快就会希望你没有。

我觉得这文章,应该可以帮助您。

  

<强>要点:云计算和软件开发用于手持设备是越来越多地被组合以创建混合解决方案两个非常热的技术。通过本文,了解如何连接谷歌应用程序引擎,谷歌的云计算产品,与iPhone,苹果的移动平台。您也将看到如何通过连接到App Engine的云计算和缓存使用开源库,TouchEngine,在iPhone上动态地控制应用程序的数据以供离线使用的数据。

这是一个非常通用的问题:)

简短的回答:是的。这将涉及到数据模型的重新思考,但肯定的,变化是可以与GAE数据存储API支持。

当你创建你的Python模型(想到这些表),您可以自定义其他型号引用(所以现在我们有一个外键)。当您选择此模式,你会回来的参考模型(很像一个连接)。

这将最有可能的工作,但它不是在更换一个MySQL服务器的下降。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top