gpt4 book ai didi

google-app-engine - 如何在 Google 的数据存储中为实体建模

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:13 26 4
gpt4 key购买 nike

与关系数据库引擎不同,Google 的 App Engine 使用的数据存储不强制执行模式 - 它存储具有各种属性的实体,而不是行和列。尽管如此,是否还应该使用传统的数据库设计?

例如,假设我有一个跟踪各种租赁车辆的应用程序。在传统数据库中,我可能有一个 Buses 表,它跟踪车队中每辆公共(public)汽车的长度和座位数,以及 Trucks,它有一列用于每辆卡车的负载能力和马力。每辆公共(public)汽车和卡车也有颜色和车牌号。 (如果我想规范化数据库,我可以在 Vehicle 表中分解这些属性)。

在 Google 的数据存储中,我很想简单地将公共(public)汽车和卡车存储为 Vehicle 实体,因为它们共享共同的属性,并添加特定于车辆类型的任何属性。

使用传统数据库模型(其中每个 Datastore 实体代表一个数据库表)有哪些优点/缺点?

将大型实体分解为较小的实体是否更有效?

编辑:

此外,关于使用哪个 API 的任何建议:JDO、JPA 或 Datastore 低级 API?

谢谢!

最佳答案

您根本不应该考虑表格。想想实体。 The documentation指出:

Datastore entities are schemaless: Two entities of the same kind are not obligated to have the same properties, or use the same value types for the same properties. The application is responsible for ensuring that entities conform to a schema when needed.

最佳性能通常是通过对数据进行反规范化来实现的。因此,您最好使用两种不同的实体类型,BusTruck,而忽略它们共享某些属性这一事实。

关于google-app-engine - 如何在 Google 的数据存储中为实体建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com