来自GAE 入门指南
由于 App Engine 数据存储区不是传统的关系数据库,因此不使用 SQL 指定查询。相反,您可以使用我们称为 GQL 的类似 SQL 的查询语言来准备查询。
他们所说的“不是传统的关系数据库”是什么意思,除了需要 GQL 而不是 SQL 之外,这还有什么含义。
来自GAE 入门指南
由于 App Engine 数据存储区不是传统的关系数据库,因此不使用 SQL 指定查询。相反,您可以使用我们称为 GQL 的类似 SQL 的查询语言来准备查询。
他们所说的“不是传统的关系数据库”是什么意思,除了需要 GQL 而不是 SQL 之外,这还有什么含义。
与关系数据库相比,它在功能上非常有限:没有连接,没有真正的数据完整性检查(例如唯一性 &c),没有 GROUP BY 和聚合函数(例如 SUM 等),仅在一个实体组内进行事务等 - - 许多差异。
您不仅必须在应用程序级别做更多的事情(而不是在数据库中做),而且为了性能和可伸缩性,您必须适当地对数据进行非规范化(有些人也在关系数据库中这样做,这是有争议的,但通常不情愿地接受,但是在 GAE 中是必须的)。网上很多优秀的文章和视频都深入探讨了“这有什么影响”的问题——例如,如果你对 Java 有足够的了解,这个视频会有所帮助,等等。
大约 1/10 的代码库用于同一项目,但可能需要更长的开发时间,因为您正在处理一个新的、测试和预览软件。您不需要数据库构建脚本,不会混合一堆或不一致的 sql、php、java、xml(其中 0 在一种语言中表示错误,而不是另一种语言),其他重要的含义是我们不会拥有它老板声称关系数据库是所有问题的解决方案,同一类型的不同实体可以具有不同数量的属性,最相关的设计模式是“实体”,它也可以与 rdbms 一起使用,