【问题标题】:Google App Engine: Datastore not a traditional relation database. What is meant by this?Google App Engine:Datastore 不是传统的关系数据库。这是什么意思?
【发布时间】:2010-11-09 21:46:48
【问题描述】:

来自GAE getting started guide

因为 App Engine 数据存储区是 不是传统的关系数据库, 未使用 SQL 指定查询。 相反,您可以使用 一种类似 SQL 的查询语言,我们称之为 GQL。

他们所说的“不是传统的关系数据库”是什么意思?除了需要 GQL 而不是 SQL 之外,这还有什么含义。

【问题讨论】:

    标签: sql google-app-engine gql


    【解决方案1】:

    大约 1/10 的代码库用于同一项目,但可能需要更长的开发时间,因为您要处理新的、测试和预览软件。您不需要数据库构建脚本,不会混合一堆或不一致的 sql、php、java、xml(其中 0 在一种语言中表示错误,而不是另一种语言),其他重要的含义是我们不会拥有它老板们声称关系数据库是所有问题的解决方案,同一类型的不同实体可以有不同数量的属性,最相关的设计模式是“实体”,它也可以与 rdbms 一起使用,

    【讨论】:

      【解决方案2】:

      与关系数据库相比,它在功能上非常有限:没有连接、没有真正的数据完整性检查(例如唯一性 &c)、没有 GROUP BY 和聚合函数(例如 SUM 等)、仅在一个实体组内进行事务等,等等——很多不同。

      您不仅必须在应用程序级别做更多的事情(而不是在数据库中做),而且为了性能和可扩展性,您必须适当地对数据进行非规范化(有些人也在关系数据库中这样做,这是有争议的,但通常是不情愿的接受,但在 GAE 中是必须的)。网上许多优秀的文章和视频都深入探讨了“这有什么影响”的问题——例如,如果你对 Java 有足够的了解,this video 会有所帮助,等等。

      【讨论】:

      • 我是一名 java 开发人员,所以我最好了解足够多的 java 哈哈。我去看看视频 +1
      猜你喜欢
      • 2022-12-15
      • 1970-01-01
      • 2010-10-13
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多